Mostrando entradas con la etiqueta FME. Mostrar todas las entradas
Mostrando entradas con la etiqueta FME. Mostrar todas las entradas

viernes, 2 de diciembre de 2016

Análisis topológico con FME Desktop


Existen muchas alternativas para realizar un análisis topológico de nuestro conjunto de datos, sin duda el más completo, desde mi punto de vista es ArcGIS, ya que permite realizarlo desde un primer momento, hasta las últimas fases del mismo realizando una limpieza total de los datos de partida. Pero que sea el más completo no significa que sea el más eficiente, ni que todas las fases del análisis respondan al 100% a nuestras necesidades y expectativas. 

Actualmente encontramos en el mercado una gran variedad de herramientas y programas que pueden completar las “debilidades” del programa de la firma ESRI, e incluso mejorar muchas de las utilidades implementadas en el mismo, haciéndolo más eficiente. Para mi, sin duda, uno de los mejores es FME Desktop, que como ya comenté en una entrada anterior es una herramienta ETL mayormente centrada en la manipulación de información geoespacial. 

Evidentemente este programa no hace milagros, y sí como en el caso que veíamos en la entrada “Revisión de topologías en ArcGIS” (en la cual pretendíamos crear polígonos a partir de líneas), los datos iniciales presentan errores topológicos, como por ejemplo colgantes, el resultado no será todo lo completo que nos gustaría, quedándonos líneas sin su polígono correspondiente.

FME ofrece multitud de herramientas para realizar un análisis topológico previo, para detectar y depurar errores, pero sin duda lo más interesante es que podemos resolver los errores directamente, sin crear una topología previa, ya que el programa la genera en tiempo de ejecución.

Así pues en el ejemplo anterior, y para minimizar los errores, podemos añadir una serie de transformadores que hacen una depuración previa de los datos de partida. El modelo podría quedar de la siguiente manera:

Cada una de las partes del modelo presenta una serie de características y variables que podemos modificar según consideremos. Vamos a analizar uno a uno todos los elementos del modelo, pero hay que tener en cuenta que el programa contiene al rededor de 500 transformadores, y cada uno de ellos con sus propias variables. Evidentemente esto es solo una pequeña muestra del potencial de este programa, que intentaré desarrollar en futuras entradas.

  • Snapper: esta herramienta se utiliza para alargar líneas (o añadir vértices), hasta la línea más próxima. También nos permite utilizar un atributo en concreto para realizar esta acción. Por ejemplo si tenemos en un mismo shapefile distintos elementos lineales tales como alambradas, muros, tapias… puede ser que necesitemos realizar este proceso solo sobre un tipo de entidades. Para ello realizaremos esta acción especificando el campo concreto en el cual queremos realizar el proceso. Obligatoriamente tendremos que asignar una tolerancia al proceso (cuanto mayor sea esta más impredecible será el resultado). Otra serie de variables son el tipo de snapping, añadir vértice adicional, que modificaremos en función de nuestras necesidades.


  • Intersector: esta herramienta se utiliza para romper elementos que se cruzan ya sean poligonales o lineales. Por ejemplo si tenemos un archivo de líneas que van a conformar una red del tipo que sea, esta herramienta es útil porque nos generara vértices en las intersecciones de la red. En el caso de tener un shape poligonal, por ejemplo de cultivos de una zona, nos será útil para eliminar solapes entre parcelas, para no falsear la superficie total de trabajo. Las distintas opciones que nos brinda esta herramienta son por ejemplo tener en consideración la z del elemento, ya que en muchos casos los cruces entre líneas a distinta cota no necesitan un vértice adicional. También nos da la opción de partir líneas que se cruzan con sí mismas, y otra serie de opciones que vendrán definidas por las necesidades del tipo de trabajo a realizar.

  • Area builder: esta herramienta se utiliza para crear polígonos a partir de líneas. Si los procesos anteriores se han realizado de forma correcta, y han solucionado los errores topológicos, los polígonos serán generados correctamente.



martes, 25 de octubre de 2016

Exportar Capas GIS a formato CAD

Una de las tareas más solicitadas por los usuarios de GIS, y una fuente inagotable de quebraderos de cabeza y discusiones, es la más que recurrente transformación de la información GIS en formato CAD. Sin entrar en detalles de si es necesario, o por el contrario una pérdida de tiempo, la realidad es que cada día nos encontramos con más de una petición para transformar de un formato a otro.

La primera aproximación que se puede hacer al problema es la utilización de las herramientas que incorpora por defecto ArcGIS (10.3 en este caso y sin la extensión "Data Interoperability"). Sería tan fácil como seleccionar la capa que se desea exportar, y con el botón derecho del ratón Exportar a formato CAD.





