问题描述
我有一个很长的线串,我在线串上得到了 2 个点,形状为最接近的点。这似乎工作正常但是调用 .split()
与线和最近的点之一作为 args 返回原始对象,没有拆分。这是为什么?
shapely_track = wkt.loads(act.track.wkt)
shapely_seg = wkt.loads(seg.track.wkt)
startpoint,endpoint = shapely_seg.boundary
segment_start,point = nearest_points(shapely_track,startpoint)
segment_end,endpoint)
splitted = split(shapely_track,segment_start)
#splitted_again = split(splitted[1],segment_end)
print(len(splitted))
>>>1
从视觉上看,一切都很好,因为我用最近点得到了它们,所以点就行了,nu时髦的商业正在进行中。
解决方法
事实证明这是一个浮点不精确问题,我在应用 .buffer()
之前添加了最小的 .split()
点