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:
ls /home/user/gdal_natural_earth/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
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
- Huomautus:
Ajuri on ”GTiff/GeoTIFF”
Koko on 10800x5400
3 kaistaa, joiden tyyppi on Byte.
Koordinaatit
ei koordinaattititietoja
Yksinkertainen käännösmuoto¶
Ensimmäiseksi on tiedettävä ajurit. Komennolla ”–formats” gdal_translate-komennon perässä saat nähtäväksi luettelon kaikista käytettävissä olevista tietoformaateista.
- Kukin formaatti kertoo osaltaan, onko se
vain luku-oikeuden omaava (ro),
luku/kirjoitusoikeuden omaava (rw) vai
luku-/kirjoitus-/päivitysoikeuden omava (rw+).
gdal_translate --formats
”–format”-muuttujan avulla voidaan kysellä tietoja ajureista, mukaan lukien luonti asetukset ja sallitut tietotyypit.
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)
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))
Uudelleenheijastaminen¶
Tämän prosessin oletetaan, että HYP_50M_SR_W. tif on luotu oikein rajoja. Kuten näimme ennen gdainfo ei koordinoida järjestelmä oli asetettu. Joten me antaa WGS84 koordinaatti järjestelmän kuvan ensimmäisessä vaiheessa.
gdal_translate -a_srs WGS84 HYP_50M_SR_W.tif HYP_50M_SR_W_4326.tif
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.
Tässä me reproject on Ortho projektiota.
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.
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_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)
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
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)
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