Seleccionaríamos la carpeta de salida y tendríamos nuestra capa en formato CAD. Si en lugar de exportar toda la capa, solo queremos una parte de ella, podemos utilizar cualquier herramienta de selección, y solo se exportará la parte seleccionada. También se puede seleccionar un conjunto de capas, que serán exportadas en un único archivo CAD. También se puede acceder a la misma herramienta por medio de ArcToolBox

Aunque esta funcionalidad puede resultar suficiente en muchos casos, en otros muchos no lo es, ya que el fichero de salida solo tendrá información de los elementos geométricos (puntos, líneas y polígonos), y nada referente a los atributos de dichas geometrías.

Llegados a este punto tenemos tres opciones. La primera sería acudir a algún Software externo que nos permita personalizar el fichero CAD de salida, como por ejemplo Xtools, o el ya mencionado en otras entradas FME. Este segundo permite una personalización completa del producto de salida, y si se dispone del Software y de los conocimientos necesarios, sería una opción más óptima que la que se va a detallar a continuación.

Le segunda sería desarrollar un script o programa utilizando Python u otro lenguaje de programación, por supuesto para ello tendríamos que saber programar. 

La tercera, como ya os podréis imaginar, es el uso de Model Builder para crear nuestra propia herramienta. Dependiendo del número de capas que queramos exportar, y de los atributos que queramos representar en el CAD de salida el modelo generado podría ser algo como esto:




A pesar de su horrible aspecto, la mayoría de las tareas en este proceso están repetidas para las diferentes capas que queremos exportar. 

La herramienta mostrada arriba no crea el fichero en formato CAD por sí misma, es un paso previo para preparar una Geodatabase con las capas en el formato adecuado para, posteriormente, usando la herramienta "Export to CAD", genere los archivos con la simbología y los niveles deseados. 

Los ficheros generados por la herramienta para crear archivos en formato CAD (AutoCAD en este ejemplo), vienen definidos no solo por la geometría del elemento de entrada, sino también por cierto atributos que definirán entre otras cosas, el color, el grosor, el tipo de línea, y si es un texto, o un elemento geométrico. 

Para ello la herramienta lee los atributos de la capa de origen y si encuentra algún campo "clave", entonces lee la información almacenada en él, para representarla de la forma definida. Estos campos que denomino clave son por ejemplo:
  • CadType: define el tipo de elemento de salida (Texto, Numero entero, decimal...)
  • TxtValue: en caso de que el tipo anterior haya sido definido como texto o número, el valor que pongamos aquí será el que se exportara en el fichero de salida como caracteres (números o letras). En este caso la entidad de origen, línea, punto o polígono será remplazada por el texto del campo (por ejemplo si tenemos los nombres de las calles en un fichero de líneas, solo se representara el texto). 

Para los elemento que queremos representar además de como texto, como entidad geométrica, por ejemplo el uso de una parcela rustica y el borde que la delimita, será necesario duplicar la entidad de entrada  para obtener por un lado el texto, y por el otro el polígono en este caso.

En caso de solo necesitar las geometrías, podremos modificar la simbología del fichero CAD, añadiendo más campos "clave", como por ejemplo:
  • Color: define el color de salida y tiene que ser definido como doble
  • LineWt: determinará el grosor de la línea. También ha de ser definido como doble.

Así pues y en términos generales partimos de una o varias capas GIS (shapefile, Geodatabase...), con la herramienta "Add Field" añadiremos los campos o atributos "clave" que consideremos necesarios y con la herramienta "Calculate Field" le asignaremos el valor que consideremos. Si por ejemplo el nombre de la calle está almacenado en un campo llamado "Street" simplemente tendremos que crear una expresión que referencie el campo TxtValue (el cual previamente habremos definido como CadType= Texto) al campo "Street". 

Todo lo anterior será almacenado en una Geodatabase que será el fichero de entrada en la herramienta "Export to CAD", que ahora si representara los niveles de la manera que defininmos previamente.

sábado, 16 de abril de 2016

Modelos con FME

Siguiendo con la entrada anterior, me gustaría introducir en este caso un Software que complementa, y en muchas ocasiones aporta nuevas funcionalidades a ArcGIS (no en vano, éste, está integrado dentro de la extensión Data Interoperability del Software de la casa ESRI).

Este programa se engloba dentro de los procesos conocidos como ETL (Extract, Transform and Load o extraer, transformar y cargar), que permiten exportar, importar, analizar y limpiar datos entre distintos formatos y/o plataformas.

FME, software desarrollado por la casa Safe Software, es una fantástica herramienta ETL mayormente centrada en la manipulación de información geoespacial. Aparte de la multitud de formatos admitidos y transformadores que posee el programa, otro gran punto a su favor es la facilidad a la hora de crear modelos o herramientas, en parte gracias a su interface sencilla e intuitiva.

