正确使用GeoPy命题法

时间:2018-10-01 23:44:47

标签: python

我是编程的新手,并且正在使用编程教程,其中说要像这样使用geopy

import pandas, os, geopy from geopy.geocoders import Nominatim GeoLocator = Nominatim()

但是在最后一行之后,我得到了这个错误:

/usr/local/lib/python3.7/site-packages/geopy/geocoders/osm.py:143:用户警告:将Nominatim与默认的“ geopy / 1.17.0”一起使用user_agent强烈建议不要这样做,因为它违反了Nominatim的ToS https://operations.osmfoundation.org/policies/nominatim/,并可能导致403和429 HTTP错误。请使用user_agent或通过覆盖默认的Nominatim(user_agent="my-application")user_agent指定自定义geopy.geocoders.options.default_user_agent = "my-application"。在geopy 2.0中,这将是一个例外。   用户警告

我的问题是,我应该如何更改代码以解决此错误?

2 个答案:

答案 0 :(得分:2)

nom = Nominatim(user_agent="http") 您必须提及您的useragent(HTTP),它只是关于IP地址的信息

答案 1 :(得分:0)

您应该指定一个user_agent。 Nominatum服务在容量有限的捐赠服务器上运行,因此指定用户代理字段可使Open Street Map更加轻松地跟踪谁在使用其服务。请参阅此处以获取更详细的答案。

https://gis.stackexchange.com/q/293615/129255

如果您不这样做,他们可能会阻止您的IP地址访问该服务,因为这将违反他们的服务条款。