Cómo identificar y corregir topologías erróneas en geometrías lineales con FME

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (8 votos, media: 5,00 sobre 5)
Cargando…

Una red lineal debería siempre consistir en un grupo numeroso de líneas que se conectan entre sí en puntos, sin cruzarse jamás. Sin embargo, normalmente las capas de redes lineales suelen tener con una serie de problemas que nos impiden hacer uso de ellas en nuestro trabajo.

Usamos el término red, pero estos problemas también se aplican a cualquier elemento lineal que tenga la intención de formar una estructura cerrada, por ejemplo, las líneas de límite de parcela. Estos problemas suelen ser:

  • Punto desalineado, donde se supone que dos líneas se encuentran en un punto conocido, pero una de las líneas no llega a conectarse.

  • Rebasamiento (más conocido por los usuarios de SIG como overshoot), en el que se supone que dos líneas se encuentran en un punto conocido, pero una de ellas se extiende más allá de esa intersección.

  • Undershoot, en el que se supone que dos líneas se encuentran en un punto conocido, pero realmente una línea no llega a esa intersección.

  • Nodo perdido, que se produce cuando se supone que dos líneas se encuentran en un punto conocido, pero solo una de esas líneas contiene el nodo de intersección. En este caso, la línea roja (horizontal) tiene un nodo final, pero la línea verde (vertical) no tiene ningún nodo o vértice en la misma ubicación.

  • En general, estos problemas son muy pequeños y generalmente invisibles para el ojo humano; de lo contrario, se detectarían fácilmente sin la necesidad de técnicas especiales de validación de datos. No hay un transformador específico para estos escenarios, pero podemos usar una combinación de transformadores de manipulación de geometría general para hacer el trabajo.

Corrigiendo la geometría lineal incorrecta con FME Desktop

La reparación de una geometría lineal incorrecta puede ser un caso de ensayo y error. Es bueno tener en mente un valor de tolerancia específico, pero también usar los transformadores en un orden coherente. Cuando se usan en un orden diferente, los resultados pueden ser bastante diferentes, ofreciendo un resultado también erróneo.

Una solución puede ser agregar un transformador Snapper a nuestro trabajo, justo después de los datos de la red. Si se visualizan los parámetros del transformador se podrá ver que los valores predeterminados estarán bien para la mayoría de los parámetros, pero se tendrá que establecer una tolerancia de ajuste. Esto corregirá las desalineaciones, undershoots y overshoots que se encuentren dentro de la tolerancia establecida. Si el resultado no corrige todos los errores se tendrá que jugar con el valor de esta tolerancia aunque siempre sin excederse ya que esto puede conducir a crear nuevos errores.

Otra solución, para encontrar los nodos perdidos será utilizar el transformador Intersector. Este generará los nodos que falten cuando dos líneas se crucen. Evidentemente, también encontrará los rebasamientos, aunque generará pequeños elementos lineales, que podrán descartarse después con un transformación Tester que compruebe la longitud del tramo. Si no supera esa longitud (tolerancia) es que se tratará de un tramo lineal muy pequeño generado por un rebasamiento.

Si se dispone de una red lineal en la que existen líneas que representan puentes elevados o túneles subterráneos se deberá tener en cuenta antes de que los datos se introduzcan dentro del trasformador Instersector, ya que en estos casos no se requiere de nodos. Se deberían evitar también con un Tester previo.

Si quieres aprender más sobre cómo manejar en profundidad esta herramienta, no te pierdas nuestro Curso de FME que dará comienzo el día 21 de Mayo.

Autor: Carles Martí

  • Fuente información: knowledge.safe.com
  • Origen de imágenes knowledge.safe.com y propias

Dejar respuesta

Please enter your comment!
Please enter your name here