这是显示如何将经度和纬度的点映射到邻域的示例。第一步是找到具有邻域边界坐标的geojson文件。
读取geojson文件:
`
import json
from shapely.geometry import shape, Point
with open('new_dcneighorhoodboundaries.json') as f:
js = json.load(f)
`
使用以下函数迭代每一行:
def find_neighborhood(js,point):
# check each polygon to see if it contains the point
i=0
for feature in js['features']:
polygon = shape(feature['geometry'])
if polygon.contains(point):
return(feature['properties']['id'])
在for循环中使用该函数来标识每个条目/行的邻域:
X=[]
for i in range(0,len(df)):
pt=Point(df.iloc[i][21],df.iloc[i][20])
a=find_neighborhood(js=js,point=pt)
X.append(a)
请记住,您可能必须根据geojson文件的结构对以上代码进行更改。您可以使用以下代码来窥探geojson文件:
import json
from pprint import pprint
with open('new_dcneighorhoodboundaries.json') as f:
data = json.load(f)
pprint(data)
PS:虽然上面的方法是用于邻域的,但是可以将其推断为任何形状(城市/州等)