Introduksjon til Geopandas og andre geodata-biblioteker
Det finnes en rekke programvare-biblioteker for lesing og behandling av geodata som på ulike måter er gjort tilgjengelig for programmering i Python. Her skal vi gi en kortfattet opplisting av de mest sentrale.
- GDAL/OGR, Geospatial Data Abstraction Library, OpenGIS Simple Features Reference Implementation. Disse bibliotekene har lese- og skrive-funksjonalitet for en lang rekke raster- og vektor-geodataformater, bl.a. shape, GeoJSON, ESRI file geodatabase, PostGIS, SOSI. GDAL/OGR brukes f.ek.,s i QGIS.
- JTS og GEOS, Java Topology Suite, Geometry Engine - Open Source. JTS er laget som et Java-bibliotek for å håndtere geodata i henhold til ISO 19125-1:2004 Geographic information — Simple feature access — Part 1: Common architecture, bl.a. ulike overlay-operasjoner og geografiske søk basert på point set-topologi (Egenhofer-topologi). GEOS er en oversettelse av JTS til programmeringsspåket C++. GEOS brukes i QGIS.
- Fiona er en Python overbygning over GDAL/OGR open source-programvarebiblioteker, og gir mulighet for å lese og skrive til en lang rekke geodataformater fra Python-programmer. Fiona er inkludert bl.a. i Geopandas.
- Shapely er et Python-bibliotek for “manipulation and analysis of planar geometric objects”. Det er basert på GEOS og JTS.
- Rasterio er et Pyton-bibliotek for lesing og skriving av raster-formatet GeoTIFF.
- Pandas er et generelt Python-bibliotek for håndtering av vektor- og matrise-baserte data (tabell-strukturer). Det brukes mye innenfor Data Science-feltet.
- Geopandas er en utvidelse av Pandas for håndtering av geodata (vektordata). Geopandas inkluderer funksjonalitet fra Shapely og Fiona, samt descartes og matplotlib for plotting.
- Eartpy er en overbygning over Geopandas som bl.a. inneholder en del funksjonalitet for både raster- og vektordata - deriblant forbedrede plottemuligheter.
Det kan være nyttig å kjenne til en del av disse avhengighetene mellom programvarebibliotekene bl.a. ved at dokumentasjon kan hentes fra flere kilder. For eksemplel, så kan dokumentasjon om tilgjengelige geodataformater i GeoPandas finnes i GDAL/OGR-dokumentasjonen. For å finne aktuell dokumentasjon vil Google-søk ofte være nyttige, men igjen vil et generelt kjennskap til disse programvarebibliotekene kunne gi en pekepinn om verdien av søke-treffene. Ved å lese de innledende avsnittene fra dokumentasjonen til hvert bibliotek kan man raskt få en oversikt over hvilke oppgaver de ulike bibliotekene er utviklet for, og lettere kunne sette opp målrettede søk.
Eksempel med bruk av data fra geonorge.no
Eksemplet nedenfor viser
- innlesing av FGDB-data for Innlandet fylke, administrative data, kommuner og grunnkretser
- utforsking av innhold i datasett
- oppretting av indekser som forberedelse av join-operasjoner
- plotting av kart (øvingsoppgaven viser flere muligheter)
- join/merge-operasjon
- utvalg av data
- overlay-operasjon
Innlandet - med Python og Geopandas
Ressurser
02.02.2021 - Sverre Stikbakke