Python 找到构成邻里区域的每个点的纬度和经度?
我试图找到一个特定社区边界上每个点的经纬度。例如,我尝试使用geopy,当我输入一个特定的邻域时,它会返回一对坐标。我想收到一份坐标表,列出一个特定的社区 具体来说,我正在努力获取纽约曼哈顿的社区信息 谢谢Python 找到构成邻里区域的每个点的纬度和经度?,python,pandas,api,google-maps,geopy,Python,Pandas,Api,Google Maps,Geopy,我试图找到一个特定社区边界上每个点的经纬度。例如,我尝试使用geopy,当我输入一个特定的邻域时,它会返回一对坐标。我想收到一份坐标表,列出一个特定的社区 具体来说,我正在努力获取纽约曼哈顿的社区信息 谢谢 from geopy.geocoders import Nominatim geolocator = Nominatim() location = geolocator.geocode('Gramercy NYC') print(location) 输出: 地点(美国纽约州纽约市纽约县
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode('Gramercy NYC')
print(location)
输出:
地点(美国纽约州纽约市纽约县曼哈顿社区委员会6号曼哈顿格拉梅西,(40.7355189,-73.9840794,0.0))
我得到一组坐标,我想要多个。我不知道
geopy
能提供这一点
您真正需要的是针对您感兴趣的地理位置的形状文件。美国人口普查局为不同类型的地理区域提供了其中的几个:。由于您的问题与纽约市有关,我们可以使用由提供的shapefile
使用NYU GeoJSON文件:
import geopandas
df = geopandas.read_file('nyu-2451-34561-geojson.json')
df[df.ntaname == 'Gramercy'].geometry
#54 (POLYGON ((-73.97849845639804 40.7367909565254...
#Name: geometry, dtype: object
这些几何图形非常有用,因此您可以访问一些有用的属性,例如,您可以将所有内容估计为矩形,而不是使用多边形:
df[df.ntaname == 'Gramercy'].geometry.bounds
# minx miny maxx maxy
#54 -73.989967 40.73135 -73.978052 40.743325
# Or get the full boundary:
df[df.ntaname == 'Gramercy'].geometry.boundary
#54 (LINESTRING (-73.97849845639804 40.73679095652...
#dtype: object
如果在jupyter笔记本上工作,你可以感受到形状:
df[df.ntaname == 'Gramercy'].geometry.item()
M
geopy类别支持返回完整的几何数据,而不是单个点:
来自geopy.geocoders导入提名
geolocator=Nagnitm(user\u agent=“在此处指定您的应用程序名称”)
位置=地理定位器。地理代码('Gramercy NYC',geometry='wkt')
几何体=位置。原始['geotext']
几何图形将包含以下内容:
'POLYGON((-73.9901251 40.7377992,-73.9869574 40.736466,-73.9887732 40.7339641,-73.9825505 40.7313605,-73.9785138 40.7368725,-73.9847526 40.7395063,-73.9856806 40.7382199,-73.9873061 40.7389028,-73.9877245 40.7383154,-73.9897603 40.7391731,-73.9901251 40.7377992))'
支持的几何图形格式有wkt
、svg
、kml
和geojson
。有关更多详细信息,请参阅
您也可以考虑先在页面上尝试查询,这就提供了一个方便的Web界面,可以显示这些几何图形。