Download Implementación de la variable visual tamaño en ArcGIS
Document related concepts
no text concepts found
Transcript
XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGIS J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga Departamento de Geografía y Ordenación del Territorio. Universidad de Zaragoza j.solanas@gmail.com RESUMEN En el lenguaje cartográfico la variable visual tamaño, combinada con el color o el valor, refuerza las propiedades de asociación y selección, posibilitando una mayor precisión en la representación de la información. La mayoría de los módulos de simbología en los sistemas de información geográfica comerciales no permiten utilizar de manera conjunta las variables visuales anteriormente citadas a través del escalado proporcional. Este trabajo presenta una herramienta para realizar este tipo de mapas en ArcGIS. Mediante secuencias de comandos (script) en lenguaje Python se implementan modelos de escalado de la variable tamaño que se describen en la cartografía temática. PALABRAS CLAVE Cartografía temática, variable visual tamaño, script ArcGIS. ABSTRACT In the cartography language the size variable, combined with the color or value, enhances the association and selection properties, enabling a more accurate representation of information. Most of simbology modules in comercial geographic information systems do not allow use jointly the above mentioned variables through proportional scaling. This paper presents a tool for this kind of maps in ArcGIS. Through scripting in Python are implemented proportional scaling models described in thematic mapping KEY WORDS Thematic cartography, size variable, scripts ArcGIS. la información y sobre la percepción y respuesta del lector de mapas (Calvo et al., 2002; Zúñiga, Las nuevas tecnologías permiten automatizar 2008). un gran número de procesos geográficos y Los mapas de símbolos proporcionales están cartográficos como el cálculo de símbolos basados en una idea fundamental: el cartógrafo proporcionales para representar una variable selecciona un símbolo y varía su tamaño en cada (Dent, 1999). Aun así, es necesario comprender punto en proporción a la cantidad de la variable estos procesos para hacer buen uso de ellos y que desea representar sobre ese punto (Bertin, adecuar el dimensionamiento y sus 1967; Robinson et al., 1995; Steinberg, 2000). características para la correcta transmisividad de 1 MARCO TEÓRICO XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga Aunque, a priori, puede parecer sencillo, hay = valor del dato para el símbolo que será múltiples factores a tener en cuenta para que la creado. cartografía sea legible como un escalado inadecuado o una mala elección de la forma del = valor predeterminado asociado al radio símbolo (Dent, 1999; Slocum et al., 2010 ). establecido. La gran ventaja de este tipo de representación es que transmite de manera precisa la información cuantitativa y que, a pesar de las limitaciones técnicas de las herramientas informáticas, es uno de las variables más utilizadas por geógrafos y cartógrafos desde la primera aparición de este método en cartografía (Robinson, 1955; Robinson, 1967; Béguin y Pumain, 2003). Fundamentalmente existen dos tipos de símbolos proporcionales, los símbolos geométricos, como círculos, cuadrados, esferas o cubos, y los símbolos pictográficos, como los diagramas de barras o dibujos esquemáticos de, por ejemplo, personas (Bertin, 1967; Dent, 1999; Cauvin et al., 2008; Slocum et al., 2010). Pero es el círculo la forma más popular, probablemente debido a su tamaño compacto y a su facilidad de construcción. Además, Slocum et al. (2010) y Dent (1999) coinciden en que es la variable más estable visualmente. = dimensión del símbolo. = radio predeterminado. establecido para el valor Así pues, en la figura 1 todos los símbolos se han dimensionado a partir de la variable menor (25), lo que significa que, en todos los tipos de escalado, los símbolos que representan ese valor tendrán el mismo tamaño, es decir, el mismo radio (mitad del lado en el caso de los cuadrados), escalándose el resto de valores desde este tamaño al mayor en función del método utilizado. Se aprecia, claramente, cómo los símbolos de escalado aparente crecen más que los del resto de escalados, así como que los escalados por doble constricción crecen menos. Actualmente, cartógrafos y geógrafos han experimentado con símbolos tridimensionales, ya que resulta agradable, plástico y atractivo (Dent, 1999, Fremlin y Robinson, 2005). Pero con estas nuevas formas de representación es importante que se transmitan adecuadamente la información de los valores correctos a través de estos símbolos tridimensionales (Calvo et al., 2002). Existen tres tipos de escalado (Flannery, 1972; Dent, 1999; Slocum et al., 2010) para símbolos proporcionales tanto para representaciones de figuras superficiales como volumétricas (figura 1): • El escalado matemático. • El escalado perceptual o de magnitudaparente. • El escalado por doble constricción. El cálculo de estos tres tipos puede simplificarse a la siguiente expresión con la única variación del factor de dimensión (D), que es el que define el tipo de escalado utilizado: = radio del símbolo creado. Figura 1. Comparación de tipos de escalado. XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga Por otra parte, también resulta muy evidente que el escalado volumétrico, sea cual sea el método utilizado, crece menos que los escalados superficiales, lo que hace del escalado volumétrico muy útil en casos en los que el espacio en el mapa sea limitado y el rango de valores a representar sea muy alto. Por otra parte, es imposible representar la variable tamaño de forma volumétrica con otra variable. Para ello, es necesario realizar un postproceso de la cartografía mediante programas de diseño vectorial para lograr la apariencia volumétrica de los símbolos y mejorar la comprensión de éstos por parte del lector. Es por esto que esta comunicación presenta las últimas propuestas técnicas que se han desarrollado por parte del Grupo en Ordenación del Territorio (GEOT) de la Universidad de Zaragoza (Pueyo, 1994; Calvo et al., 2002; Zúñiga, 2009) basadas en secuencias de comandos en lenguaje Python (Van Rossum, 2000; Lutz y Ascher, 2001; Butler, 2005; González, 2008) y en el post-procesado con Adobe Illustrator para poder crear cartografía con Autores como Dent o Slocum, discuten sobre símbolos proporcionales a través de ArcGIS. cuál es el mejor diseño de símbolo para reducir los efectos de la superposición (transparente, 2.1 Desarrollo de la secuencia de opaco, con halo, etc.). En todo caso, coinciden en comandos mediante Python en que el orden de los símbolos debe de ser siempre ArcGIS de mayor a menor (los mayores al fondo) para que sean los símbolos pequeños los que se Python es un lenguaje de tipado dinámico, lo superpongan sobre los grandes. Añadir al que quiere decir que no es necesario declarar el símbolo un halo de un color que contraste con el tipo de dato que contendrá una variable ya que lo de las esferas puede ser suficiente para que el adopta dependiendo del valor que se le asigne, lector de mapas sea capaz de distinguir y que está orientado a objetos (González, 2008). reconstruir correctamente cada símbolo (Dent, Así pues, la ejecución del programa consiste en 1999; Slocum et al., 2010). una serie de interacciones entre los objetos. Muchos de los estudios psicofísicos sugieren el abandono del escalado aparente en favor del escalado matemático, pero con mayor atención en el diseño de la leyenda. También algunos autores recomiendan el uso de círculos o esferas debido a que las figuras poligonales o símbolos pictográficos pueden influir o ser confundidas con otros elementos del mapa (Pueyo, 1994; Calvo et al., 2002; Zúñiga, 2009). 2 DESARROLLO TÉCNICO Para ello se han creado dos herramientas que solo difieren entre sí en la forma de creación de la clase de entidad de salida; una de ellas crea polígonos circulares y la otra crea polígonos cuadrados. La razón es que así se responde a las necesidades del usuario final de la forma más directa posible. Si el usuario va a realizar, por ejemplo, un dimensionamiento superficial de la variable, puede realizar el proceso completo sobre ArcMap a través de la herramienta que crea círculos proporcionales. Si, por el contrario, el usuario pretende realizar un dimensionamiento volumétrico o una infografía más compleja deberá de utilizar el programa que crea cuadrados proporcionales para luego sustituir la forma del símbolo por la deseada en un programa de diseño vectorial (Solanas, 2011). Uno de los objetivos de esta comunicación es poder aplicar las diferentes posibilidades de escalado de la variable tamaño, sin las limitaciones de las herramientas de los sistemas de información geográfica. Así, para la utilización de los símbolos proporcionales en ArcGIS Desktop 10, esta posibilidad está muy limitada, ya que la única forma posible de representar dos variables sobre elementos puntuales es mediante el graduado de rangos para la variable tamaño. Además, en el caso de representación por símbolos proporcionales el programa solamente permite dos tipos de escalado, el matemático superficial y el aparente, con el factor de corrección de Flannery, por lo que resulta imposible realizar un escalado volumétrico o de Los aspectos comunes de estos programas doble constricción. Por otra parte, el programa no ofrece información clara y precisa para el cálculo son: de la variable tamaño a través del escalado • Importación de módulos. aparente, con resultados distintos dependiendo si se aplica a cuadrados, círculos o símbolos • Definición de parámetros. pictográficos. Clase de entidad de puntos de Cuando ArcGIS representa la variable tamaño entrada; ésta contendrá la variable que de manera precisa, se realiza a través de un queremos representar. campo que contenga su superficie o su radio en Archivo de salida intermedio igual unidades mapa, pero no permite la visualización que el de entrada pero con el campo que de una segunda variable sobre los símbolos. determina el tamaño del símbolo XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga calculado y con las entidades ordenadas en función de este campo. un área de influencia individual para cada entidad sin tener en cuenta la superposición. El resultado es una clase de entidad de círculos dimensionados según la expresión definida por el usuario que contienen los mismos campos que la clase de entidad de entrada. El proceso de creación de círculos proporcionales es relativamente sencillo, por lo que se puede construir a través de ModelBuilder de ArcGIS sin necesidad de tener conocimientos de programación. Sin embargo, se ha desarrollado a través de una secuencia de comandos debido a que así, resultará posible insertar las mejoras del proceso en las que ya se están trabajando. Clase de entidad de polígonos de salida de todo el proceso, el resultado final. Expresión en formato Visual Basic para el cálculo del tamaño de los símbolos. • Definición de variables locales. En este campo es en el que se calcularán, a continuación, los tamaños de los símbolos. Se invoca a ésta a través del módulo ArcPy para, a continuación, poner en el orden correcto los parámetros requeridos por ArcGIS para llevar a cabo el proceso, ordenando al programa que añada un campo nuevo en la clase de entidad, definida por el parámetro “Input”, que ese nuevo campo se llame “size”. • Calcular el tamaño del símbolo en el nuevo campo. Calculará el valor del nuevo campo (radio de los símbolos) a través de la expresión definida como parámetro • Ordenar la clase de entidad. Se trata de un paso muy importante para el programa, ya que ordena todos los símbolos creados en el paso anterior, de forma que los objetos calculados con un tamaño más grande sean los primeros de la base de datos. Esto supone reasignar las ID de las entidades para que este orden sea consolidado. Aunque ArcGIS permite variar la visualización de una clase de entidad de polígonos para mejorar su visualización, son variaciones muy limitadas, ya que se tiene que representar sobre los polígonos una variable, a través de la que se ordenará la visualización. Para ello, se utiliza la función “Sort” u “Ordenar” del paquete de geoprocesamiento de administración de datos de ArcGIS. • Creación de círculos. Para generar círculos proporcionales se ha utilizado la herramienta de geoprocesamiento de ArcGIS “Buffer analysis”, creando polígonos circulares con centro en los puntos de la clase de entidad procedente del proceso anterior y la distancia queda definida por el campo “size” calculado anteriormente. Del resto de parámetros solamente es importante el “NONE”, gracias al cual se mantiene • Creación de cuadrados. La programación para la creación de polígonos cuadrados es mucho más compleja (figura 2), ya que no existe una herramienta para este fin disponible en ArcGIS, por lo que hay que escribirla desde el principio. Inicialmente se partió de la creada por David Wynne en 2009 para la versión 9.3 de ArcGIS que crea polígonos regulares no escalados a través de puntos, por lo que todos los polígonos tienen el mismo tamaño. Previamente, se lee la lista de campos de la clase de entidad creada en el proceso anterior y su referencia espacial. Luego se definen dos parámetros internos para el proceso, el número de lados, que será 4 para que cree cuadrados, y la rotación del polígono, que será 45.0 para que el primer punto no lo cree justo encima del punto original, sino a 45 grados a la izquierda. Para cada vértice del polígono, definiendo así la forma de éste, se calculan las coordenadas espaciales, que son definidas por las siguientes ecuaciones: donde (figura 3): = Valor de la coordenada en el eje X para el vértice del cuadrado. = Valor de la coordenada en el eje Y para el vértice del cuadrado. = Valor de la coordenada en el eje X para cada punto de la clase de entidad original. XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga formato AI. Las capas y el orden de éstas se importan perfectamente a Adobe Illustrator. De esta forma, basta con exportar la cartografía maquetada en ArcMap a formato AI para poder = Radio del círculo inscrito en el trabajar con ella en Illustrator. cuadrado. Este valor ha sido calculado, Para intercambiar la forma de los cuadrados anteriormente, a través de la fórmula de por otra basta con seleccionarlos y seleccionar el escalado. nuevo tipo de símbolo, que debe de estar en la 2.2 Post-proceso en Adobe misma capa y organizado al frente, y hacer correr el script desde el menú “Archivo” en “Secuencias Illustrator de Comandos” y Debido a que ArcGIS no permite la “FindAndReplaceGraphic_centered” (nombre del representación de símbolos proporcionales script). En la figura 4, se muestra la provincia de Madrid, donde se puede observar cómo ya se tridimensionales y una segunda variable, es han reemplazado las esferas anaranjadas y necesario realizar un post-procesado del mapa en azules oscuras y está preparado para reemplazar un programa de diseño vectorial. los cuadrados grisáceos por las esferas azules claras. Para ello se utiliza Adobe Illustrator, ya que desde ArcGIS se exporta la cartografía en = Valor de la coordenada en el eje Y para cada punto de la clase de entidad original. Figura 2. Resultado del proceso. XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga capacidad de automatizar cualquier tarea. Aunque la doble representación de dos variables a través del tamaño no se encuentre o no se haya previsto por los desarrolladores de ArcGIS, el uso tan común del tipo de mapas sobre los que trata el trabajo debería ser tenido en cuenta en futuras versiones de ArcGIS e implementar esta funcionalidad en las opciones de simbología (Zúñiga, 2009), sobre todo porque se abren nuevos horizontes para la cartografía temática que se habían perdido con el uso intensivo de los sistemas de información geográfica. Figura 3. Orden de creación de los vértices del cuadrado La selección de los objetos que comparten forma y color la realiza el programa automáticamente con la función “Seleccionar objetos similares”, por lo que no existen problemas de diferenciación entre símbolos. También se observa como los nuevos símbolos mantienen el escalado de los cuadrados, introduciendo las esferas dentro de estos, por lo que el radio de estas es el que se ha establecido al realizar el cálculo del escalado en ArcGIS. El resultado, tras la sustitución de todos los símbolos, se aprecia en la figura 5. Uno de los problemas de esta exportación directa a Adobe Illustrator es que se pierden los enlaces con las bases de información. Este contratiempo se podría solucionar mediante programas intermedios o híbridos como Mapublisher, o soportándose en aplicaciones online como ArcGIS Online o Google Data Explorer. 3 CONCLUSIONES La combinación de la programación en Python con ArcGIS dota al usuario de la Esta comunicación propone nuevas posibilidades en el campo de las variables visuales con el fin de mejorar la usabilidad y minimizar, al máximo, los posibles errores introducidos por el usuario en ArcGis. Tal vez lo más interesante sería abrir una discusión abierta sobre la efectividad a la hora de transmitir los estímulos por parte de los distintos métodos de escalado. El hecho de que se haya demostrado que la subestimación puede corregirse con un cuidadoso diseño de la leyenda hace que no tenga mucho sentido aplicar el escalado aparente que, si el espacio del mapa es limitado, puede aumentar el efecto de la superposición, sobre todo si el rango de datos representado es muy alto (Zúñiga et al., 2010). El uso de los programas de diseño vectorial para el post-proceso de la cartografía ofrece muchas posibilidades para el diseño de ésta, sobre todo cuando las nuevas formas de presentación de la cartografía en formatos digitales, con posibilidades de interacción por parte del lector de mapas y con acceso a los datos exactos representados, exige una puesta al día de los profesionales para ser capaces de atender la demanda de este tipo de productos. Para ello, los programas puente entre SIG y programas de diseño o de desarrollo web son una excelente herramienta que ha de ser explotada. XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga Figura 4. Emulación de la función "Buscar y Reemplazar" en Adobe Illustrator. Figura 5. Ejemplo de resultado tras el post-proceso en Adobe Illustrator. XV Congreso Nacional de Tecnologías de la Información Geográfica, Madrid, AGE-CSIC, 19-21 de Septiembre de 2012 Programación de herramientas de geoprocesamiento en Python: Implementación de la variable visual tamaño en ArcGis J. Solanas, A. Pueyo, R. Postigo y M. Zúñiga AGRADECIMIENTOS Los autores de esta comunicación quieren agradecer a la Asociación para el Desarrollo Estratégico de Zaragoza y su entorno, EBROPOLIS por la realización de este trabajo dentro de los proyectos de investigación CSO2010-16389 del Programa Nacional de I+D+I y del convenio entre EBROPOLIS y la Universidad de Zaragoza para la realización de actividades de investigación. BIBLIOGRAFÍA Béguin, M. y Pumain, D. 2003. La représentation des données géographiques. Statistique et cartographie, Paris, Armand Colin. Pueyo Campos A. 1994. Utilización de cartografía para el análisis y diagnóstico de la localización de equipamientos, Tesis doctoral, Zaragoza, Ed. Publicaciones de la Universidad de Zaragoza, 800 pp. Robinson, A.H. 1955. The 1837 Maps of Henry Drury Harness, The Geographical Journal, 121, 440-450. Robinson, A.H. 1967. The Thematic Maps of Charles Joseph Minard, Imago Mundi 21, 95-108. Robinson, A.H., Morrison, J.L., Muehrcke, P.C., Kimerling, A.J. y Guptill, S.C. 1995. Elements of Cartography, USA, John Wiley & Sons. Bertin, J. 1967. Sémiologie graphique. Les diagrammes - Les réseaux - Les cartes, Paris, Ed. Gauthiers-Villars. Slocum, T.A., McMaster, R.B., Kessler, F.C. Y Howard, H.H. 2010. Thematic Cartography and Geovisualization, New Jersey, Pearson Education International. Butler, H. 2005. A Guide to the Python Universe for ESRI Users. ArcUser AprilJune. 34-37. Steinberg, J. 2000. Cartographie. Télédétection. Systèmes d’information géographique, Paris, SEDES. Calvo, J.L., Pueyo, A. y Tricas, F. 2002. Instrumentos de gestión territorial para la toma de decisiones en el medio local. Sevilla, Consejería de Gobernación. Junta de Andalucía. Solanas, J. 2011. Implementación de la variable visual tamaño en ArcGIS: programación de herramientas de geoprocesamiento en Python. Memoria del Máster Universitario en Tecnologías de la información geográfica para la ordenación del territorio: sistemas de información geográfica y teledetección. Zaragoza, Universidad de Zaragoza. Cauvin, C., Escobar, F. y Serradj, A. 2008. Cartographie thématique 2 des transformations incorturnables, Paris, Hermes-Lavoisier. Dent, B.D. 1999: Cartography. Thematic Map Design, New York, WCB McGraw-Hill. Flannery, J.J. 1971. The relative effectiveness of some common graduated point symbols in the presentation of quantitative data, Canadian Cartographer, 8, 96-109. Fremlin, G y Robinson, A.H. 2005. Maps as mediated seeing. Fundamentals of cartography, Trafford, Victoria. González, R. 2008. Python para todos. Autoeditado. Disponible en: mundogeek.net/tutorial-python Lutz, M. y Ascher, D. 2001. Learning Python. O’Reilly. Van Rossum, G. 2000. Guía de aprendizaje de Python. BeOpen PythonLabs. Zúñiga, M. 2009. Propuesta cartográfica para la representación y análisis de la variable población mediante Sistemas de Información Geográfica: el caso español, Zaragoza, Universidad de Zaragoza. Zúñiga, M., Pueyo, A., Sebastián, M. y Calvo, J.L. 2009. Estudio de la población en el atlas nacional de España. Variables relevantes para la ordenación territorial, Revista Electrónica Proyección, 9.