如何使用geojson和形状确定点是否在多边形内

时间:2019-08-30 13:31:57

标签: python polygon geojson 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)

我希望打印出包含的坐标,但是什么也没打印。

1 个答案:

答案 0 :(得分:1)

您需要在以下位置交换Point()的值:

point = Point(-74.005974, 40.712776)

您使用的数据集在其坐标中具有经度第一和纬度第二。