

GDAL/OGR Snabbstart¶
Denna snabbstart är indelad i två delar: GDAL (rasterdata) och OGR (vektordata).
Denna snabbstart beskriver hur du gör:
- GDAL
Utforska dina bilddata med gdalinfo
Formatera översättningar med gdal_translate
Omprojicera dina data med gdalwarp
Mosaikera dina data med gdal_warp eller gdal_merge.py
Skapa en shapefil som ett raster tileindex med gdaltindex
- OGR
få information om dina data med ogrinfo
använd ogr2ogr för att omvandla dina data till andra format
Det enda du behöver för den här snabbstarten är en terminal. Om du vill visualisera resultaten kan du använda en av Desktop GIS Software-applikationerna på OSGeoLive, t.ex. QGIS.
Lär känna GDAL¶
Du hittar demodata i /usr/local/share/data
. Vi vill ta en titt på Natural Earth data i den här snabbstarten. Vi vill arbeta med en kopia av data. Så det första steget är att kopiera data till din hemkatalog.
cd /home/user
cp -R /usr/local/share/data/natural_earth2/ ./gdal_natural_earth
Du hittar sedan en NaturalEarth Raster-fil och en .tfw World-fil på:
cd /home/user/gdal_natural_earth
ls HYP_50M_SR_W.*
Tips
Öppna filen med ett Desktop GIS som QGIS och ta en titt.
Hämta information om rasterdata med gdalinfo¶
gdalinfo HYP_50M_SR_W.tif
Driver: GTiff/GeoTIFF
Files: HYP_50M_SR_W.tif
Size is 10800, 5400
Coordinate System is:
GEOGCRS["WGS 84",
ENSEMBLE["World Geodetic System 1984 ensemble",
...
Origin = (-179.999999999999972,90.000000000000000)
Pixel Size = (0.033333333333330,-0.033333333333330)
Metadata:
TIFFTAG_SOFTWARE=Adobe Photoshop CS5 Macintosh
TIFFTAG_DATETIME=2012:07:16 09:16:14
TIFFTAG_XRESOLUTION=342.85699
TIFFTAG_YRESOLUTION=342.85699
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
AREA_OR_POINT=Area
Image Structure Metadata:
SOURCE_COLOR_SPACE=YCbCr
COMPRESSION=YCbCr JPEG
INTERLEAVE=PIXEL
JPEG_QUALITY=90
JPEGTABLESMODE=3
Corner Coordinates:
Upper Left (-180.0000000, 90.0000000) (180d 0' 0.00"W, 90d 0' 0.00"N)
Lower Left (-180.0000000, -90.0000000) (180d 0' 0.00"W, 90d 0' 0.00"S)
Upper Right ( 180.0000000, 90.0000000) (180d 0' 0.00"E, 90d 0' 0.00"N)
Lower Right ( 180.0000000, -90.0000000) (180d 0' 0.00"E, 90d 0' 0.00"S)
Center ( -0.0000000, 0.0000000) ( 0d 0' 0.00"W, 0d 0' 0.00"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Red
Band 2 Block=256x256 Type=Byte, ColorInterp=Green
Band 3 Block=256x256 Type=Byte, ColorInterp=Blue
- Anteckning:
Drivrutin är ”GTiff/GeoTIFF”
Storleken är 10800x5400
3 band av typen Byte.
Koordinater
inget koordinatsystem
Enkel översättning av format¶
First get to know your drivers. The –formats command line switch of gdal_translate can be used to see a list of available format drivers.
- Each format reports if it supports the following features:
read only (ro)
read/write (rw)
read/write/update (rw+)
supports virtual file systems (v)
supports subdatasets (s)
gdal_translate --formats
The –format command line switch can be used to query details about a particular driver, including creation options, and permitted data types.
gdalinfo --format jpeg
gdal_translate --format png
Översättning¶
Översättningar görs med kommandot gdal_translate. Standardformatet för utdata är GeoTIFF. Flaggan -of används för att välja ett utdataformat och flaggan -co används för att ange ett skapandealternativ:
gdal_translate -of JPEG -co QUALITY=40 HYP_50M_SR_W.tif HYP_50M_SR_W.jpg
Omkopplaren -ot kan användas för att ändra typen av utdata.
gdal_translate -ot Int16 HYP_50M_SR_W.tif HYP_50M_SR_W_Int16.tif
Använd gdalinfo för att verifiera datatyp.
Skalning¶
Omkopplaren -outsize kan användas för att ställa in storleken på utdatafilen.
gdal_translate -outsize 50% 50% HYP_50M_SR_W.tif HYP_50M_SR_W_small.tif
Använd gdalinfo för att verifiera storleken.
Omkopplaren -scale kan användas för att skala om data. Explicit kontroll av in- och utmatningsintervallen är också tillgänglig. Omkopplaren gdalinfo -mm kan användas för att se pixlarnas min/max-värden.
Låt oss dela upp vår bild i två delar med -srcwin som gör en kopia baserad på pixel/linjeplacering (xoff yoff xsize ysize). Du kan också använda -projwin och definiera hörnen i georefererade koordinater (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
Raster tileindex med gdaltindex¶
Du kan bygga en shapefil som ett rastertileindex. För varje bild genereras en polygon med gränserna för polygonens utbredning och sökvägen till filen.
gdaltindex index_natural_earth.shp *st.tif
Ta en titt på din shapefil med QGIS och ogrinfo (du kommer att lära dig mer om ogrinfo senare i denna handledning)
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
Metadata:
DBF_DATE_LAST_UPDATE=2025-05-13
Geometry: Polygon
Feature Count: 2
Extent: (-180.000000, -90.000000) - (180.000000, 90.000000)
Layer SRS WKT:
GEOGCRS["WGS 84",
...
location: String (254.0)
OGRFeature(index_natural_earth):0
location (String) = west.tif
POLYGON ((-180 90.0,-0.000000000017963 90.0,-0.000000000017963 -89.999999999982,-180 -89.999999999982,-180 90.0))
OGRFeature(index_natural_earth):1
location (String) = east.tif
POLYGON ((-0.000000000017963 90.0,179.999999999964 90.0,179.999999999964 -89.999999999982,-0.000000000017963 -89.999999999982,-0.000000000017963 90.0))
Omprojektering¶
For this process we assume that HYP_50M_SR_W.tif has been properly created with bounds.
Kommandot gdalwarp kan användas för att omprojicera bilder. Här omprojicerar vi den geografiska WGS84-bilden till Mercator-projektionen:
gdalwarp -t_srs '+proj=merc +datum=WGS84' HYP_50M_SR_W_4326.tif mercator.tif
Använd gdalinfo för att verifiera ändringen och ta en titt på bilden.
Här omprojicerar vi till Ortho-projektionen.
gdalwarp -t_srs '+proj=ortho +datum=WGS84' HYP_50M_SR_W_4326.tif ortho.tif

Note how the poles are clipped? This is because the edges at the pole can’t be reprojected gdalwarp does not read all the data. We can force gdalwarp to read a bunch of surplus data around chunks as one way to resolve this.
Mosaik¶
gdal_merge.py är ett pythonskript som kan användas för enkla mosaikuppgifter. Mosaikera east.tif och west.tif till en enda fil:
gdal_merge.py east.tif west.tif -o merged.tif
Samma uppgift kan utföras med gdalwarp. gdalwarp har en mängd fördelar jämfört med gdal_merge, men kan vara långsam när många filer ska slås samman:
gdalwarp east.tif west.tif warpmerged.tif
Lär känna OGR¶
cd /home/user/gdal_natural_earth/
Tips
Öppna shape-filen med ett Desktop GIS som QGIS och ta en titt.
Hämta information om vektordata med ogrinfo¶
ogrinfo -ro /home/user/gdal_natural_earth
INFO: Open of `/home/user/gdal_natural_earth'
using driver `ESRI Shapefile' successful.
1: ne_10m_geography_regions_polys (Polygon)
2: ne_10m_populated_places (Point)
3: ne_10m_urban_areas (Polygon)
4: ne_10m_geography_marine_polys (Polygon)
5: ne_10m_admin_1_states_provinces_shp (Polygon)
6: ne_10m_admin_0_countries (Polygon)
7: ne_10m_ocean (Polygon)
8: ne_10m_rivers_lake_centerlines (Line String)
9: ne_10m_land (Polygon)
10: index_natural_earth (Polygon)
11: ne_10m_geography_regions_elevation_points (Point)
12: ne_10m_geography_regions_points (Point)
13: ne_10m_lakes (Polygon)
Få en sammanfattning av dina data med ogrinfo tillsammans med -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
Metadata:
DBF_DATE_LAST_UPDATE=2012-11-05
Geometry: Polygon
Feature Count: 254
Extent: (-180.000000, -90.000000) - (180.000000, 83.634101)
Layer SRS WKT:
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
...
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)
Om du kör ogrinfo utan en parameter får du en sammanfattning av dina data och därefter ett avsnitt för varje dataset.
ogrinfo -ro ne_10m_admin_0_countries.shp ne_10m_admin_0_countries
Du kan vidarebefordra resultatet från ogrinfo till grep för att filtrera och bara få attributet COUNTRY.
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.
Du kan konvertera dina data till andra format. Hämta listan över de format som stöds med –formats.
Använd ogr2ogr för att konvertera data mellan filformat¶
Du kan använda ogr2ogr för att konvertera enkla funktionsdata mellan filformat. Du kan använda –formats för att få en lista över de format som stöds med läs-/skrivinformation.
Konvertera länderna till GML.
ogr2ogr --formats
ogr2ogr -f GML countries.xml ne_10m_admin_0_countries.shp
Saker att prova¶
Här är några ytterligare utmaningar som du kan prova:
Prova gdalwarp eller gdal_merge.py för att mosaikera dina data
Prova gdaladdo för att bygga interna översikter
QGIS använder också GDAL/OGR för att stödja många format. Det tillhandahåller också GdalTools Plugin för att bearbeta rasterdata. Detta plugin integrerar gdal-tools i QGIS.
Prova ogr2ogr för att importera/exportera dina vektordata till andra format som PostGIS. Ta en titt på de alternativ som ogr2ogr erbjuder.
Prova QGIS-plugin-programmet OGR-Layer-Konverter.
Hur vill du gå vidare?¶
Detta är bara det första steget på vägen mot att använda GDAL och OGR. Det finns mycket mer funktionalitet som du kan prova.
GDAL-projektets hemsida
GDAL Raster Handledning
GDAL-workshop