Appearance
Superficies de elevación
El SIG Grass cuenta con diferentes comandos para generar y analizar datos de superficies de elevación. Estos se pueden agrupar en comandos que tratan la superficie como un mapa raster, y comandos que manipulan la superficie como un mapa vectorial.
Para este tutorial considere el archivo de puntos en formato ASCII, llamado samples.txt
1,0,50,18
2,20,30,23
3,40,50,24
4,60,70,26
5,40,80,25
6,70,20,26
7,100,80,28
8,75,98,30
9,34,89,26El comando para importar este archivo en GRASS sería:
$ v.in.ascii separator=',' input=samples.txt output=input_pts cat=1 x=2 y=3 z=4
Analisis raster de superficies
Múltiples comandos de interpolación pueden ser utilizados para convertir un archivo vectorial de puntos en una superficie de elevación raster, entre ellos: v.surf.bspline, v.surf.rst y v.krige.
$ g.region n=100 s=0 e=100 w=0 cols=100 rows=100
$ v.surf.idw in=input_pts out=elevation
r.slope.aspect genera mapas ráster de pendiente, aspecto, curvaturas y derivadas parciales de primer y segundo orden a partir de un mapa ráster de valores de elevación reales. El usuario debe especificar el mapa ráster de elevación de entrada y al menos un mapa ráster de salida. El usuario también puede especificar el formato de pendiente (grados, porcentaje; predeterminado = grados) y la escala z: factor multiplicativo para convertir las unidades de elevación en unidades horizontales; (predeterminado 1.0).
El mapa ráster de entrada de elevación especificado por el usuario debe contener valores de elevación reales, no datos reescalados o categorizados. Si los valores de elevación están en unidades distintas a las horizontales, deben convertirse a unidades horizontales mediante el parámetro zscale. En GRASS GIS 7, ya no se supone que las unidades verticales sean metros. Por ejemplo, si las unidades verticales y horizontales son pies, no se debe utilizar el parámetro zscale.
El mapa ráster de salida de aspecto indica la dirección en la que las pendientes miran en sentido contrario a las agujas del reloj desde el este: 90 grados es el norte, 180 es el oeste, 270 es el sur, 360 es el este. El aspecto cero indica áreas planas con pendiente cero. Los archivos de tablas de categorías y colores también se generan para el mapa ráster de aspecto. Nota: Estos valores se pueden transformar en valores de acimut (90 es Este, 180 es Sur, 270 es Oeste, 360 es Norte) usando r.mapcalc.
$ r.slope.aspect elevation=elevation slope=slope aspect=aspect pcurvature=pcurv tcurvature=tcurv
$ r.colors -n map=slope color=sepia
$ r.colors map=aspect color=aspectcolr
$ r.colors map=pcurv color=curvature
$ r.colors map=tcurv color=curvature
r.relief crea un mapa ráster de relieve sombreado basado en la configuración de resolución actual y en los valores de altitud solar, azimut y exageración z ingresados por el usuario. La altitud del sol se especifica en grados sobre el horizonte (un valor entre 0 y 90 grados). El azimut del sol se brinda en grados al este del norte (un valor entre 0 y 360 grados; en el sentido de las agujas del reloj desde el norte).
$ r.relief input=elevation output=elevation_shade
r.shade desplegará un mapa ráster en color sobre un mapa en relieve sombreado. En lugar del relieve sombreado, se puede utilizar cualquier mapa ráster, incluido el aspecto o la pendiente. El mapa ráster de color suele ser un mapa ráster de elevación con una tabla de colores (a diferencia de la tabla de colores de escala de grises). Sin embargo, se puede utilizar cualquier mapa ráster, incluidos los mapas ráster categorizados. El resultado es un mapa ráster creado a partir de la elevación y el ráster de sombreado.
En comparación con la creación de un relieve sombreado como una superposición semitransparente en el mapa ráster de color, este módulo da un resultado con colores más saturados.
La entrada para este módulo se puede crear, por ejemplo, utilizando r.slope.aspect o r.relief.
Análisis vectorial de superficies
El módulo v.to.3d se utiliza para transformar características vectoriales 2D en 3D. La altura (coordenada z) de las entidades vectoriales 3D se puede especificar mediante el parámetro de altura como valor fijo o mediante el parámetro de columna. La opción -r permite realizar una transformación inversa, es decir, transformar un vector 3D en 2D omitiendo la coordenada z. La altura de las características 3D de entrada se puede almacenar opcionalmente en la columna.
$ v.to.3d input=input_pts out=output_pts_3d column=z
v.drape convierte datos vectoriales 2D / 3D en formato vectorial 3D mediante el muestreo de una superficie de elevación. En este módulo se incorporaron tres algoritmos de muestreo adaptados de v.sample: vecino más cercano, convulsiones bilineales y cúbicas. v.drape omitirá las entidades vectoriales fuera de la región computacional actual o donde el mapa ráster tenga un valor NULO. Es posible incluir todas las características vectoriales especificando el valor de altura que se asignará a los vértices cuyos valores no se puedan determinar a partir del mapa ráster.
$ v.drape in=input_pts elevation=elevation method=bilinear out=output_pts
v.delaunay utiliza un mapa de puntos vectoriales existente para crear un mapa vectorial de triangulación de Delaunay. El comando crea una triangulación de Delaunay (TIN) a partir de un mapa vectorial de entrada que contiene puntos o centroides.
$ v.delaunay input=input_pts output=elev_delaunay
v.extrude extruye entidades vectoriales planas en entidades vectoriales 3D con altura definida. Opcionalmente, la altura se puede derivar del muestreo del mapa ráster de elevación. Este comando crea caras, núcleos o líneas 3D basadas en características vectoriales 2D de entrada. Los puntos se convierten en líneas verticales 3D, líneas en caras y áreas en volúmenes (composición de un conjunto cerrado de caras y núcleo).
Si se utiliza el parámetro de elevación, las entidades vectoriales 3D siguen el modelo de elevación mediante el uso de valores de elevación individuales para los vértices. La altura de los vértices se interpola a partir del mapa ráster de elevación utilizando un método de interpolación dado.
v.extrude extruye características vectoriales, lo que significa que los puntos se convierten en líneas verticales. Las líneas y los límites de área se extruyen en un conjunto de caras, cada segmento define una cara. Los centroides de área se escriben como núcleos. El área como una composición de límites y centroide se almacena como un conjunto cerrado de caras y núcleo que definen un volumen.
Para la conversión de puntos 2D o líneas a 3D se puede utilizar v.to.3d o v.drape. A diferencia de v.extrude, estos módulos no extruyen características vectoriales, sino que definen la coordenada z para las características a partir de parámetros dados o muestreando valores de mapas ráster de elevación. Significa que no se aplica ninguna conversión de tipo de entidad, los puntos siguen siendo puntos en el mapa vectorial de salida. Lo mismo se aplica a las líneas.
v.extrude modifica solo la geometría de las entidades. Las categorías de características permanecen intactas y los datos de atributos se copian del mapa vectorial de entrada a la salida.
$ v.extrude input=input_areas output=areas3D height=5 type=area
$ v.extrude input=input_areas output=areas3D elevation=dem height_column=height type=area
$ v.extrude input=input_pts output=points3D height=200 type=point
Por ultimo, el comando v.out.dxf permite exportar a archivos tipo DXF cualquier cada capa con datos 3D.
$ v.out.dxf in=areas3D out=output_map.dxf
Ejercicios
Descargue del repositorio de datos el archivo llamado hitos_2008crtm05.zip
Utilice dicho archivo para generar un modelo de elevación digital (DEM) de Costa Rica.
Genere mapas de sombreado, pendiente y aspecto desde el archivo DEM de Costa Rica.
Utilice el archivo de hitos para generar un modelo TIN de Costa Rica.
Exporte los mapas raster a imágenes PNG, y el modelo TIN a formato DXF.