Capítulo 2 Completito del Manual de Grass6.0 de Hannover

Pues como no he aprendido a utilizar el subversión, el trabajo me trae todo ocupado y ya me siento desdeperado, por todo eso y mucho más, empezaré publicando parte del capítulo 2 del manual de grass de Hannover versión 1.2 sólo en lo que todo se tranquiliza. Que seguramente dicha tranquilidad me llevará lograrla por lo menos dos meses, ya que si Dios quiere y la vaquita pinta tendré trabajo suficiente en ese perido para apenas revisar siquiera mi correo.

Alclaración: Yo solo traduje, no soy autor de absolutamente nada de lo que aquí muestro y no tiene proceder ningín fin de lucro si no más bien la divulgación de la información. Aclarado este punto pues comienzo. Ah, por cierto, si alguien tiene algun comentario o quiere modificar el contenido de este mensaje pues que mejor. Y si además puede albergar en algún sitio esta información en algún sitio wiki para que todos le metamos mano pues muchísimo mas mejor.

Ahora, en el capítulo 20 del manual el cuestion dice lo siguiente:

20 GNU Free Documentation License

Version 1.2, November 2002

Copyright © 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Así que espero no estar incurriendo en alguna falta. Si es así, pues no sean gachos y avisen.

2 Diseño y Estructura

GRASS es GIS híbrido y con estructura modular con funciones raster y vectoriales orientadas. Cada función del GIS es conducida por su propio módulo. Así el GRASS GIS esta claramente estructurado y luce bastante transparente. Otra ventaja de esta estructura modular es que solamente están funcionando los módulos necesarios, lo cual mantiene los recursos de la computadora.

2.1 Datos Geográficos

El GIS se caracteriza de cuatro componentes principales (1):

  • Entrada
  • Administración
  • Análisis
  • Presentación

Los tipos de datos de este modelo de cuatro componentes se clasifican en tres categorías tales como: datos geométricos, datos atributo y datos gráficos, los cuales tienen las siguientes propiedades:

Datos geométricos: Estos datos describen la situación espacial de objetos acerca de su forma y su relativa situación en el espacio. Usualmente la relación de puntos individuales, líneas ó áreas se hace por medio de la integración de estos en un sistema de coordenadas, dando como resultado la relación métrica y con el mundo real. Los datos geométricos pueden estar disponibles como datos raster (píxel) y datos vectoriales (polígonos/áreas, líneas, sitios) (ver Figura 2).

Los datos raster están datos separados de forma continua en el espacio, además están estructurados en forma de matriz con celdas generalmente cuadradas y del mismo tamaño. Cada celda contiene un atributo (característica, fecha del atributo), que representa un fenómeno (e.g. temperatura o valor del color). El almacenamiento de las celdas se realiza en función de sus coordenadas. Se ajustan en renglones y columnas. Los datos geométrico son accesados por medio de coordenadas geográficas o especificando el renglón y/o la columna. Trabajar con datos raster permite el uso y análisis de datos de percepción remota (teledetección) tales como imágenes infrarrojas de operaciones aéreas, fotografías o imágenes satelitales y otras más. Los requerimientos de memoria y la alta demanda de recursos de cómputo (tiempo de cpu), que aumenta exponencialmente con el incremento de la resolución, son vistos como una desventaja de los datos raster. Aunque debido al aumento constante en el poder de los CPU y a mayores capacidades de almacenamiento esta desventaja ha llegado a ser menos importante en los últimos años. Adicionalmente, los datos raster no están asociados con las llamadas relaciones de vecindad ya que cada píxel está definido por su propia situación en el sistema de coordenadas.

Figura 2: Datos geométricos y datos de atributo en un Sistema de Información Geográfica.

