../../_images/logo_gdal.png ../../_images/OSGeo_project.png

GDAL/OGR Pika-aloitus

Tämä pika-aloitus on jaettu kahteen osaan: GDAL (rasteritiedot) ja OGR (vektoritiedot).

Tässä Pika-aloitusnäytössä kuvataan, miten:

GDAL
  • Tarkastele kuvaaineistoihin gdalinfon avulla

  • Muotoile aineistokäännökset gdal_translaten avulla

  • Uudelleenprojekti aineistosi gdalwarpin avulla

  • Tee kuvamosaiikki aineistoistasi gdal_warp- tai gdal_merge.py-komentojen avulla

  • Tuota shapefile-tiedosto rasteri-karttalehti-indeksiksi gdaltindex-komennon avulla

OGR
  • aineistotietojen saamiseen ogrinfo-komennon avulla

  • aineistojen muuttaminen eri tietoformaatteihin ogr2ogr-työkalun avulla

Tarvitset vain päätteen. Jos haluat visualisoida tulokset, voit käyttää yhtä DESKTOP GIS Software -sovelluksesta OSGeoLivessä kuten QGIS.

Tutustu GDAL-ohjelmaan

Demodata löytyy /usr/local/share/data. Tässä Pika-aloituksessa haluamme vilkaista Natural Earth -aineistoihin. Työskentelemme aineistokopion kanssa. Näin ensimmäinen askel on kopioida tiedot kotihakemistoosi.

cd /home/user
cp -R /usr/local/share/data/natural_earth2/ ./gdal_natural_earth

Sitten löydät NaturalEarth rasteriaineiston ja .tfw World-tiedoston kansiosta:

cd /home/user/gdal_natural_earth
ls HYP_50M_SR_W.*

Vihje

Avaa tiedosto Desktop GIS -ohjelmistossa, kuten QGIS, ja tutustu aineistoon.

Saat tietoja rasteriaineistoista gdalinfon avulla

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
Huomautus:
  • Ajuri on ”GTiff/GeoTIFF”

  • Koko on 10800x5400

  • 3 kaistaa, joiden tyyppi on Byte.

  • Koordinaatit

  • ei koordinaattititietoja

Yksinkertainen käännösmuoto

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

Käännös

Käännökset on suoritettu gdal_translate komennolla. Oletuksena tulostiedoston muoto on GeoTIFF. Muuttujaa ’-of ’ käytetään valitsemaan tulostiedoston muoto ja -co -muuttujaa taas käytetään määrittämään tiedoston luomisen asetuksia:

gdal_translate -of JPEG -co QUALITY=40 HYP_50M_SR_W.tif HYP_50M_SR_W.jpg

Muuttujaa ’-ot ’ voidaan käyttää muuttamaan tulostiedoston tietotyyppiä.

gdal_translate -ot Int16 HYP_50M_SR_W.tif HYP_50M_SR_W_Int16.tif

Tarkista tietotyyppi gdalinfo-komennon avulla.

Uudelleenskaalaus

Muuttuja ’-outsize ’ voidaan määrittää tulostiedoston koko.

gdal_translate -outsize 50% 50% HYP_50M_SR_W.tif  HYP_50M_SR_W_small.tif

Tarkista tiedoston koko gdalinfo-komennon avulla.

Muuttujaa -scale voidaan käyttää tietojen uudelleenskaalaukseen. Syötteiden ja tulosteiden vaihteluvälejä voidaan myös hallita eksplisiittisesti. Tulo-ja lähtö alueiden tarkka hallinta on myös käytettävissä. Gdalinfo-kommenon ’-mm’-muuttujalla voidaan nähdä pikselien minimi/maksimiarvot.

