为什么不会在这一点上匀称地分割我的线?

问题描述

我有一个很长的线串,我在线串上得到了 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时髦的商业正在进行中。

enter image description here

解决方法

事实证明这是一个浮点不精确问题,我在应用 .buffer() 之前添加了最小的 .split()