Los datos vectoriales se utilizan para el almacenamiento de la información de una línea y/o para el almacenamiento de áreas homogéneas como líneas cerradas (polígonos). Una línea conecta dos puntos finales (nodos) los cuales también tienen coordenadas. A cada objeto vectorial se le puede asignar ninguno, uno o varios atributos (propiedades). Para la administración en GRASS, el formato de los datos utilizado por defecto es el dBase. También están disponibles diferentes interfaces externas SMBD (Sitemas Manejadores de Bases de Datos) como por ejemplo PostgreSQL, MySQL, Oracle y otras tantas también disponibles. En comparación con los datos raster, los datos vectoriales se caracterizan de requerir recursos de memoria y tiempos de cálculo relativamente más bajos para su análisis. A diferencia de los datos raster, los datos vectoriales tiene una topología, lo que significa que las líneas y áreas “saben” cuales nodos poseen y/o de cuales áreas son bordes.


Los datos punto (Sitios) pueden ser considerados como una forma especial de datos vectoriales. Estos se utilizan para salvar selectivamente información de extensión espacial. Este tipo de datos puede salvarse como vector sitio en GRASS 6.0 pero no en la versión 5.4. Por consiguiente, tiene las características de un dato vectorial.

Datos Atributo (categorías): son cualidades que se interconectan con los tipos de datos antes mencionados. Estos datos se guardan con el GIS o dentro de un sistema de bases de datos junto con el GIS por medio de una IMDB (Interfase Manejadora de Bases de Datos).

Datos Gráficos: eventualmente describen el método de cómo un objeto espacial es desplegado bajo un cierto tópico en un cierto dispositivo de salida (monitor, plotter, etc.).


Los GIS son ajustados cuantitativa y cualitativamente en relación al objeto de estudio por medio de la combinación de los tipos de datos antes descritos. Estos fenómenos y objetos (entidades) son salvados en el GIS en dos estructuras básicas:

  • de apariencia continua.- laminares e ilimitados en el espacio
  • de apariencia discreta.- áreas definidas y objetos como líneas

Cuando es diseñado un GIS, la “correcta” selección de la estructura de datos que se utilizará depende de los estándares espaciales, de la cantidad de datos, de los datos originales y del análisis planeado entre otras cosas.

En el GRASS GIS diferentes módulos permiten la conversión entre estructuras de datos individuales. Las líneas de contorno se pueden almacenar como líneas vectoriales, por ejemplo, en un modelo laminar de terreno (en formato raster). De manera semejante, un mapa que consiste en líneas de contorno digitales (en formato vectorial) puede ser transformado en una superficie cerrada de terreno en formato raster por medio de una interpolación. En este caso la calidad de la conversión dependerña de la resolución origina de los datos (ver Figura 3).




Figura 3: Comparación de datos raster y datos vectoriales de un área idéntica

2.2 Dimensión de los Datos en los GIS

Los datos espaciales están disponibles regularmente como datos laminares o datos en dos y media dimensiones (2.5D). Siempre que exista un tercer parámetro (por ejemplo: elevación), nosotros le llamaremos dos y media dimensiones. Sólo la descripción de los lados de un cuerpo (por ejemplo: las superficies de una construcción) son el único tipo de dato salvado como un sistema en 3D. (ver Figura 4).


Figura 4: Dimensión de los datos en los GIS

2.3 La Base de Datos de GRASS

Los geodatos son salvados internamente por GRASS en un subdirectorio estándar llamado GRASS database. En la mayoría de los casos es creada una carpeta nueva (por ejemplo: grassdatabase) en el directorio Home del usuario antes de ser instalado GRASS por primera vez:

cd              # Linux cambia automáticamente al directorio Home del 
                # usuario
mkdir grassdata # Compilando el subdirectorio para la base de datos de
                # GRASS

Un árbol de subdirectorios (Location) se creará automáticamente en GRASS por cada región proyecto definido en GRASS. Todos los datos del proyecto se salvan en el subdirectorio Location. La Location se puede subdividir más todavía en subdirectorios los llamados subdirectorios del mapa (mapsets). Así es como GRASS controla la organización y el acceso a los datos (ver capítulo 2.3.1 y 2.3.2).

