02. Přehled Python knihoven pro práci s geoprostorovými daty
Geospatial data science
Motivace:
- Desktop GIS
- často velmi silný nástroj pro kartografické úlohy
- výhodný pokud preferujete GUI
- ne vždy efektivní při práci s velkými objemy dat
- ne vždy ideální pro stastickou analýzu dat
- Mimo svět desktopového GIS
- výkoné databázové systémy umožňující uložení velkého objemu dat
- programovací jazyky pro efektivní analýzu dat
- R (určen pro analýzu dat)
- Python (nejen analýza dat, obecnější)
- reprodukovatelnost
- nejsou příliš silné v kartografických úlohách
- rychlá křivka učení
Výhody:
- open-source (náklady, dokumentace algoritmů, rozšířitelné)
- flexibilita (uložení dat v databázi, paralelizace výpočtů, cloudová řešení, inovace)
- dokumentace, spolupráce (Jypyter notebooks, věda, opakovatelnost)
- ...
Nevýhody:
- vyžaduje znalost programování
- ne vždy kompletní dokumentace
- může být náročnější pro uživatele desktop GIS (databáze a SQL, programování, statistika, IT)
- více cest k dosažení výsledku
Python ekosystém pro práci s geoprostorovými daty
Základní nástoje:
- NumPy - práce s velkými vícerozměrnými poli
- jádro napsáno v C
- rastrová data jako matice hodnot
- Pandas - práce s tabulkovými daty
- Matplotlib - vizualizace dat (histogram, kolerační diagram a řada dalších)
- Scikit-learn - strojové učení (155YUSU)
- SciPy - vědecké výpočty
- postaveno na NumPy
- lineární algebra, optimalizace, integrace, interpolace, ...
Základní knihovny (Python API):
- GDAL - knihovna pro práci s nejrůznějšími GIS datovými formáty
- GEOS - prostorové operace pro vektrorová data
- PROJ - převod mezi různými souřadnicovými systémy
- ...
Přehled Python balíčků pro práci s geoprostorovými daty:
- Fiona - zpracování vektorových dat
- Shapely - práce s geometriemi vektorových dat
- Rasterio - zpracování rastrových dat
- GeoPandas - nadstavba pro knihovnu Pandas
- pyjeo - zpracování rastrových datových kostek a vektorových dat
- OWSLib - Python API pro různé webové služby
- pycsw - publikace metadat geoprostorových dat
- pygeoapi - implementace OGC API
- Folium - vizualizace dat
- ipyleaflet - další balíček pro vizualizaci dat
- Geoplot - další balíček pro vizualizaci dat
- PySAL - prostorová statistika
- PyKrige - kriging
- ...
Výpočetní prostředí
Návod, jak zprovoznit výpočetní prostředí na vlastním počítači, naleznete zde.
Úvod do Pandas
Knihovna Pandas:
- pracuje s objekty
DataFrame
, které odpovídají charakteru tabulek v databázi - nástroje pro čtení a zápis dat
- nástroj pro efektivní výběr a filtrování
- nástroje pro grafické výstupy a explorační analýzu dat (exploratory data analysis)