2020-05-09
PolyLine修复以及测试
PolyLine的问题主要在于有可能在PolyLine生成的时候给重复点进去,从而导致一系列几何有关segment的计算问题:
- 向量计算,两个重复点计算出零向量
- 长度计算,segment长度为0,很容易出Nan问题
于是在构造PolyLine时,对PolyLine中的点进行检查,如果有发现重复点,就抛出异常
检查出下列问题:
Jts中getEnd出现问题
Jts LinearLocation会存在normalize的问题
val loc1 = new LinearLocation(0, 1, 1.0) val loc2 = new LinearLocation(0, 2, 0.0) loc1 compareTo loc2 // the output is -1Interpolate的时候有可能会取到两个过于近的点