Tengo una línea de conjunto de datos que contiene algunas de las líneas donde los "puntos finales" son, en realidad se encuentra en el centro de la línea. En la imagen de abajo, los nodos se muestran en verde y uno de los puntos finales de red. La línea se dobla sobre sí mismo.
¿Cómo puedo asegurar que los puntos finales son en realidad en el final de la línea, y eliminar la superposición?
Estas líneas son válidos, y complejo como lo han hecho se superpone, como confirmó mediante la bien formada.
>>> from shapely.wkt import loads
>>> wkt = "LINESTRING (0 0, 2 0, 1 0)"
>>> l = loads(wkt)
>>> l.is_valid
True
>>> l.is_simple
False
Ordenar las coordenadas que podría funcionar en algunos casos:
>>> sorted(l.coords)
[(0.0, 0.0), (1.0, 0.0), (2.0, 0.0)]
Pero no en otros como que iba a cambiar la geometría de la línea:
>>> wkt = "LINESTRING (0 0, 2 0, 1 -1)"
>>> l = loads(wkt)
>>> sorted(l.coords)
[(0.0, 0.0), (1.0, -1.0), (2.0, 0.0)]
Los intentos en el búfer de la línea con un 0 buffer, y la fusión de las líneas no han cambiado el orden de coordenadas.