【发布时间】:2021-01-12 17:24:40
【问题描述】:
我有一组坐标,想从中创建一个多边形,然后,我将输入 lat & long 并检查给定的坐标是在多边形内部还是外部。
我尝试使用 Shapely 绘制多边形,但在某种程度上是正确的。我的坐标:
coords = [(48.9276684941938, 9.148899187374205),
(48.927881447105676, 9.148709214807226),
(48.928097614085175, 9.148527808307),
(48.92831656589233, 9.148354454524537),
(48.92853801299333, 9.14818847255271),
(48.92876304120666, 9.148030296534815),
(48.92899058574909, 9.147880813070733),
(48.929220004856425, 9.147737925539758),
(48.92945050690533, 9.147599646704602),
(48.92970963088016, 9.147448804345393),
(48.929969642221785, 9.147302124446165),
(48.930230552830835, 9.147158909183357),
(48.93049212225262, 9.147018600375391),
(48.931016778198384, 9.146744181554437),
(48.93154237676336, 9.146473988125043),
(48.9276684941938, 9.148899187374205),
(48.927881447105676, 9.148709214807226),
(48.928097614085175, 9.148527808307),
(48.92831656589233, 9.148354454524537),
(48.92853801299333, 9.14818847255271),
(48.92876304120666, 9.148030296534815),
(48.92899058574909, 9.147880813070733),
(48.929220004856425, 9.147737925539758),
(48.92945050690533, 9.147599646704602),
(48.92970963088016, 9.147448804345393),
(48.929969642221785, 9.147302124446165),
(48.930230552830835, 9.147158909183357),
(48.93049212225262, 9.147018600375391),
(48.931016778198384, 9.146744181554437),
(48.93154237676336, 9.146473988125043),
(48.9276684941938, 9.148899187374205),
(48.927881447105676, 9.148709214807226),
(48.928097614085175, 9.148527808307),
(48.92831656589233, 9.148354454524537),
(48.92853801299333, 9.14818847255271),
(48.92876304120666, 9.148030296534815),
(48.92899058574909, 9.147880813070733),
(48.929220004856425, 9.147737925539758),
(48.92945050690533, 9.147599646704602),
(48.92970963088016, 9.147448804345393),
(48.929969642221785, 9.147302124446165),
(48.930230552830835, 9.147158909183357),
(48.93049212225262, 9.147018600375391),
(48.931016778198384, 9.146744181554437),
(48.93154237676336, 9.146473988125043),
(48.9276684941938, 9.148899187374205),
(48.927881447105676, 9.148709214807226),
(48.928097614085175, 9.148527808307),
(48.92831656589233, 9.148354454524537),
(48.92853801299333, 9.14818847255271),
(48.92876304120666, 9.148030296534815),
(48.92899058574909, 9.147880813070733),
(48.929220004856425, 9.147737925539758),
(48.92945050690533, 9.147599646704602),
(48.92970963088016, 9.147448804345393),
(48.929969642221785, 9.147302124446165),
(48.930230552830835, 9.147158909183357),
(48.93049212225262, 9.147018600375391),
(48.931016778198384, 9.146744181554437),
(48.93154237676336, 9.146473988125043),
(48.92770214317435, 9.14898338362773),
(48.92791356880573, 9.148794765833149),
(48.92812829266924, 9.148614547378457),
(48.92834590048043, 9.14844222176487),
(48.928566113985696, 9.148277117808037),
(48.92878946335235, 9.148120067839535),
(48.929015676775194, 9.147971398151217),
(48.92924412032041, 9.147829052791057),
(48.92947400781438, 9.147691074306037),
(48.929732441980185, 9.147540555874041),
(48.92999185500086, 9.147394137713535),
(48.93025226040877, 9.147251128456126),
(48.93051341950752, 9.147110975575266),
(48.931037543721, 9.146836738790197),
(48.931563000656055, 9.146566582017199),
(48.92770214317435, 9.14898338362773),
(48.92791356880573, 9.148794765833149),
(48.92812829266924, 9.148614547378457),
(48.92834590048043, 9.14844222176487),
(48.928566113985696, 9.148277117808037),
(48.92878946335235, 9.148120067839535),
(48.929015676775194, 9.147971398151217),
(48.92924412032041, 9.147829052791057),
(48.92947400781438, 9.147691074306037),
(48.929732441980185, 9.147540555874041),
(48.92999185500086, 9.147394137713535),
(48.93025226040877, 9.147251128456126),
(48.93051341950752, 9.147110975575266),
(48.931037543721, 9.146836738790197),
(48.931563000656055, 9.146566582017199),
(48.92770214317435, 9.14898338362773),
(48.92791356880573, 9.148794765833149),
(48.92812829266924, 9.148614547378457),
(48.92834590048043, 9.14844222176487),
(48.928566113985696, 9.148277117808037),
(48.92878946335235, 9.148120067839535),
(48.929015676775194, 9.147971398151217),
(48.92924412032041, 9.147829052791057),
(48.92947400781438, 9.147691074306037),
(48.929732441980185, 9.147540555874041),
(48.92999185500086, 9.147394137713535),
(48.93025226040877, 9.147251128456126),
(48.93051341950752, 9.147110975575266),
(48.931037543721, 9.146836738790197),
(48.931563000656055, 9.146566582017199),
(48.92770214317435, 9.14898338362773),
(48.92791356880573, 9.148794765833149),
(48.92812829266924, 9.148614547378457),
(48.92834590048043, 9.14844222176487),
(48.928566113985696, 9.148277117808037),
(48.92878946335235, 9.148120067839535),
(48.929015676775194, 9.147971398151217),
(48.92924412032041, 9.147829052791057),
(48.92947400781438, 9.147691074306037),
(48.929732441980185, 9.147540555874041),
(48.92999185500086, 9.147394137713535),
(48.93025226040877, 9.147251128456126),
(48.93051341950752, 9.147110975575266),
(48.931037543721, 9.146836738790197),
(48.931563000656055, 9.146566582017199)]
代码:
from shapely.geometry import Point, Polygon
poly = Polygon(coords)
poly
我想将坐标作为输入传递并返回坐标是否在给定坐标内。
【问题讨论】:
-
一种方法是计算所有点的凸包,无论是否包含相关点。如果该点在多边形内,则凸包将是相同的。
标签: python geometry polygon shapely