2020-05-09

Corrección y pruebas de PolyLine

El problema principal de PolyLine radica en la posibilidad de que se introduzcan puntos duplicados durante la generación, lo que provoca una serie de problemas en los cálculos geométricos relacionados con segmentos:

  1. Cálculo de vectores: dos puntos duplicados generan un vector nulo.
  2. Cálculo de longitud: la longitud del segmento es 0, lo que fácilmente resulta en valores NaN.

Por lo tanto, al construir PolyLine, se verifica cada punto; si se encuentra un punto duplicado, se lanza una excepción.

Se detectaron los siguientes problemas:

  • Problema con getEnd en Jts.

  • Problema de normalización en LinearLocation de Jts.

    val loc1 = new LinearLocation(0, 1, 1.0)
    val loc2 = new LinearLocation(0, 2, 0.0)
    
    loc1 compareTo loc2
    // the output is -1
    
  • Durante la interpolación, puede haber casos en los que se tomen dos puntos demasiado cercanos.