有没有人知道Python中用于返回美国状态的离线方法,给定一个纬度/经度对? 我需要运行700k + lat / lon对,因此Google的API不合适。
Lat / Lon值存储在数据框中,但可以在此处视为列表。
示例:
lat_vals = [32]
lon_vals = [-109]
for lat, lon in zip(lat_vals, lon_vals):
get_state(lat, lon)
>>> NM
答案 0 :(得分:1)
由于您拥有大量数据,您可能需要考虑使用PostGIS对您的数据进行一些分析。即使您尝试将其与OGR GDAL一起使用,Python也没有任何用于进行空间分析的好工具。
最好的办法是设置一个基本的PostgreSQL& PostGIS数据库,使用Quantum GIS在数据库中加载shapefile (数据库>> Spit>>将Shapefile导入PostgreSQL)
然后,您可以运行这些基本的SQL命令来提取数据。
SELECT states.name, points.name
FROM states, points
WHERE ST_Contains(states.geom, points.geom)
要获取USA States shapefile数据,请转到Tiger Census Data页面。
如果要在数据全部加载后使用Python,可以使用psycopg2连接到数据库。
我希望这有帮助,而不是一个简单的解决方案。