GRASS GIS for ArcGIS users/es

From GRASS-Wiki
Revision as of 03:12, 26 July 2016 by ⚠️Dat (talk | contribs) (GRASS GIS for ArcGIS users/es)
Jump to navigation Jump to search

This page is in progress of translating to Spanish from English.


Esta es una guía para aquellas peronas que quieren migrar de ArcGIS a GRASS GIS, o que quieren aprender GRASS GIS pero ya están familiarizados con ArcGIS


Proyecciones

ArcGIS soporta proyecciones al vuelo de los datos, GRASS GIS considera que ésta es una mala práctica y por tanto es necesario que los usuarios sean consistentes en el uso de la información de la proyección de los datos que ingresan al programa. Esta es una de las maneras en que GRASS GIS ayuda al usuario a facilitar la integridad de sus datos. Otras maneras son el mantener los datos geoespaciales ordenados y que sea necesario que todos los datos estén en un solo formato, por ej. el guardar los datos vectoriales en el formato topológico de GRASS. Sin embargo, tanto para datos ráster, como para vectoriales es posible enlazar los datos (r.external, v.external), en vez de importarlos y usar diferentes formatos de entrada, siempre y cuando respeten la proyección determinada.


Cuando los datos estén en una proyección diferente estos pueden ser importados a GRASS GIS usado los módulos r.import y v.import. Cuando los datos estén en otra Localización GRASS cuya proyección sea diferente a la deseada, se puede crear una Localización con la proyección deseada y usar los módulos r.proj y v.proj.


Una vez que se hayan importado los datos a la base de datos de GRASS GIS con la proyección adecuada, el usuario no tendrá que preocuparse de conversiones de proyección o incinsistencias y se puede concentrar en el análisis. En los módulos analíticos de GRASS GIS no es necesario definir la proyección de salida del resultado, cosa común en las herramientas de ArcGIS.


Datos, base de datos y formatos de archivos

En ArcGIS, el usuario generalemente tiene los datos en diferentes directorios dentro del disco. Básicamente todos los datos geoespaciales para GRASS GIS están en una base de datos GRASS GIS (un folder en un disco) Esta base de datos está dividida en Localizaciones (Locations) y las Localizaciones están divididas a su vez en Directorios de mapas (Mapsets). Cuando se inicializa GRASS GIS, el programa se conecta a ua base de datos, localizaciones y directorios de mapas especificados por el usuario.

Al hacer esto, GRASS GIS es capaz de aplicar un sistema específico de organización de los datos. El sistema está diseñado para acomodar proyectos grandes y múltiples usuarios en un localización pero también es útil para individuos que desean tener sus datos bien organizados. Primero, los datos deben estar en un directorio llamado Directorio de bases de datos GRASS GIS. Puede tener uno o muchos de estos directorios en su disco. Este directorio contiene Localizaciones GRASS. Todos los datos en una localización tienen la misma proyección (sistema de coordenadas, datum). Una localización es un directorio que contiene Directorios de mapas GRASS. Un directorio de mapas contiene mapas (capas) ráster y vectoriales y otra información geoespacial.


Para evitar cambios no deseados en los datos existentes, los módulos de GRASS GIS manejan la creación, modificación, cambio, copia o eliminación de aquellos datos que están guardados en el directorio de mapas en que se encutra el usuario (el directorio acutal). Cuando es necesario, los datos pueden ser copiados de otro directorio de mapas al directorio de mapas actual usando g.copy, por ejemplo, cuando uno necesita cambiar los atributos de un mapa vectorial que no le pertenece a uno(a).

