如何使用 geojson 和 shapely 确定一个点是否在多边形内
how to determine if a point is inside a polygon using geojson and shapely
我希望在地图上创建一个区域并能够自动确定点(坐标)是否在该区域内。在这个例子中,我使用了整个美国的 geojson 文件和纽约市的坐标。
Geojson:https://github.com/johan/world.geo.json
我已阅读完备的文档,但无法弄清楚为什么我的结果返回 False。任何帮助将不胜感激。
import json
from shapely.geometry import shape, GeometryCollection, Point
with open('USA.geo.json', 'r') as f:
js = json.load(f)
point = Point(40.712776, -74.005974)
for feature in js['features']:
polygon = shape(feature['geometry'])
if polygon.contains(point):
print ('Found containing polygon:', feature)
我希望打印包含的坐标,但没有打印任何内容。
您需要交换 Point()
的值:
point = Point(-74.005974, 40.712776)
您使用的数据集在其坐标中首先是经度,其次是纬度。
我希望在地图上创建一个区域并能够自动确定点(坐标)是否在该区域内。在这个例子中,我使用了整个美国的 geojson 文件和纽约市的坐标。
Geojson:https://github.com/johan/world.geo.json
我已阅读完备的文档,但无法弄清楚为什么我的结果返回 False。任何帮助将不胜感激。
import json
from shapely.geometry import shape, GeometryCollection, Point
with open('USA.geo.json', 'r') as f:
js = json.load(f)
point = Point(40.712776, -74.005974)
for feature in js['features']:
polygon = shape(feature['geometry'])
if polygon.contains(point):
print ('Found containing polygon:', feature)
我希望打印包含的坐标,但没有打印任何内容。
您需要交换 Point()
的值:
point = Point(-74.005974, 40.712776)
您使用的数据集在其坐标中首先是经度,其次是纬度。