Přeskočit obsah

08. Další otevřený GIS (SAGA, gvSIG)

V této části se podíváme na dva méně časté GIS software:

  • SAGA
  • gvSIG

SAGA

SAGA (System for Automated Geoscientific Analyses) je multiplatformní (Microsoft Windows, Linux, Mac, FreeBSD) GIS licencovaný pod GNU-GPL. Systém původně vznikl jako projekt na Univerzitě Georga Augusta v Göttingenu.

Zde jsme vybrali několik silných stránek SAGA GIS:

  • velice malý (komprimovaný zdrojový kód má pod 10 MB)
  • oproti QGISu větší detail při zobrazení dat
  • lze používat z prostředí QGIS
  • rozhraní pro terminál
  • "jednoduché" GUI
  • zobrazení 3D dat
    • běžné způsoby i způsob vyžadující 3D brýle
  • silný především ve zpracovávání terénních dat

Přirozeně má též nějaké slabé stránky:

  • protože je méně používaný, dokumentace je omezenější
  • nemá automatizovanou opravu topologie
  • velice omezené kartografické nástroje
  • velice omezené nástroje pro manipulaci s daty a jejich editaci

Posouzení potenciálních toků těžkých kovů z těžebních oblastí

Poslední ze jmenovaných silných stránek byla analýza terénu. To byl také původní důvod, proč SAGA GIS vznikl. Proto SAGA GIS obsahuje mnoho nástrojů pro modelování erozních a hydrologických procesů, osvětlení a viditelnosti, stability půdy a svahů nebo šíření požárů. V našem příkladě se tedy podíváme na praktický příklad z této oblasti.

Naším úkolem bude analyzovat potenciální toky těžkých kovů z těžební oblasti v Bombaně v jihovýchodním Celebesu (Sulawesi). Tyto potenciálně toxické aktivity vznikají ve zlatých dolech, kde dochází k amalgamaci zlata za použití tekuté rtuti. Toky vzniknuvší z důvodu eroze a sedimentace jsou škodlivé pro životní prostředí stejně jako pro lidský život. Náš příklad silně vychází z analýzy provedené roku 2015 a dostupné v knize příkladů pro SAGA GIS vydané roku 2017. Data, s kterými pracujeme, byla poskytnuta zde (snímky Landsat) a zde (SRTM pro zájmovou oblast - Bombana), případně zde (SRTM pro celý Celebes) právě jako součást zmíněné knihy.

Poznámka

Předstažená data najdete na GIS.labu v adresáři Repository/155FGIS/08.

saga_gui

Nejdříve se podívejme, jak bychom náš proces zpracovávali v grafickém uživatelském prostředí.

Import dat

Obrazová data Landsat naimportujme pomocí nástroje Import with Options: Geoprocessing -> Imagery -> Landsat -> Landsat Import with Options.

Tip

Pokud snímky v nabídce nevidíte, může to být tím, že mají jinou koncovku (např. .TIF namísto .GEOTIFF).

Skrze File -> Open si nahrajme také digitální model terénu.

Tip

Chcete-li importovaný dataset přejmenovati, můžete tak učiniti po rozkliku dat v záložce Data okna Manager.

Identifikace toků z těžařských oblastí

Z těžebních oblastí (v horském terénu) budou těžké kovy odváděti vodní toky. Voda navíc bývá v takových oblastech zadržována. Potenciální oblasti budou se tedy na pevninské části snímku jeviti jako modré. Pokud se při nějakém přiblížení jeví snímek jako přesvícený, můžete si přenastavit histogram tak, aby jeho rozsah odpovídal výřezu, který se momentálně nachází v mapovém okně.

Protože není zapotřebí pracovati s celou Landsat dlaždicí, můžeme si z ní vyříznouti pouze zájmovou oblast. Ořízněme ji pomocí Geoprocessing -> Grid -> Grid System -> Clip Grids [interactive]. Abychom zájmovou oblast vybrali interaktivně, je zapotřebí zvoliti v mapovém okně Interact následující ikonku .

