Inicio Rápido GDAL/OGR¶
Esta Guía de Inicio Rápido se divide en dos partes: GDAL (datos ráster) y OGR (datos vectoriales).
Esta Guía de Inicio Rápido describe cómo:
- GDAL
Explore sus datos de imagen con gdalinfo
Formatee las traducciones con gdal_translate
Reproyecta tus datos con gdalwarp
Mosaico de tus datos con gdal_warp or gdal_merge.py
Construya un shapefile como un tileindex raster con gdaltindex
- OGR
obtener información sobre sus datos con ogrinfo
use ogr2ogr para transformar sus datos a otros formatos
Lo único que se necesita este Inicio Rápido es una terminal. Si desea visualizar los resultados, puede utilizar una de las aplicaciones de Software GIS de Escritorio en OSGeoLive como QGIS.
Contenidos
Conozca GDAL¶
Encontrará los datos de la demo en /usr/local/share/data
. Queremos echar un vistazo a Natural Earth data en este inicio rápido. Queremos trabajar con una copia de los datos. Así que el primer paso es copiar los datos en su directorio home.
cd /home/user
cp -R /usr/local/share/data/natural_earth2/ ./gdal_natural_earth
Entonces encontrará un archivo ráster de NaturalEarth y un .tfw World-file at:
ls /home/user/gdal_natural_earth/HYP_50M_SR_W.*
Truco
Abra el archivo con un SIG de Escritorio como QGIS y eche un vistazo.
Obtenga información acerca de los datos ráster con gdalinfo¶
gdalinfo HYP_50M_SR_W.tif
Driver: GTiff/GeoTIFF
Files: HYP_50M_SR_W.tif
HYP_50M_SR_W.tfw
Size is 10800, 5400
Coordinate System is `'
Origin = (-179.999999999999972,90.000000000000000)
Pixel Size = (0.033333333333330,-0.033333333333330)
Metadata:
TIFFTAG_SOFTWARE=Adobe Photoshop CS3 Macintosh
TIFFTAG_DATETIME=2009:09:19 10:13:17
TIFFTAG_XRESOLUTION=342.85699
TIFFTAG_YRESOLUTION=342.85699
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left (-180.0000000, 90.0000000)
Lower Left (-180.0000000, -90.0000000)
Upper Right ( 180.0000000, 90.0000000)
Lower Right ( 180.0000000, -90.0000000)
Center ( -0.0000000, 0.0000000)
Band 1 Block=10800x1 Type=Byte, ColorInterp=Red
Band 2 Block=10800x1 Type=Byte, ColorInterp=Green
Band 3 Block=10800x1 Type=Byte, ColorInterp=Blue
- Nota:
El operador es «GTiff/GeoTIFF»
El tamaño es 10800x5400
3 Bandas de tipo Byte.
Coordenadas
sin sistema de coordenadas
Traducción de formato simple¶
Primero Conozca a sus conductores.El modificador de línea de comando –formats de gdal_translate se puede usar para ver una lista de controladores de formato disponibles.
- Cada formato informa si es
Sólo lectura (ro),
Lectura/escritura (rw) o
leer/escribir/actualizar(rw+).
gdal_translate --formats
El modificador de línea de comando –format se puede usar para consultar detalles sobre un controlador en particular, incluidas las opciones de creación y los tipos de datos permitidos.
gdalinfo --format jpeg
gdal_translate --format png
Traducción¶
Las traducciones se logran con el comando gdal_translate. El formato de salida predeterminado es GeoTIFF. La bandera -of se utiliza para seleccionar un formato de salida y la bandera -co se utiliza para especificar una opción de creación:
gdal_translate -of JPEG -co QUALITY=40 HYP_50M_SR_W.tif HYP_50M_SR_W.jpg
El interruptor -ot puede usarse para modificar el tipo de datos de salida.
gdal_translate -ot Int16 HYP_50M_SR_W.tif HYP_50M_SR_W_Int16.tif
Uso gdalinfo para verificar el tipo de datos.
Reescalando¶
El interruptor -outsize puede usarse para definir el tamaño del archivo de salida.
gdal_translate -outsize 50% 50% HYP_50M_SR_W.tif HYP_50M_SR_W_small.tif
Usa gdalinfo para verificar el tamaño.
El interruptor -scale puede usarse para cambiar la escala de datos. Control explícito de las gamas de entrada y salidas también está disponible. El interruptor de gdalinfo -mm se puede usar para ver los valores mínimos/máximos de píxeles.
Vamos a dividir nuestra imagen en dos con -srcwin que hace una copia basada en pixel/línea localización (xoff yoff xsize ysize). También se puede usar -projwin y definir los ángulos en coordenadas georeferenciadas (ulx uly lrx lry).
gdalinfo -mm HYP_50M_SR_W.tif
gdal_translate -srcwin 0 0 5400 5400 HYP_50M_SR_W.tif west.tif
gdal_translate -srcwin 5400 0 5400 5400 HYP_50M_SR_W.tif east.tif
Ráster tileindex con gdaltindex¶
Puede crear un shapefile como un ráster tileindex. Cada imagen se genera un polígono con los límites de la extensión del polígono y la ruta de acceso al archivo.
gdaltindex index_natural_earth.shp *st.tif
Echa un vistazo a su salida shapefile con QGIS y ogrinfo (usted aprenderá más sobre ogrinfo más adelante en este tutorial)
ogrinfo index_natural_earth.shp index_natural_earth
INFO: Open of `index_natural_earth.shp'
using driver `ESRI Shapefile' successful.
Layer name: index_natural_earth
Geometry: Polygon
Feature Count: 2
Extent: (-180.000000, -90.000000) - (180.000000, 90.000000)
Layer SRS WKT: (unknown)
location: String (255.0)
OGRFeature(index_natural_earth):0
location (String) = east.tif
POLYGON ((-0.00000000001796 90.0,179.999999999964047 90.0,179.999999999964047 -89.999999999982009,-0.00000000001796 -89.999999999982009,-0.00000000001796 90.0))
OGRFeature(index_natural_earth):1
location (String) = west.tif
POLYGON ((-179.999999999999972 90.0,-0.00000000001796 90.0,-0.00000000001796 -89.999999999982009,-179.999999999999972 -89.999999999982009,-179.999999999999972 90.0))
Reproyectando¶
Para este proceso asumimos que HYP_50M_SR_W.tif se ha creado correctamente con límites. Como vimos antes con gdainfo ningún sistema de coordenadas fue configurado. Por lo tanto asignamos WGS84 como sistema de coordenadas de la imagen en el primer paso.
gdal_translate -a_srs WGS84 HYP_50M_SR_W.tif HYP_50M_SR_W_4326.tif
The gdalwarp command can be used to reproject images. Here we reproject the WGS84 geographic image to the Mercator projection:
gdalwarp -t_srs '+proj=merc +datum=WGS84' HYP_50M_SR_W_4326.tif mercator.tif
Usa gdalinfo para verificar el cambio y echarle un vistazo a la imagen.
Aquí reproyectamos a la proyección Ortho.
gdalwarp -t_srs '+proj=ortho +datum=WGS84' HYP_50M_SR_W_4326.tif ortho.tif
¿Nota cómo se recortan los polos? Esto es porque los bordes en el polo no pueden ser reproyectados, gdalwarp no lee todos los datos. Podemos forzar gdalwarp para leer un montón de datos excedentes en trozos como una manera de resolver esto. Lea más sobre esto en el RasterTutorial de https://trac.osgeo.org/gdal/wiki/UserDocs/RasterProcTutorial.
Mosaico¶
gdal_merge.py es un script en python que se puede utilizar para tareas sencillas de mosaico. Mosaico de east.tif y west.tif en un solo archivo:
gdal_merge.py east.tif west.tif -o merged.tif
La misma tarea puede realizarse con gdalwarp. gdalwarp tiene una variedad de ventajas sobre gdal_merge, pero puede ser lento para fusionar varios archivos:
gdalwarp east.tif west.tif warpmerged.tif
Conozca OGR¶
cd /home/user/gdal_natural_earth/
Truco
Abra el shape file con un SIG de Escritorio como QGIS y eche un vistazo.
Obtener información acerca de los datos de vector con ogrinfo¶
ogrinfo -ro /home/user/gdal_natural_earth
INFO: Open of `/home/user/gdal_natural_earth'
using driver `ESRI Shapefile' successful.
1: ne_10m_populated_places (3D Point)
2: ne_10m_geography_regions_polys (3D Polygon)
3: ne_10m_admin_1_states_provinces_shp (3D Polygon)
4: ne_10m_urban_areas (3D Polygon)
5: ne_10m_geography_marine_polys (3D Polygon)
6: ne_10m_land (3D Polygon)
7: ne_10m_geography_regions_elevation_points (3D Point)
8: ne_10m_admin_0_countries (3D Polygon)
9: ne_10m_rivers_lake_centerlines (3D Line String)
10: ne_10m_lakes (3D Polygon)
11: ne_10m_geography_regions_points (3D Point)
12: ne_10m_ocean (3D Polygon)
Obtenga un resumen de sus datos con ogrinfo junto con -so.
ogrinfo -ro -so ne_10m_admin_0_countries.shp ne_10m_admin_0_countries
INFO: Open of `ne_10m_admin_0_countries.shp'
using driver `ESRI Shapefile' successful.
Layer name: ne_10m_admin_0_countries
Geometry: 3D Polygon
Feature Count: 254
Extent: (-180.000000, -90.000000) - (180.000000, 83.634101)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
DATUM["WGS_1984",
SPHEROID["WGS_84",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]]
scalerank: Integer (4.0)
featurecla: String (30.0)
labelrank: Real (16.6)
sovereignt: String (254.0)
sov_a3: String (254.0)
adm0_dif: Real (16.6)
level: Real (16.6)
type: String (254.0)
admin: String (254.0)
adm0_a3: String (254.0)
geou_dif: Real (16.6)
geounit: String (254.0)
gu_a3: String (254.0)
su_dif: Real (16.6)
subunit: String (254.0)
su_a3: String (254.0)
brk_diff: Real (16.6)
name: String (254.0)
name_long: String (254.0)
brk_a3: String (254.0)
brk_name: String (254.0)
brk_group: String (254.0)
abbrev: String (254.0)
postal: String (254.0)
formal_en: String (254.0)
formal_fr: String (254.0)
note_adm0: String (254.0)
note_brk: String (254.0)
name_sort: String (254.0)
name_alt: String (254.0)
mapcolor7: Real (16.6)
mapcolor8: Real (16.6)
mapcolor9: Real (16.6)
mapcolor13: Real (16.6)
pop_est: Real (16.6)
gdp_md_est: Real (16.6)
pop_year: Real (16.6)
lastcensus: Real (16.6)
gdp_year: Real (16.6)
economy: String (254.0)
income_grp: String (254.0)
wikipedia: Real (16.6)
fips_10: String (254.0)
iso_a2: String (254.0)
iso_a3: String (254.0)
iso_n3: String (254.0)
un_a3: String (254.0)
wb_a2: String (254.0)
wb_a3: String (254.0)
woe_id: Real (16.6)
adm0_a3_is: String (254.0)
adm0_a3_us: String (254.0)
adm0_a3_un: Real (16.6)
adm0_a3_wb: Real (16.6)
continent: String (254.0)
region_un: String (254.0)
subregion: String (254.0)
region_wb: String (254.0)
name_len: Real (16.6)
long_len: Real (16.6)
abbrev_len: Real (16.6)
tiny: Real (16.6)
homepart: Real (16.6)
Si ejecuta ogrinfo sin un parámetro obtendrá un resumen sobre los datos y luego una sección para cada conjunto de datos.
ogrinfo -ro ne_10m_admin_0_countries.shp ne_10m_admin_0_countries
Podrá enviar el resultado de ogrinfo a grep para filtrar y obtener solamente el atributo PAÍS.
ogrinfo ne_10m_admin_0_countries.shp ne_10m_admin_0_countries | grep 'admin '
admin (String) = Aruba
admin (String) = Afghanistan
admin (String) = Angola
admin (String) = Anguilla
admin (String) = Albania
admin (String) = Aland
admin (String) = Andorra
etc.
Puede convertir sus datos a otros formatos. Obtener la lista de los formatos compatibles con –formats.
Utilizar ogr2ogr para convertir datos entre formatos de archivo¶
Puede utilizar ogr2ogr para convertir datos de características simples entre formatos de archivo. Puede utilizar –formats para obtener la lista de los formatos soportados con información de lectura/escritura.
Convertir a los países a GML.
ogr2ogr --formats
ogr2ogr -f GML countries.xml ne_10m_admin_0_countries.shp
Cosas para probar¶
Aquí hay algunos desafíos adicionales para que intentes:
Pruebe gdalwarp o gdal_merge.py para hacer un mosaico con sus datos
Pruebe gdaladdo para construir descripciones internas
QGIS usa GDAL/OGR también para soporte de muchos formatos. Además proporciona el Plugin de GdalTools para procesar datos ráster. Este plugin integra las herramientas gdal en QGIS.
Pruebe ogr2ogr para importar/exportar los datos de vector a otros formatos como PostGIS. Eche un vistazo a las opciones que ogr2ogr proporciona.
Pruebe el plugin OGR-Layer-Konverter de QGIS.
¿Qué sigue?¶
Esto es sólo el primer paso en el camino al uso de GDAL y OGR. Hay mucha más funcionalidad que puede probar.
Proyecto GDAL inicio
GDAL Raster Tutorial
GDAL Workshop