Una vez que diversos componentes (datos geométricos, atributos y gráficos) de capas (layers) individuales son almacenados en diferentes subdirectorios, toda la administración de los datos del proyecto debe hacerse usando los comandos de GRASS, es decir, todas las operaciones de archivo (copiar, borrar, renombrar) serán ejecutadas apropiadamente con los comandos de GRASS (g.copy, g.remove, g,rename).

2.3.1 El mapset PERMANET

Toda la información relativa a la proyección, resolución y extensión del área de proyecto es almacenada dentro de una locación compilada dentro del mapset PERMANENT, el cual es generado automáticamente por GRASS. En caso de ser necesario los datos esenciales del proyecto (mapas originales) pueden ser almacenados en este sitio ya que únicamente aquel usuario que creó el nuevo proyecto tiene permiso de escritura. Debido a la estructura interna está garantizado que estos datos no podrán cambiarse por cualquier otro usuario.

Otros usuarios de GRASS y naturalmente aquella persona con permisos sobre el mapset PERMANET deben crear mapsets adicionales para la crear, salvar y cambiar sus propios archivos y análisis de resultados basados en los datos esenciales del mapset PERMANET.

Archivos dentro del mapset PERMANENT

El acceso a un mapset en particular puede ser controlado de manera individual para cada proyecto (Location) en GRASS. Si no hay mapas (datos esenciales) guardados en PERMANENT este solo contendrá archivos con información acerca del área de proyecto:

The access to a single mapsets can be controlled individually for each project (Location) in GRASS. If no maps (core data) are saved in PERMANENT it will only contains files with information about the project area:

DEFAULT_WIND

Especificaciones del las coordenadas, extension y resolución del entorno PERMANENT



MYNAME

Nombre del proyecto -> e.g.: hanover



PROJ_INFO

Especificaciones sobre la proyección cartográfica -> e.g. tmerc (Proyección Transversa de Mercator), bessel (elipsoide), potsdam (date)



PROJ_UNITS

Especificaciones sobre las unidades utilizadas e.g.: metros



WIND

Especificaciones sobre la REGION actual y de la proyección MAPSET



VAR

Especificaciones sobre el manejador y la ruta del manejador de la base de datos.


2.3.2 Diseño de otros mapsets

Cada usuario de GRASS puede crear uno o varios mapsets en los cuales él mismo administre los datos del proyecto, ya sea en su totalidad o en menor grado.

Esta característica de la estructura de la base de datos de GRASS permite que varios usuarios trabajen al mismo tiempo en un mismo proyecto, por ejemplo, en una red de computadoras sin correr el riesgo de alterar o destruir datos de otros usuarios. Los mapsets de otros usuarios pueden ser integrados específicamente en los 'proyectos propios' de los usuarios otorgando permiso de solo lectura. Los mapas resultantes de cualquier análisis son guardados en el mapset de los usuarios que se encuentran en sesión de GRASS.

Estructura del archivo Mapset

cats/

Valores de categoría (e.g. valores de color y temperatura) y atributos (classes with caption) de mapas raster indivuduales.


cell/

Mapas raster induviduales


cellhd/

Columnas principales de cada mapa raster


cell_misc/

Datos estadísticos de cada mapa raster


colr/

Información sobre el color de cada mapa raster


dbf/

Contiene los atributos internos vectoriales en formato DBASE


fcell/

Mapas raster con números de punto flotante (f: floating point)


hist/

'Desarrollo histórico' de cada mapa raster


vector/

Contiene datos vectoriales (geometría, topología, etc.)


WIND

DAtos de la REGION actual y de la proyección MAPSET


GRASS 6.0 un usuario para iniciar varias sesiones GRASS en paralelo

2.4 Estructura de comandos en GRASS

