持续更新中...
有时候想将一些地址投影到地图上,比如统计某个领域的研究机构的位置。在Dimensions里面检索到的文献结果提供了作者的机构名称,因此可以通过机构名称来查询他的地理位置:经纬度。
geopy
geopy可以实现一些有关地理位置等的在线查询
地址→经纬度
用下列的示例代码即可实现
# -*- coding:utf-8 -*-
from geopy.geocoders import Nominatim
address = "KIEL"
gps = Nominatim()
location = gps.geocode(address)
print(location.longitude, location.latitude)
注意:上面这段代码运行后会有一个有关代理设置的提醒。这个是因为
Nominatim
初始化的时候没有设置代理的原因,其官网上有说明,为了防止过多request而被屏蔽IP地址,需要设置代理或者间隔一定时间(建议五秒);对不不是大量获取地理信息的用户,一秒钟最多只能request一次。
UserWarning: Using Nominatim with the default "g
eopy/1.17.0" `user_agent` is strongly discouraged, as it violates Nominatim's ToS https://operations.osmfoundation.org/policies/nominatim/ and may p
ossibly 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.