gdalwarp¶
gdalwarp - transformuje rastrové soubory do různých formátů, pomáhá s tvorbou výřezů, změna rozlišení, atd.
Usage: gdalwarp [--help-general] [--formats]
[-s_srs srs_def] [-t_srs srs_def] [-to "NAME=VALUE"]* [-vshift | -novshift]
[[-s_coord_epoch epoch] | [-t_coord_epoch epoch]]
[-order n | -tps | -rpc | -geoloc] [-et err_threshold]
[-refine_gcps tolerance [minimum_gcps]]
[-te xmin ymin xmax ymax] [-tr xres yres] [-tap] [-ts width height]
[-ovr level|AUTO|AUTO-n|NONE] [-wo "NAME=VALUE"] [-ot Byte/Int16/...] [-wt Byte/Int16]
[-srcnodata "value [value...]"] [-dstnodata "value [value...]"] -dstalpha
[-r resampling_method] [-wm memory_in_mb] [-multi] [-q]
[-cutline datasource] [-cl layer] [-cwhere expression]
[-csql statement] [-cblend dist_in_pixels] [-crop_to_cutline]
[-if format]* [-of format] [-co "NAME=VALUE"]* [-overwrite]
[-nomd] [-cvmd meta_conflict_value] [-setci] [-oo NAME=VALUE]*
[-doo NAME=VALUE]*
srcfile* dstfile
Available resampling methods:
near (default), bilinear, cubic, cubicspline, lanczos, average, rms,
mode, max, min, med, Q1, Q3, sum.
Příklad použití:
gdalwarp _data/T33UWQ_20220907T095549_TCI.jp2 _data/T33UWQ_20220907T095549_TCI.tiff
Příklad výstupu:
Creating output file that is 10980P x 10980L.
Processing _data/T33UWQ_20220907T095549_TCI.jp2 [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
Výstupní soubor není jinak komprimovaný a je uložený ve formátu GeoTIFF
gdalinfo _data/T33UWQ_20220907T095549_TCI.tiff
Driver: GTiff/GeoTIFF
Files: _data/T33UWQ_20220907T095549_TCI.tiff
[...]
129M T33UWQ_20220907T095549_TCI.jp2
345M T33UWQ_20220907T095549_TCI.tiff
Změna formátu¶
Většinou stačí použít správnou koncovku souboru (.tiff
, jp2
, …). Formát souboru můžete vynutit parametrem -of
gdalwarp -of GTiff _data/T33UWQ_20220907T095549_B02.jp2 _data/T33UWQ_20220907T095549_B02.tiff
Transformace souřadnicového systému¶
Pro přiřazení zdrojového souřadnicového systému (pokud není známý), použijte parametr -s_srs
.
Pro cílový systém použijte parametr -t_srs
. Můžete využít zápis pomocí EPSG:číslo
.
gdalwarp -t_srs epsg:3857 _data/T33UWQ_20220907T095549_B02.jp2 _data/T33UWQ_20220907T095549_B02-mercator.tiff
Výřez z rastru pomocí hraničních souřadnic¶
Výřez zájmové oblasti lze získat parametrem -te minx miny maxx maxy
(target extent). Souřadnice jsou v cílovém souřadnicovém systému.
gdalwarp -t_srs epsg:5514 -te -674104 -1132755 -664471 -1125733 _data/T33UWQ_20220907T095549_B02.jp2 _data/T33UWQ_20220907T095549_B02-krovak-jihlava.tiff
Změna rozlišní, velikosti, interpolace¶
- Pro změnu rozlišení rastru slouží parametr
-tr xres yres
(target resolution). - Pro změnu velikosti rastru (nepřímo tedy rozlišení) parametr
-ts xsize ysize
(target size).
- Ve výchozím nastavení se využívá metoda nejbližšího souseda. Vybrat jiný způsob lze za použití parametru
-r
(resampling) a na výběr máme z metod - nearest
- bilinear
- cubic
- cubicspline
- lanczos
- average
- mode
Důležitý je také přepínač -tap
(target aligned pixels) - hraniční souřadnice výstupního souboru jsou přizpůsobeny požadovanému rozlišení (-tr
). Přizpůsobení znamená, že poměry xmin/resx, ymin/resy, xmax/resx a ymax/resy jsou celá čísla.
Příklad:
Digitální model terénu zájmové oblasti:
gdalinfo _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif
[...]
Převod na S-JTSK, region Jihlava, v požadovaném rozlišení:
gdalwarp -t_srs epsg:5514 -te -674104 -1132755 -664471 -1125733 -tr 80 80 _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif _data/dem-krovak-jihlava.tiff
gdalinfo _data/dem-krovak-jihlava.tiff
[...]
Pixel Size = (80.000000000000000,-80.000000000000000)
Úkol
Porovnejte požadovaný extent -te
s výstupem z gdalinfo
- odpovídají hraniční souřadnice?
Využití parametru -tap
pro přesné „zaříznutí“ okrajů.
gdalwarp -t_srs epsg:5514 -te -674104 -1132755 -664471 -1125733 -tr 80 80 _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif _data/dem-krovak-jihlava-tap.tiff
Převzorkování na 2x lepší rozlišení
gdalwarp -t_srs epsg:5514 -te -674104 -1132755 -664471 -1125733 -tr 40 40 -r cubicspline _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif _data/dem-krovak-jihlava-40m.tiff
Ořez pomocí vektorové vrstvy¶
Parametrem -cutline
můžeme definovat vektorovou vrstvu, která bude použita na ořez rastrových buněk.
gdalwarp -t_srs epsg:5514 -cutline _data/659673/KATASTRALNI_UZEMI_P.shp _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif _data/dem-krovak-jihlava-cut.tiff
Další parametry slouží pro přesnější výběr linie ořezu:
-cutline_proj
- Zadat projekci linie, pokud není definována
-cl
- Pokud je ve vektorovém datovém zdroji více vrstev, lze vybrat tu správnou
-cwhere
- SQL
WHERE
podmínka pro výběr prvků z vektorového datasetu. -cblend
- Rozmazání okrajů výřezu. Dá se použít na prolnutí s jinými daty
-crop_to_cutline
- Ořízne rastrovou mapu na nejmenší obdélník okolo cutline
Nastavení hodnoty NODATA¶
Pro vstupní rastr můžeme hodnotu vynutit, pro výstupní nastavit parametry -srcnodata
a -dstnodata
V našem případě nastavíme hodnotu NODATA na hodnotu -9999, aby při prohlížení nebyl rastr „černý“.
gdalwarp -t_srs epsg:5514 -dstnodata -9999 -cutline _data/659673/KATASTRALNI_UZEMI_P.shp _data/Copernicus_DSM_COG_30_N49_00_E015_00_DEM.tif _data/dem-krovak-jihlava-nodata.tiff