Nastavení gridovací funkce v našem případě vypadá následujícím způsobem:

Následně rozsegmentujme obraz na menší části pomocí OBIA (Object-Based Image Analysis). Toho docílíme použitím Geoprocessing -> Imagery -> Segmentation -> Object Based Image analysis.

Vhodnějšího zobrazení dosáhneme nastavením výplně vytvořených polygonů na průhlednou.

Při držení klávesy CTRL vyberme co největší množství polygonů obsahujících těžařské oblasti. Označené mnohoúhelníky exportujme do nové vrsty za použití Geoprocessing -> Shapes -> Selection -> Copy Selection to New Shapes Layernebo pomocí pravého tlačítka a možnosti Copy Selection to new Layer.

Pokud nalezneme mnohoúhelníky, které nám nevyhovují, je vhodné je odstraniti. Pro odstraňování jednotlivých (částí) mnohoúhelníků namísto mnohoúhelníků celých je doporučováno z částí udělat mnohoúhelníky samostatné. Učiňme tak za použití Geoprocessing -> Shapes -> Polygons -> Polygon Parts to separate Polygons.

Označíme-li mnohoúhelníky vhodné k odstranění, odstranění samotné provedeme za použití Geoprocessing -> Shapes -> Selection -> Delete Selection from Shapes Layer nebo pomocí pravého tlačítka a možnosti Delete Selection.

Když už máme mnohoúhelníky vyčištěné, můžeme z nich učiniti jeden velký. Všechna data označme a přes pravé tlačítko zvolme Merge Selection.

Pro spuštění analýzy budeme potřebovati ještě dva další kroky. Rasterizaci mnohoúhelníků s vodními cestami a odfiltrování propadlišť v digitálním modelu terénu.

Konverzi z vektoru na rastr učiníme za využití Geoprocessing -> Grid -> Gridding -> Shapes to Grid.

Zpracování digitálního modelu terénu

Pro práci s digitálním modelem terénu je zapotřebí zaplniti bezodtokové oblasti. Toho dosáhneme použitím Geoprocessing -> Terrain Analysis -> Preprocessing -> Fill Sinks (Wang Liu).

Úkol

Vyzkoušejte si jiné algoritmy zaplňování bezodtokových oblastí než Wang Liův.

Úkol

Poznáte z Watershed basins, kam poplují sedimenty?

Výpočet toků

Náš výsledný tok nebezpečných kovů už při předpřipravených datech spočítáme lehce jedním příkazem: Geoprocessing -> Terrain analysis -> Hydrology -> Flow accumulation -> Flow accumulation (Top-Down)

Tip

Pokud chcete vidět Flow Accumulation nad snímkem LANDSAT, nastavte mu maximum No Data na hodnotu 0. Nuly se pak odfiltrují jako No Data.

Vybráním možnosti Show 3D-View se můžeme podívat na trojrozměrný model našich odtoků.

saga_cmd

K nástrojům však netřeba přistupovati přes GUI. Příznivci terminálu a automatizace jistě ocení existenci saga_cmd, id est rozhraní SAGA GIS pro terminál. saga_cmd je také tím nástrojem (knihovnou), který je volán na pozadí, přistupujeme-li k nástrojům SAGA GIS z prostředí QGIS.

Náš proces nebude možno přepsati do příkazů saga_cmd dokonale, protože jsme využívali i funkce již ze své podstaty existující jen při vizuální interpretaci, ale většina se automatizovat dá a pro ukázku přístupu ke knihovnám a nástrojům saga_cmd budou tyto části dostačovati.

Přehled knihoven do velké míry koresponduje s nabídkou Geoprocessing z GUI. Vypišmě si přehled balíčků pomocí pouhého saga_cmd:

> saga_cmd
____________________________

   #####   ##   #####    ##
  ###     ###  ##       ###
   ###   # ## ##  #### # ##
    ### ##### ##    # #####
 ##### #   ##  ##### #   ##
