问题描述
如果该多边形中有坐标,我现在有 n 个坐标,我可以从中创建一个多边形,那么我如何找到点和多边形的垂直距离?
coords = [(45.888106581826065,8.512891340789281),(45.89087605100282,8.51131888355673),(45.89242907135495,8.51043574866833),(45.88810733356788,8.512894063368899),(45.890876868519385,8.51132182341189),(45.892063379278696,8.510647148893547),(45.89243094789967,8.510442653438174),(45.88811958097381,8.512938419782168),(45.89088904461223,8.51136560966078),(45.89207575921023,8.510692030810025),(45.89244290698806,8.51048665710127),(45.88813186579548,8.512982911786311),(45.89090145183551,8.511410227156235),(45.89245416375836,8.510528076647585),(45.88813271861146,8.512986000437545),(45.89090242476677,8.511413725908412),(45.89245495631277,8.510530992872562)]
需要检查的点是否在多边形中:
p2 = Point(45.88831,8.51283)
检查坐标(p2
)是否在多边形中:
poly = MultiPoint(coords).convex_hull
if p2.within(poly):
print("Givien point is in polygon")
我尝试使用 boundary.distance
函数求距离,得到的结果为 4.7144012366024
但不确定它是垂直距离还是其他什么!
print(poly.boundary.distance(p2))
#output: 4.71440123660249
谁能帮我得到点的垂直距离?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)