Los mapas de ciudades en vistas 2.5D son un recurso con un potencial extraordinario para mejorar el conocimiento de un entorno y facilitar el entendimiento de ideas o conceptos. La imágenes isométricas suelen provocar para la mayoría del público una atracción por su estética.
Esta “debilidad”, en el buen sentido de la palabra, puede ser aprovechada para crear mapas e infografías especialmente útiles si el mensaje que se quiere transmitir va dirigido a un público general donde la necesidad de captar la atención y facilitar la lectura y comprensión es una parte importante del trabajo.
Programas de modelado 3D como Blender o 3ds Max pueden complementar bien los flujos de trabajo con el software GIS o CAD. Las posibilidades que ofrecen son apasionantes en la visualización de datos geográficos. Además, software SIG como QGIS o ArcGIS cada vez facilitan más esta integración e incluso ellos mismo permiten crear representaciones 3D de datos y modelos de elevaciones con salidas de bastante calidad. Por ejemplo, ArcGIS o QGIS 3 ya admiten la creación de geometría y renderizado 3D.
No obstante, puede haber usuarios que no quiera sumergirse en aprender un software 3D completo o simplemente buscan la forma de crear este tipo de visualizaciones en programas de dibujo vectorial que les permita otro tipo de personalización del resultado final.
3D simulada a partir de capas SIG o CAD
En esta entrada vamos a centrarnos en crear una representación 3D simulada mediante proyección isométrica a partir de capas obtenidas desde un SIG o CAD. Existe varios métodos para crear perspectivas isométricas en programas de dibujo vectoriales como Inkscape pero nuestro objetivo aquí es mostrar una forma rápida de conseguir una escena urbana compuesta por edificios en perspectiva con un resultado realmente satisfactorio.
El método que aquí expongo aprovecha la técnica Escalar-Inclinar-Rotar y la obtención automática de planos laterales entre dos objetos similares a diferente distancia. Comenzaremos trabajando con vistas ortográficas de las partes inferiores de los objetos que luego distorsionaremos para obtener el plano isométrico superior. A partir de ahí simularemos una extrusión. Pero vamos a ver estos pasos más en detalle.
Obtención de una imagen vectorial con la superficie de los edificios
En primer lugar necesitamos un archivo CAD en formato DXF o un SVG con las plantas de todos los edificios que queremos representar. Catastro u OpenStreetMap pueden ser buenos recursos para conseguir estos datos y llevarlos a un SIG o CAD. Lógicamente los procesos que realizaremos en Inkscape pueden llevar mucho tiempo o incluso bloquear el programa si trabajamos con una gran cantidad de objetos en nuestro lienzo por lo que habrá que ser razonable en el número de edificios que queremos representar.
Será muy recomendable simplificar en lo posible las geometrías y eliminar nodos redundantes, es decir aquellos nodos innecesarios que no modifican la geometría del elemento y que topológicamente carecen de sentido. Por ejemplo, el geoproceso Simplificar de QGIS es una buena herramienta para realizar esta tarea.
Debemos buscar un método sencillo que nos permita conocer en Inkscape la altura de cada edificio ya que necesitaremos este dato cuando dibujemos la perspectiva. Así por ejemplo, si trabajamos con una imagen SVG exportada desde QGIS o ArcGIS, podemos representar cada polígono de edificio con un color según el número de plantas que tengan. Si utilizamos un archivo DXF una alternativa es ordenar las geometrías en capas siguiendo el mismo criterio.

Añadir la extensión Isometric Projection Converter a Inkscape
Si bien podríamos realizar un proceso de escalar, cortar y rotar el objeto a cada una de las figuras que representan las plantas de cada edificios para conseguir la perspectiva que buscamos, esto nos llevaría mucho tiempo. La extensión para Inkscape Isometric Projection Converter nos facilitará esta tarea, aplicando las trasformaciones de los objetos dibujados en un plano bidimensional a una proyección isométrica con un solo clic del ratón para todos los objetos del lienzo.

Para instalar esta extensión en Inkscape, primero descargamos el archivo comprimido desde página web del proyecto en Github.

Debemos descomprimir y copiar los archivos en el directorio donde Inkscape guarda todas las extensiones. Desde el menú Editar > Preferencias y en la sección Sistema podemos ver la ruta donde se localiza la carpeta extensions en el ordenador.