____________________________

SAGA Version: 9.8.0


86 loaded tool libraries (779 tools):
 - climate_tools
 - contrib_perego
 - db_odbc
 - db_pgsql
 - docs_html
 - docs_pdf
 - garden_fractals
 - garden_webservices
 - grid_analysis
 - grid_calculus
 - grid_calculus_bsl
 - grid_filter
 - grid_gridding
 - grid_spline
 - grid_tools
 - grid_visualisation
 - grids_tools
 - imagery_classification
 - imagery_isocluster
 - imagery_maxent
 - imagery_photogrammetry
 - imagery_segmentation
 - imagery_svm
 - imagery_tools
 - io_esri_e00
 - io_gdal
 - io_gps
 - io_grid
 - io_grid_image
 - io_shapes
 - io_table
 - io_virtual
 - io_webservices
 - pj_georeference
 - pj_geotrans
 - pj_proj4
 - pointcloud_tools
 - shapes_grid
 - shapes_lines
 - shapes_points
 - shapes_polygons
 - shapes_tools
 - shapes_transect
 - sim_air_flow
 - sim_cellular_automata
 - sim_ecosystems_hugget
 - sim_erosion
 - sim_geomorphology
 - sim_hydrology
 - sim_ihacres
 - sim_landscape_evolution
 - sim_qm_of_esp
 - sim_rivflow
 - statistics_grid
 - statistics_kriging
 - statistics_points
 - statistics_regression
 - ta_channels
 - ta_cliffmetrics
 - ta_compound
 - ta_hydrology
 - ta_lighting
 - ta_morphometry
 - ta_preprocessor
 - ta_profiles
 - ta_slope_stability
 - table_calculus
 - table_tools
 - tin_tools
 - vis_3d_viewer
 - _tool_chains_uncategorized *
 - climate_tools *
 - grid_filter *
 - grid_tools *
 - grids_tools *
 - imagery_classification *
 - imagery_segmentation *
 - io_table *
 - shapes_grid *
 - shapes_points *
 - shapes_polygons *
 - shapes_tools *
 - statistics_grid *
 - ta_hydrology *
 - ta_morphometry *
 - tta_tools *


*) tool chain libraries

[Error] select a library

type -h or --help for further information
Import dat

Obrazová data Landsat jsme importovali pomocí nástroje Import with Options: Geoprocessing -> Imagery -> Landsat -> Landsat Import with Options. Podívejme se tedy, jaký je obsah knihovny imagery_tools:

> saga_cmd --help imagery_tools
____________________________

   #####   ##   #####    ##
  ###     ###  ##       ###
   ###   # ## ##  #### # ##
    ### ##### ##    # #####
 ##### #   ##  ##### #   ##
____________________________

SAGA Version: 9.8.0

Image processing and analysis tools.

Library    : Tools
Category   : Imagery
File       : /usr/lib/x86_64-linux-gnu/saga/libimagery_tools.so
Description: Image processing and analysis tools.

Tools:
 [0]    Vegetation Index (Distance Based)
 [1]    Vegetation Index (Slope Based)
 [2]    Enhanced Vegetation Index
 [3]    Tasseled Cap Transformation
 [4]    IHS Sharpening
 [5]    Colour Normalized Brovey Sharpening
 [6]    Colour Normalized Spectral Sharpening
 [7]    Principal Component Based Image Sharpening
 [8]    Top of Atmosphere Reflectance
 [9]    Automated Cloud Cover Assessment
 [10]   Landsat Import with Options
 [11]   Textural Features
 [12]   Local Statistical Measures
 [13]   Universal Image Quality Index
 [14]   Import Landsat Scene
 [15]   Import Sentinel-2 Scene
 [16]   Import Sentinel-3 OLCI Scene
 [17]   Spectral Profile
 [19]   Topographic Correction
 [20]   Cloud Detection
 [21]   Cloud Shadow Detection
 [22]   Import SPOT Scene
 [23]   Decode Landsat Quality Assessment Bands
 [24]   'Awesome' Spectral Indices