Así pues, es posible crear modelos como el que presentamos anteriormente en Model Builder sin la necesidad del uso de ArcGIS. Igual que comparábamos ModelBuilder con  una especie de lenguaje programación a alto nivel, FME permite aún más funcionalidades que el módulo de ArcGIS, y siguiendo con la analogía, se podría decir que tiene muchas más clases y métodos con los que implementar nuestro programa, ofreciéndonos así   una gama mucho más amplia de posibilidades.

A grandes rasgos el funcionamiento del programa es el siguiente: Tenemos un dato (o conjunto de datos) de entrada, a los cuales les aplicaremos uno (o varios) procesos, llamados transformadores, que arrojaran como resultado uno o varios ficheros de salida. Así por ejemplo, teniendo un fichero en formato DWG de líneas que representan el contorno de las fincas rústicas de un municipio, necesitamos como resultado un fichero en formato SHP poligonal. En el programa indicaremos el fichero de entrada “Reader” que será el fichero en formato DWG, el transformador apropiado, en este caso “AreaBuilder” y por último definiremos el formato del fichero de salida o “Writer”


Otra gran ventaja del programa es que permite manejar una amplia multitud de formatos tanto GIS y CAD como otros formatos tabulares, archivos Excel y Bases de Datos por ejemplo. Así pues podremos realizar uniones entre tablas de una base de datos Oracle y un shapefile de una manera muy sencilla y eficiente.

En futuras entradas se presentaran varios ejemplos desarrollados, tanto en ArcGIS como en FME, y se intentará evaluar cuál de los dos métodos es más eficiente, tanto en el proceso de elaboración, como a los resultados arrojados.


domingo, 21 de febrero de 2016

Hola a tod@s... otra vez

Como comenté en mi primera entrada, la idea de escribir un blog venía de atrás, así que decidí buscar en mi viejo portátil HP para ver si encontraba algo de aquel primer intento fallido. 
En efecto dentro de una carpeta con el críptico nombre de "Blog" se encontraba un documento, por supuesto llamado "Blog", con lo que se suponían iban a ser las entradas de aquel Blog primigenio...
Quizá porque soy un nostálgico, quizá porque no me gusta trabajar en vano (o ambas cosas), a lo largo de las primeras semanas de vida de éste, voy a ir rescatando aquellas entradas que nunca fueron, intentando mantener en la medida de lo posible el contenido original intacto.
He de decir que por aquella época mi perfil era más técnico que otra cosa, así que la mayoría de las entradas (por no decir todas) estaban centradas en la optimización del uso de herramientas de gestión de datos geoespaciales, básicamente ArcGIS y FME. 
Como dije también en mi primera entrada el objetivo y enfoque de éste, ha cambiado desde aquella idea original (aunque como veréis, ésta, seguirá estando presente), con lo cual alternaré las viejas entradas con otras nuevas y con un enfoque más cercano a la gestión de activos.
Pues nada, lo dicho, a continuación tenéis lo que iba a ser la primera entrada de aquel primer intento... espero que os guste y os prometo que para las siguientes ya empezaré a hacer honor al título de éste blog.



Hola a todos:


En muchas ocasiones a lo largo de mi carrera profesional, me han surgido muchas dudas de cómo solucionar ciertos problemas que se me presentaban en el acontecer de mi jornada laboral. Por suerte alguien muy majo inventó internet allá por los años 80, dándonos la oportunidad de resolver multitud de problemas con apenas mover un dedo (y en ocasiones con grandes dosis de paciencia).
Así, siempre que nos surge una duda tenemos la posibilidad de acudir a nuestro buscador de cabecera y hacerle la cuestión que nos atormenta para, en la mayoría de los casos, resolver nuestras dudas.
Sin embargo, en ocasiones, la búsqueda no tiene recompensa y tras varias horas de navegar (y algún que otro improperio), nos vemos obligados a sacar la bandera blanca y claudicar.
En el mundo de la cartografía y los Sistemas de Información Geográfica (por si el titulo del blog no es lo suficientemente explicito, aclaro que el 99% de las entradas hablarán de estos temas y otros afines), y a pesar del gran desarrollo que están teniendo en los últimos tiempos, esta situación se repite con demasiada frecuencia (o así lo veo yo), o por lo menos nos lleva bastante tiempo encontrar una respuesta a nuestras preguntas.
Este blog no pretende ser el Santo Grial de los GIS ni mucho menos, simplemente es una herramienta más para consultar, en esas mañanas aciagas en las que todo nuestro conocimiento parece haber desaparecido, dudas que podamos tener a lo largo de nuestro devenir diario.




P.D. Todas las entradas son fruto de mi experiencia profesional y por supuesto habrá métodos y formas de hacer las cosas mejor y más rápido. Este es un blog abierto y se admiten todo tipo de sugerencias, criticas y mejoras.