martes, marzo 31, 2009

Librerías GDAL para datos espaciales

.
GDAL/OGR (Geospatial Data Abstraction Libraryr) es una librería y un conjunto de utilitarios que tiene por objetivo asistir al tratamiento de datos geoespaciales en distintos formatos ráster o vectorial. El software se distribuye gratuitamente bajo licencia de de código abierto por la Open Source Geoespatial Consortium. Su principal fortaleza es la amplitud de formatos de archivos que maneja. Actualmente es utilziada por una importante cantidad de productos de tratamiento de datos espaciales, tales como: QGIS, Google Earth, GeoServer, IDRISI, MapServer y MapWindows entre otros.

Aquí van algunos ejemplos de uso:

Operaciones sobre datos vectoriales

* Obtener metadatos de un archivo shapefile de ESRI

ogrinfo -al archivo.shp

* Reproyectar datos geográficos de coordenadas geográficas (latitud/longitud) a UTM zona 10

ogr2ogr -t_srs "+proj=utm +zone=10 +datum=NAD83" archivo_salida.shp archivo_entrada.shp

* Extraer y almacenar en un nuevo shapefile todos los departamentos con una superficie mayor a 4000 millones de hectareas

ogr2ogr -where "sup_has_ lt 4000000000" salida.shp departamentos.shp

* Convertir un archivo shapefile en formato KML

ogr2ogr -f "KML" -t_srs EPSG:4326

* Para convertir un ESRI Shapefile a formato GML:

ogr2ogr-f "GML" output.gml input.shp

* Armado de un bounding box sobre un shapefile de dalida, donde se insertará todos los elementos geográficos que estén contenidos en él.

ogr2ogr -spat -68 -29 -57 -37 borrar3.shp departamentos.shp

* Armado de un bounding box donde se listarán todos los atributos de todos los elementos geográficos contenidos en él.

ogrinfo -al -spat -68 -29 -57 -37 departamentos.shp

* Listado de atributos de los elementos geográficos cuyo valor de atributo departamto sea LUJAN

ogrinfo -al -where "departamto='LUJAN'" departamentos.shp

Operaciones sobre datos raster

* Obtener metadatos de un archivo raster

gdalinfo archivo_raster.tiff

* Reproyectar una foto aerea formato "CA State Plane Zone 4 (Lambert Conformal Conic projection, units = feet)" a formato "UTM Zone 10 (units = meters)" y reescale a 1 metro de resolución, usando el método de muestreo "thin-plate-spline resampling (-tps)"

gdalwarp -tps -t_srs '+proj=utm +zone=10 +datum=NAD83 +units=m' \
-s_srs '+proj=lcc +lat_1=36.0000 +lat_2=37.25 +lat_0=35.33 \
+lon_0=-119.0000 +x_0=2000000 +y_0=500000 +datum=NAD83 +units=ft' \
-srcnodata 255 -dstnodata 255 -tr 1 1 archivo_entrada.tif archivo_salida.tif

* Convertir una imagen multibanda GeoTiff a JPEG

gdal_translate -of JPEG archivo_entrada.tif archivo_salida.jpg


Estoy probando con los drivers de acceso a datos espaciales almacenados en una base de datos PostgreSQL, cuando termine de entender el funcionamiento y realizar las pruebas mostraré algunos ejemplos.




2 comentarios:

freddycoal dijo...

Que gran "pequeño" manual, muchas gracias por compartir esta información. Estoy aprendiendo a usar GDAL, pero lo veo algo complejo, ¿Sabes como puedo leer un valor de un grid de unas coordenadas en especifico?. Me interesa obtener la altura de una dem en unas coordenadas suministradas por el usuario.

freddycoal dijo...

Que gran "pequeño" manual, muchas gracias por compartir esta información. Estoy aprendiendo a usar GDAL, pero lo veo algo complejo, ¿Sabes como puedo leer un valor de un grid de unas coordenadas en especifico?. Me interesa obtener la altura de una dem en unas coordenadas suministradas por el usuario.