Importación a Inskcape
Una vez reiniciado Inkscape vamos a proceder a importar el archivo SVG o DXF que hemos exportado de nuestro SIG o CAD. Inkscape agrupa todos los objetos, por lo tanto lo primero que debemos realizar es una desagrupación profunda y eliminar los objetos que no necesitemos, como por ejemplo las formas de fondo que QGIS incorpora en las imágenes SVG y que no nos interesan.
Transformar las plantas a una proyección isométrica.
Seleccionamos todas los objetos que representan las plantas de los edificios y en el menú Extensiones escogemos Axonometric Projection→ Isometric Projection. En este caso vamos a convertir las plantas, que están en un proyección plana, a unos objetos en proyección isométrica vistos desde el lado superior. Inkscape aplica la transformación para todos los objetos, ahorrándonos bastante tiempo de trabajo si lo realizáramos de forma manual.

Duplicación de capas
Ya tenemos las plantas correctamente transformadas pero para que Inkscape simule una extrusión necesitamos también las formas de la parte superior de los edificios, es decir, el tejado. Para ello duplicamos la capa y la renombraremos como «Tejado».

Elevación de los tejados
Tenemos los mismo objetos en las dos capas y situados en la misma posición en el lienzo. Necesitamos elevar en el eje vertical los tejados de acuerdo al número de plantas de cada edificio.
En este ejemplo yo he exportado las formas desde QGIS aplicando una simbología con un color de relleno en función del número de las plantas que tenga.
Vamos a ir seleccionando todos los edificios con igual planta. Podemos hacerlo rápidamente realizando una selección por el mismo color (Edición → Selección → Seleccionar mismo → Color de relleno). Después realizamos un desplazamiento vertical desde el panel Transformar → Mover según el número de plantas y la escala a la que estamos trabajando.

“Extrusión” de los edificios
Desde el menú Trayecto → Combinar realizamos la combinación de las formas en las dos capas: en Planta y y en Tejado. Estas dos combinaciones son necesarias para utilizar la siguiente herramienta.
Es el momento de crear las formas laterales de cada edificios para simular una extrusión. Para ello utilizaremos la extensión de Inskcape Extrusionar que facilita mucho esta tarea y que de otra forma tendríamos que realizar de forma manual, edificio por edificio.

Personalización del color de relleno y anchura de los trazos.
Obtenemos un grupo de objetos que representan las paredes de cada edificio. Cambiamos el color de relleno y el ancho del trazo y desagrupamos el conjunto desde el menú Objeto > Desagrupar. Esto nos permitirá modificar el orden de visualización más adelante.
Cambiar el orden-z de los objetos.
El resultado aún no es el deseado pero ya vamos viendo lo que podemos conseguir.
Llegamos a uno de los pasos más importantes de este proceso: corregir el orden de apilado de los objetos u orden-z.
El orden-z determina el orden en el que se dibujan los objetos en el lienzo y se asemeja a los niveles de renderizado en la simbología de cualquier SIG.
Los objetos con un orden-z alto se dibujan en último lugar y, por lo tanto, se representan sobre los objetos con un orden-z inferior. Esta colocación está determinada por el orden en que se enumeran los objetos en el archivo SVG.
Nosotros podemos cambiar el orden de apilado de forma manual pero este proceso nos llevaría mucho tiempo. Necesitamos que Inkscape nos ahorre la mayor parte del trabajo buscando alguna herramienta que lo automatice y para ello de nuevo recurrimos a las extensiones. Vamos a utilizar la extensión Apilar que cambia el orden-z de los objetos en función de su posición sobre el lienzo.

Seleccionamos todas las paredes de nuestro dibujo que Inkscape creó en el anterior paso y escogemos en la lista desplegable la dirección de apilamiento De arriba a abajo, es decir, Inskcape va recorriendo todos los objetos desde la parte superior del lienzo hacia la inferior. En función de dónde se sitúa el punto de referencia del objeto irá enumerando de menor a mayor el orden-z. Con esto conseguimos una ordenación muy aproximada de las fachadas para la perspectiva axonométrica que estamos creando. Tengo que advertir que el proceso puede llevarle a Inskcape varios minutos en función del número de objetos que tiene que reordenar.
Tras ello, es posible que debamos revisar nuestra composición revisando manualmente algunos objetos que necesitemos elevar o bajar de nivel. Todo dependerá del nivel de detalle que busquemos.
Terminando nuestra infografía
Finalmente, añadimos los detalles que hacen de nuestro dibujo una infografía finalizada.
Añadimos nuevos elementos como es el viario, arbolado, líneas de acotación y aplicamos filtros de sombreado y algún color a elementos destacados. Por último añadimos un título y texto siguiendo un mensaje jerárquico.

Si quieres aprender a hacer más cosas como éstas echa un vistazo a nuestro curso Diseño con Inkscape para la planificación urbana y la interpretación del patrimonio.
¿Quieres comentarnos algo? Adelante!