边界点来自一组坐标

时间:2017-06-21 19:46:50

标签: python scipy geospatial

我有一组lat,长点,从这一点我想提取构成边界的点,我使用了凸包,但对于我的purpouse是不够的,因为transferhull只是返回最远的形成所有点适合的多边形的点,我需要所有形成掠夺者的点,就像我附加的图像。我能做什么?是否有某种包可以使用而不是实现任何空间算法? 谢谢  enter image description here

3 个答案:

答案 0 :(得分:1)

您必须使用凸多边形包。下面是一个例子:

import alphashape
import matplotlib.pyplot as plt

points = put your points here (can be array)!
alpha = 0.95 * alphashape.optimizealpha(points)
hull = alphashape.alphashape(points, alpha)
hull_pts = hull.exterior.coords.xy

fig, ax = plt.subplots()
ax.scatter(hull_pts[0], hull_pts[1], color='red')   

答案 1 :(得分:-1)

假设你有两个LATS,LONGS列表中的所有点(纬度和经度),这个python片段可以解决问题。 hullPoint将具有可以绘制凸包的点集。

import numpy as np
from scipy.spatial import ConvexHull
allPoints=np.column_stack((LATS,LONGS))
hullPoints = ConvexHull(allPoints)

答案 2 :(得分:-1)

改用凹形船体(Alpha形状)。