我有一个像这样的坐标列表:
[
-79.763635,
42.257327
],
[
-73.343723,
45.046138
],
[
-74.006183,
40.704002
],
[
-79.763635,
42.257327
]
我想知道SomeLat,SomeLong是否在这些预定义的边界内。
我使用了shapely.geometry
,但json必须以某种方式配置才能创建shape
(我无法更改json)。
判断我提供的点是否在这些定义的边界内的最佳方法是什么
答案 0 :(得分:2)
您可以将列表/元组列表传递给它:
>>> from shapely.geometry import Point, Polygon
>>> bbox = [ (0, 0), (0,2), (2,2), (2,0)]
>>> poly = Polygon(bbox)
>>> point = Point(1, 1)
>>> poly.contains(point)
True
答案 1 :(得分:0)
我不确定这是否是最好的方法,但这就是我要做的事情。我会识别构成多边形边界的所有点,这些点可以从您拥有的数据中获得。然后我将每两个共享相同经度坐标的边界极端纬度坐标拉在一起。最后一组应该是经度坐标列表及其相应的纬度范围,您可以循环确定一个点是否在多边形中。