Jaetaan kuvamme nyt kahteen ”-srcwin” -muuttujalla, joka tekee kopion perustuen pikselin/rivin sijaintiin (xoff yoffx xsize ysize). Voit myös käyttää ’-projwin’ -muuttujaa ja kulmat georeferoidu koordinaatit (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 kanssa gdaltindex

Voit luoda shapefile-tiedoston rasteri tileiksi. Jokaista kuvaa varten luodaan monikulmio, jossa on monikulmion laajuuden ja tiedoston polun rajat.

gdaltindex index_natural_earth.shp *st.tif

Vilkaista tuotoksen shapefile kanssa QGIS ja ogrinfo (opit lisää ogrinfo myöhemmin tässä opetus ohjelmassa)

../../_images/gdal_gdaltindex.png
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))

Uudelleenheijastaminen

For this process we assume that HYP_50M_SR_W.tif has been properly created with bounds.

Gdalwarp-komentoa voidaan käyttää kuvien uudelleenprojektiin. Tässä uudistamme WGS84 maantieteellisen kuvan Mercator-projektille:

gdalwarp -t_srs '+proj=merc +datum=WGS84' HYP_50M_SR_W_4326.tif mercator.tif

Käytä gdalinfo tarkistaa muutoksen ja vilkaista kuvaa.

../../_images/gdal_mercator.png

Tässä me reproject on Ortho projektiota.

gdalwarp -t_srs '+proj=ortho +datum=WGS84' HYP_50M_SR_W_4326.tif ortho.tif
../../_images/gdal_ortho.png

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.

Mosaiikki

gdal_merge. py on python-skripti, jota voidaan käyttää yksinkertaisiin mosaicking tehtäviin. Mosaic East. tif ja West. tif yhdeksi tiedostoksi:

gdal_merge.py  east.tif west.tif -o merged.tif

Sama tehtävä voidaan toteuttaa gdalwarp. gdalwarp has eri-lta edullinen aikana gdal_merge, ainoastaan kanisteri olla hitaasti jotta fuusioida usea arkistoida:

gdalwarp east.tif west.tif warpmerged.tif

Tutustu OGR

cd /home/user/gdal_natural_earth/

Vihje

Avaa muoto tiedosto Desktop GIS kuten QGIS, ja Katso.

Saat tietoja vektori tiedoista 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)

Saat yhteenvedon tietoja ogrinfo yhdessä ”-niin”.

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)

Jos suoritat ogrinfo-parametrin ilman parametria, saat tiedoista yhteenvedon ja sen jälkeen osion jokaista tieto joukkoa varten.

ogrinfo -ro ne_10m_admin_0_countries.shp ne_10m_admin_0_countries

Voit välittää tuloksen ogrinfo ja grep suodattaa ja saada vain määrite maa.

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.

Voit muuntaa tiedot muihin muotoihin. Hae tuettujen muotojen luettelo ”–formaateilla”.

Tietojen muuntaminen tiedosto muotojen välillä ogr2ogr avulla

Voit käyttää ogr2ogr muuntaa yksinkertaisia ominaisuuksia tietojen välillä tiedosto muotoja. Voit käyttää ’–formaatteja ’ saadaksesi luettelon tuetuista muodoista luku-ja kirjoitus tiedoilla.

Muunna maat GML:ksi.

ogr2ogr --formats
ogr2ogr -f GML countries.xml ne_10m_admin_0_countries.shp

Kokeiltavaa

Seuraavassa on joitakin lisä haasteita, joita voit kokeilla:

  • Kokeile gdalwarp tai gdal_merge. py mosaiikki tietosi

  • Kokeile gdaladdo rakentaa sisäisiä katsauksen

  • QGIS käyttää GDAL/OGR liikaa eri muodoissa. Se kin ehkäistä GdalTools ampua jotta jalostaa rasteri aineisto. Tämä plugin integroi gdal-Tools osaksi QGIS.

  • Kokeile ogr2ogr tuoda/viedä vektori tietoja muihin muotoihin, kuten PostGIS. Tutustu vaihto ehtoja ogr2ogr säädetään.

  • Kokeile QGIS plugin OGR-Layer-Konverter.

Mitä seuraavaksi?

Tämä on vasta ensimmäinen askel tiellä käyttää GDAL ja OGR. Paikalla on arpa enemmän funktionalismi te kanisteri koetus.

GDAL-projektin koti sivu

GDAL Raster opetus ohjelma

GDAL työpaja