Landsat Import with Options představuje átou Podívejme se na parametry nástroje obdobným způsobem:

> saga_cmd imagery_tools 10
____________________________

   #####   ##   #####    ##
  ###     ###  ##       ###
   ###   # ## ##  #### # ##
    ### ##### ##    # #####
 ##### #   ##  ##### #   ##
____________________________

SAGA Version: 9.8.0

____________________________
library path: /usr/lib/x86_64-linux-gnu/saga/
library name: libimagery_tools
library     : Tools
tool        : Landsat Import with Options
identifier  : 10
author      : O.Conrad (c) 2014
processors  : 24 [24]
____________________________


Usage: saga_cmd imagery_tools 10 [-FILES <str>] [-BANDS <str>] [-PROJECTION <str>] [-RESAMPLING <str>] [-SHOW_RGB <str>] [-SHOW_R <str>] [-SHOW_G <str>] [-SHOW_B <str>]
  -FILES:<str>      Files
    file path
  -BANDS:<str>      Bands
    grid list, output
  -PROJECTION:<str> Coordinate System
    choice
    Available Choices:
    [0] UTM North
    [1] UTM South
    [2] Geographic Coordinates
    Default: 0
  -RESAMPLING:<str> Resampling
    choice
    Available Choices:
    [0] Nearest Neighbour
    [1] Bilinear Interpolation
    [2] Bicubic Spline Interpolation
    [3] B-Spline Interpolation
    Default: 3
  -SHOW_RGB:<str>   Show a Composite
    boolean
    Default: 1
  -SHOW_R:<str>     Red
    choice
    Available Choices:
    [0] no choice available
    Default: 0
  -SHOW_G:<str>     Green
    choice
    Available Choices:
    [0] no choice available
    Default: 0
  -SHOW_B:<str>     Blue
    choice
    Available Choices:
    [0] no choice available
    Default: 0

Tip

Chcete-li podrobnější dokumentaci, dosáhnete jí přidání --help za příkaz saga_cmd: saga_cmd --help imagery_tools 10

Proveďme tedy import způsobem obdobným, jakým jsme vyplňovali možnosti v GUI. Lze-li do parametru propašovati více hodnot (v našem případě na příklad parametr -FILES), uzavřeme jej do uvozovek a jednotlivé položky oddělíme středníkem.

saga_cmd imagery_tools 10 \
    -FILES "/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B3.TIF;/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B6.TIF;/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B7.TIF" \
    -PROJECTION 1 \
    -SHOW_R "/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B7.TIF" \
    -SHOW_G "/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B6.TIF" \
    -SHOW_B "/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B3.TIF"

Vtip je však v tom, že v případě saga_cmd import dat nepotřebujeme. V dalších krocích tak můžeme bez problémů pracovati se surovými daty na disku.

Identifikace toků z těžařských oblastí

Prvním krokem byl ořez dat na zájmovou oblast. Toho dosáhneme nástrojem z knihovny grid_tools. GUI nám umožnilo vybrati zájmovou oblast interaktivně; v saga_cmd musíme oblast specifikovat pomocí ohraničujícího obdélníku.

saga_cmd grid_tools 31 \
    -GRIDS "/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B3.TIF;/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B6.TIF;/home/ondrej/Downloads/Landsat_Data_Sulawesi_1996-2015/Landsat 2015/LC81130632015292LGN00_B7.TIF" \
    -CLIPPED "/tmp/b3_clipped;/tmp/b6_clipped;/tmp/b7_clipped" \
    -GRIDSYSTEM_D 30 \
    -GRIDSYSTEM_X 342000 \
    -GRIDSYSTEM_Y 9502000 \
    -GRIDSYSTEM_NX 831 \
    -GRIDSYSTEM_NY 559

