我正在使用纽约市出租车数据集。数据集的列包括日期时间,拾取纬度/经度,下降纬度/经度等。现在我想反向对纬度/经度进行地理编码以找到行政区/邻域。我遇到了geopy
,发现这样的事情很完美:
from geopy.geocoders import Nominatim
geolocator = Nominatim()
borough = []
loc = ['40.764141, -73.954430', '40.78993085, -73.9496098723']
for l in loc:
sub = str(geolocator.reverse(l))
borough.append(sub.split(', ')[2])
borough
## ['Upper East Side', 'East Harlem']
这很完美,正是我想要的。但是,我的数据集有几百万行,由于这是一个在线API,因此不可行。有没有更好的方法来实现这一目标?
答案 0 :(得分:1)
您可以尝试Reverse Geocoder,因为我相信它可以提供您需要的功能 它需要一个纬度/经度坐标并返回(离线)最近的城镇/城市,国家,行政1& 2个地区。
答案 1 :(得分:-1)
查看this answer以获得更好的方法。但是,您可能必须为形状定义自己的多边形。