Los datos de otros Directorios de mepas están disponibles para lectura, así que se pueden usar para visualizar. De manera predeterminada, puede ver los datos del directorio de mapas actual y del directorio de mapas especial llamado PERMANENT, que debe estar presete en toda Localización. Si se desea, puede ver los datos de otros directorios de mapas (en la localización actual) usando Configuraciones > Entorno de trabajo GRASS > Acceso a Directorio de mapas, o usando el módulo g.mapsets. Los datos e otras localizaciones son accesibles solamente si inicia GRASS GIS en esa localización. El acceso a datos de múltiples localizaciones no sería seguro por quqe los datos en diferentes localizaciones pueden estar en diferentes proyecciones (mientras que todos los directorios de mapas de una localización contienen datos en una proyección particular).

También es posible enlazar datos de diferentes fuentes como por ejemplo GeoTIFF o bases de datos PostGIS.

El sistema usado por GRASS GIS resulta en que siempre está definido dónde se van a crear los datos nuevos (el directorio de mapas actual). Todos los datos están en una sola proyección y en un formato consistente. El resultado es que una vez que los datos son importados, uno se puede concentrar en los análisis, y no en los formatos.


Los usuarios pueden seleccionar diferentes estrategias de cómo usar el directorio de bases de datos, localizaciones y directorios de mapas. Es común que los usuarios tengan un directorio de bases de datos GRASS GIS llamado grassdata. Entonces cada localización es un proyecto mayor o un área de interés. Los directorios de mapas son proyectos menores, subproyectos, o tareas individuales. El directorio de mapas PERMANENT es usado para guardar los datos comunes a todos los directorios de mapas.

La Localización y Directorio de mapas de GRASS GIS es en cierto sentido similar al archivo Geodatabase o al Personal Geodatabase, en que guardan todos los datos dentro en un solo formato.


Cartografía

ArcGIS tiene dos modos en la pantalla, uno es el estándar para ver e interactuar con los datos. El otro es un modo que es una herramienta de diseño de mapas. El Visualizador de mapas (Map Display) en la interfaz gráfica de usuario (GUI) de GRASS también está hecha para interactuar, pero contiene algunos elementos cartográficos básicos. La cartografía avanzada en GRASS GIS se hace en una aplicación separada (disponible desde la GUI) llamada Diseñador cartográfico o desde la línea de comados g.gui.psmap. Esta aplicación es la GUI para el módulo ps.map. Algunos usuarios de GRASS GIS prefieren la GUI por que es conveniente y sencilla, otros prefieren ps.map, otros prefieren combinar con la visualización estándar con un editor de gráficas profesional como Inkscape, y otros más prefieren usar QGIS para realizar tareas cartográficas.

El visualizador estádar en GRASS GIS está bien adaptado a visualización estándar y exploración de los datos geoespaciales. También es posible usarlo para crear salidas cartográficas básicas, por ej. para publicaciones científicas, dado que se pueden visualizar elementos básicos como la escala, la leyenda de datos ráster. Esta funcionalidad está disponible desde la GUI en el Visualizador de mapas y es controlada también en el Administrador de capas. La funcionalidad también está disponible desde la línea de comandos, por ejemplo:


d.rast elevation

mostrará un mapa de elevación en el visualizador. Comandos como este pueden ser usados para controlar el visualizador en la GUI, para controlar visualizadores gráficos independientes, o para automatizar la creación de mapas. Para las últimas dos opciones se usa el módulo d.mon. Por ejemplo,


d.mon wx0

abre una ventana nueva que es similar al Visualizador de mapas en la GUI, pero es controlado principalmente por los módulos de visualización (d.*), como el ya mencionado d.rast. Adicionalmente, d.mon puede ser usado para crear imágenes directamente, por ejemplo la siguiente serie de comandos crea una imagen PNG de un mapa ráster con un vectorial de arroyos sobre él:


 g.region raster=elevation
 d.mon start=cairo output=map.png
 d.rast map=elevation
 d.vect map=streams
 d.mon stop=cairo

Esto se puede escribir para Python como:


import grass.script as script
gscript.run_command('g.region', raster='elevation')
gscript.run_command('d.mon', start='cairo', output='map.png')
gscript.run_command('d.rast', map='elevation')
gscript.run_command('d.vect', map='streams')
gscript.run_command('d.mon', stop='cairo')