En GRASS los comandos siguen una estructura bastante clara. El tipo de comando puede reconocerse por la abreviatura del prefijo al inicio del nombre del comando. Los comandos son programas independientes y en GRASS son llamados módulos. Estos comandos tienen nombres autodescriptivos. De esta manera, el módulo para la digitalización de mapas raster se llama r.digit. Para convertir datos de formato vectorial a raster se utiliza el módulo v.to.rast. La Tabla 1 describe detalladamente la estructura de los nombres de comandos y módulos GRASS.

Módulos y programas en GRASS

Aparte de los módulos existentes en GRASS se dispone de todos los programas de Unix/Linux. Estos pueden invocarse por medio del Shell, el intérprete de comandos. Esto es particularmente útil si se está interesado en la programación, de tal suerte que se pueden integrar módulos confeccionados por uno mismo y/o modificar los módulos de GRASS y/o integrarlos con los propios. Aún cuando al recién iniciado en GRASS esto le parezca complicado, la posibilidad de los usuarios de poder programar en GRASS provee de posibilidades casi sin restricciones para resolver sus propias necesidades y de realizar lo que su imaginación les dicte dentro del GIS. Además aprender a crear scripts en Unix/Linux es muy fácil.

Tabla 1: Estructura de los nombres de los módulos de GRASS

Prefijo

Clase de función

Significado de los comandos

d.*

Display

Para la exhibición gráfica y la consulta visual en el monitor

r.*

raster

Para el procesamiento de datos raster

i.*

imagery

Para el procesamiento de imágenes

v.*

vector

Para el procesamiento de datos vectoriales

g.*

general

Comandos para operaciones de archivos en general

p.*

paint

Comandos para el diseño de mapas

ps.*

postscript

Comandos para del diseño de mapas de tamaño postcript

db.*

database

Módulos para la administración de la base de datos

r3.*

voxel raster

Para el procesamiento de datos raster en 3D

2.5 Ayuda para el uso de los módulos de GRASS

Está disponible un archivo de ayuda en el cual se describen los comandos y la sintaxis de alrededor de 400 módulos de GRASS. Se dispone de una ayuda breve para la utilización de los comandos usando el parámetro “-help”.

d.rast -help

Por medio del comando g.manual nombre del módulo puede desplegarse una descripción detallada y con ejemplos del comando en cuestión; esta información proviene de la página web de GRASS.

g.manual d.rast

De esta manera un navegador es iniciado y en él se desplegará el texto de ayuda. También está integrado un índice completo en la ayuda, el cual está disponible al final de este libro (ver capítulo 21)

2.6 Variables de GRASS

Algunas variables son ajustadas durante una sesión de GRASS. Estas variables pueden imprimirse y modificarse por medio del módulo g.gisenv.

Si se introduce el módulo sin parámetros, GRASS despliega las variables de entorno establecidas actualmente.

g.gisenv
GISDBASE=/home/holl/grassdata
GRASS_DB_ENCODING=utf-8
MAPSET=PERMANENT
LOCATION_NAME=spearfish
GRASS_GUI=tcltk

Para que el módulo muestre cual el mapset actual es necesario acompañarlo del parámetro “MAPSET”: g.gisenv MAPSET

Para modificar una variable utilizamos las siguiente sintaxis:
g.gisenv set='OVERWRITE=1'

Esto ajustará la variable OVERWRITE al modo sobrescribir, el cual está desactivado por defecto.

Puede encontrar una lista detallada de variables específicas de GRASS en las páginas de ayuda:
g.manual variables

Nota: Además de la variable recién mencionada 'OVERWRITE', también es posible forzar a los módulos raster y vectoriales para sobrescribir mapas utilizando los interruptores –o ó -overwrite (con dos signos menos (--)). Así es posible forzar a sobrescribir durante el uso de cada comando individualmente ya que por defecto los mapas se encuentran protegidos contra escritura.