弃用警告:默认使用nominatim

时间:2020-06-17 13:20:55

标签: python python-3.x geopy

webmap.py:5: DeprecationWarning: Using Nominatim with the default "geopy/1.22.0" `user_agent` is strongly discouraged, as it violates Nominatim's ToS 
https://operations.osmfoundation.org/policies/nominatim/ and may possibly cause 403 and 429 HTTP errors. 
Please specify a custom `user_agent` with `Nominatim(user_agent="my-application")` or by overriding the default `user_agent`: 
`geopy.geocoders.options.default_user_agent = "my-application"`. 
In geopy 2.0 this will become an exception.
  nom=Nominatim()

当我在使用命令提示符编译的记事本中运行该警告时,将显示以上警告,但是当我使用Jupiter笔记本时,该警告会显示,但会继续显示并显示结果。这是我的代码:

from geopy.geocoders import Nominatim

def map_coordinates(): 
    address = str(input("enter the street name and city seperated by :"))
    nom = Nominatim()
    c = nom.geocode(address)
    return (c.latitude, c.longitude)

z, x = map_coordinates()

我正在使用上面的代码将字符串(地址)转换为坐标。请帮助我解决以上警告,或者如果有其他方法可以执行相同的过程,请告诉我。

1 个答案:

答案 0 :(得分:0)

我的问题是,当我在命令提示符下运行上述程序时,它不提供字符串的位置(坐标)。它在警告时停止。

““ Nominatim地理编码器的正确调用可以在这里找到:geopy.readthedocs.io/en/1.22.0/#module-geopy.geocoders”-@ KostyaEsmukov

上述调用方法对我也不起作用。 它会发出相同的警告,并且不会继续。