Aun cuando no se use la línea de comandos o Python uno puede sacar provecho de la línea de comandos dado que en la GUI los comandos son mostrados, y pueden ser copiados y guardados o compartidos. Por ejemplo, uno puede definir un estilo en la GUI, copiar el comando y obtener algo como la siguiente línea:


d.vect map=streets color=255:165:0 width_column=SPEED width_scale=0.07

Esto puede ser guardado en un archivo de texto, y compartido por correo electrónico o incluido en un material de estudio para clases. Al final, el comando puede ser usado en la GUI para obtener exactamente la misma salida previamente obtenida.

El visualizador estándar tiene sus limitaciones, pero pueden ser sobrepasadas. Por ejemplo, las líneas solamente pueden tener un color, así, cuando se quiere visualizar las líneas de contorno de un color diferente, es es necesario mostrar la línea dos veces, una como una línea gruesa con el color de borde, y otra un poco más delgada con el color interno.


d.vect map=streets color=255:204:109 width=4
d.vect map=streets color=255:165:0 width=8
Line with border created using two d.vect commands


Algunos usuarios también combinan el visualizador estándar con programas de manipulación de vectores como Inkscape, que les da mayores capacidades gŕaficas. Cuando se automatiza la creación de mapas en Python, se pueden combinar múltiples imágenes y luego editarlas usando paquetes de procesamiento de imagenes de Python como PIL (o Pillow) o ImageMagic.


Visualización 3D

En GRASS GIS, la vista 3D está integrada a la GUI principal mientras que en ArcGIS está separada en una herramienta llamada ArcScene. La librería que está detrás de la vista 3D se llama NVIZ. La integración de NVIZ a la GUI wxGUI se llama wxNVIZ. La visualización 3D también se puede llamar desde la línea de comandos o en Python con el módulo m.nviz.image.


En GRASS GIS, cuando se está en una visualización 2D se puede cambiar a una 3D, todas las capas de mapa ráster son añadidas automaticamete como superficies en la vista 3D. Esto significa que si tiene un modelo de elevación 2D, lo verá como 3D. El color es igual al color que tiene en 2D. Esto es diferente de ArcScene donde las capas ráster son planas inicialmente y se tienen que especificar en propiedades cuál ráster se va a usar para crear la superficie.


Raster algebra

Actualmente la calculadora ráster de ArcGIS está implementada en Python. Algunas partes de la sintaxis son similares, mientras que otras difieren. En GRASS GIS el álgebra de mapas ráster se hace a través del módulo r.mapcalc (implementado en C) o a través de la GUI con la Calculadora de Mapas Ráster. La sintaxis de r.mapcalc está diseñada específicamente para álgebra de mapas ráster y está basada en la sintáxis de C (Python también es un lenguaje tipo C). Ambas sintaxis son sensibles a mayúsulas y minúsculas, como es usual en los lenguajes tipo C.


Comillas

En ArcGIS los nombres de las capas para el álgebra de mapas deben estar entrecomilladas. En GRASS GIS, las comillas son opcionales y generalmente no se usan. Hay algunos pocos caos en donde son necesarias y esto es cuando los nombres de los mapas ráster contienen guiones ("-"), que pueden ser confundidos con el operador menos. Sin embargo, la mejor pŕactica es no usar guines en los nombres de los mapas (dado que el nombre debe ser utilizable en SQL sin necesidad de entrecomillado). Cuando se escribe un script de Python y quiere que sea realmente robusto, quizás quiera usar el entrecomillado.


Espacios en blanco

En ArcGIS los operadores de álgebra de mapas deben estar separados por espacios e blanco. En GRASS GIS, los espacios alrededor de los operadores son opcionales, sin embargo, es una buena práctica el usarlos (lo mismo que en Python o C).