我现在有 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
谁能帮我求出该点的垂直距离?