Výstupy, v tomto případě specifikované -CLIPPED, se v saga_cmd vytvářejí na disku. Nespecifikujeme-li cestu, vytvoří se v adresáři, ve kterém jsme příkaz spustili. Data jsou zapsána v nativním formátu SAGA GIS a každý rastr sestává z několika souborů - *.prj obsahuje informace o projekci, *.mgrd obsahuje metadata ve formátu XML, *.sdat obsahuje data samotná v binárním formátu (zpravidla doplněná o *.sdat.aux.xml pro rychlejší čtení zeměpisných informací na příklad v QGIS) a *.sgrd obsahuje zeměpisné informace ve formátu pro SAGA GIS. V SAGA GIS pak zpravidla ukazujete na soubor *.sgrd, ale v jiném software (exempli gratia GDAL) ukazujete na soubor *.sdat.

Dalším krokem byla segmentace pomocí OBIA. Odpovídající nástroj nalezneme v knihovně imagery.

gvSIG

gvSIG (Sistema d'informació geogràfica - SIG) patří mezi další otevřené desktopové GIS nástoje. Tento multiplatformní nástroj (Linux, MS Windows, Mac OS X) je napsán v programovacím jazyku Java a vydán pod licencí GNU GPL. Jeho vývoj byl započat ve Španělsku, konkrétně ve Valencii. Historicky je tedy spjat velmi úzce se španělsky mluvící komunitou.

Zde jsme vybrali několik silných stránek gvSIG:

  • Umožňuje přístup k běžným rastrovým a vektorovým formátům a webovým službám
  • Nabízí možnost integrace nových nástrojů ve formě "pluginů"
  • Nástroje síťových analýz
  • Nástroje pro správu topologických dat
  • Mobilní klient gvSIG Mobile
  • Platforma gvSIG Online
  • Správa verzí datových zdrojů

Přirozeně má též nějaké slabé stránky:

  • Vývoj poslední dobou stagnuje (aktuální verze 2.6 byla vydána v roce 2023)
  • Nepodporuje formát OGC GeoPackage
  • Některé zprávy programu ve španělštině nejsou ani přeloženy do angličtiny
  • Řada materiálů dostupných pouze ve španělštině

Zobrazení dat

Open data IPR:

Poznámka

Předstažená data najdete na GIS.labu v adresáři Repository/155FGIS/08.

Přidejme vrstvu (View > Add layer) městských části do mapového okna:

Výchozí souřadnicový systém mapového okna je WGS-84 (EPSG:4326). V nastavení nezapomeneme aktivovat CRS View, aby došlo k přepnutí mapového okna do souřadnicového systému vrstvy. Zobrazme atributovou tabulku (Layer > Show attribute table):

Nastavme symbologii na základě názvu městské části a zobrazme také jejich názvy. Ve vlastnostech vrstvy (Layer > Properties) nastavíme v symbologii v záložce Symbology a popisky v záložce Labelling.

U popisku nastavme jednotky na metry. Výsledek může vypadat následovně:

Načtěme vrstvu parkovacích automatů a vyberme (Selection > Select by attributes) pouze ty parkovací automaty na území Prahy 6:

Vybrané parkovací automaty uložme do nové vrstvy (Layer > Export to).

Vytvořme si nový pohled na data. Pomocí Show -> Project manager vytvoříme nový pohled a jeho souřadnicový systém nastavme na WGS-84 (EPSG:4326). Do mapového okna přidejme vrstvu městských části a ortofoto (WMS):

Toolbox

Kromě nativních nástrojů gvSIG integruje nástroje z projektu Sextante. Rozhraní k nástrojům je dostupné z Tools > Geoprocessing > Toolbox:

Zkusme vypočítat obalovou zónu pro parkovací automaty v Praze 6:

Úkol

Vyberte parkovací automaty, které nejsou umístěny v zóně placeného stání.

Pozor: Nástroj Selection > Select by layer pracuje pouze s vybranými prvky!

Layout

Vytvořme nový layout (Map -> New layout) pro tisk mapy:

Měřítko nastavíme na fixní hodnotu:

Výsledek může výpadat následovně:

Další materiály