-
Geoconda
Geoconda
Geoconda on kokoelma python-paketteja, jotka helpottavat python-skriptien kehittämistä geoinformatiikan sovelluksiin. Se sisältää seuraavat python-paketit:
- access - resurssien spatiaalisen saavutettavuuden laskentaan. UUSI 2025
- async-tiff - nopea TIFF-tiedostojen lukija. UUSI 2026
- boto3 - tiedostojen käsittelyyn S3-tallennuksessa, esimerkiksi Altaassa. Allas S3 -esimerkki CSC:n geocomputing Githubissa.
- cartopy - karttojen piirtämiseen.
- cdsapi - pääsy Copernicus Climate Data Storeen. UUSI 2026
- cfgrib - GRIB-tiedostojen yhdistämiseen NetCDF Common Data Modeliin
- contextily - karttatiilien hakemiseen internetistä. UUSI 2025
- copc-lib - luku- ja kirjoitusrajapinta Cloud Optimized Point Clouds (COPC) -aineistoille. Vain geoconda 3.10.9:ssä ja 3.14.3:ssa.
- dask - tarjoaa edistynyttä rinnakkaisuutta analytiikkaan mahdollistaen suorituskyvyn suuressa mittakaavassa, mukaan lukien dask-geopandas, Dask-ML ja Dask JupyterLab -laajennus.
- Dask-rinnakkaistusesimerkki CSC:n geocomputing Githubissa.
- STAC-esimerkki CSC:n geocomputing Githubissa.
- dask-image - kuvankäsittelyyn Dask Arraysin avulla. UUSI 2025
- datashader - big datan renderöintiin. UUSI 2026
- descartes - Shapelyn tai GeoJSON-tyyppisten geometristen objektien käyttämiseen matplotlib-polkuina ja -paikkoina. Ei versiossa 3.14.3.
- duckdb - analyyttisten SQL-kyselyiden nopeaan suorittamiseen. UUSI 2025
- esda - eksploratiiviseen spatiaaliseen data-analyysiin. UUSI 2025
- fiona - spatiaalisten datatiedostojen lukemiseen ja kirjoittamiseen.
- geoalchemy2 - tarjoaa SQLAlchemy-laajennuksia spatiaalisten tietokantojen, ensisijaisesti PostGISin, kanssa työskentelyyn.
- geocube - geopandas-vektoridatan muuntamiseen rasteroiduksi xarray-dataksi. UUSI 2025
- geodatasets spatiaalisen datan esimerkkitiedostojen lataamiseen ja välimuistiin tallentamiseen. UUSI 2025
- geopandas - GeoPandas laajentaa pandas-kirjaston käyttämiä tietotyyppejä.
- geoparquet-io - nopea GeoParquet-tiedostojen lukija. UUSI 2026
- geoplot - paikkatietojen visualisointikirjasto. Vain versiossa 3.12.10
- geopy - asiakasohjelma useille suosituille geokoodauksen selainkäyttöliittymäpalveluille.
- geoviews - maantieteellisiin visualisointeihin HoloViewsin kanssa. UUSI 2026
- geo2ml - spatiaalisen datan valmisteluun koneoppimista varten. Ei versiossa 3.14.3.
- Google Earth Engine API - katso, miten GEE-todennus määritetään Puhdissa.
- holoviews - suurten aineistojen visualisointiin. UUSI 2026
- h3pandas - heksagonaaliseen paikkatietoindeksointijärjestelmään Pandasin ja GeoPandasin kanssa.
- h3-py - Python-sidokset H3:lle, joka on hierarkkinen heksagonaalinen paikkatietoindeksointijärjestelmä. UUSI 2025
- h5py - HDF5-tiedostoille. UUSI 2026
- icechunk - pilvinatiivi transaktionaalinen tensoritallennusmoottori. UUSI 2026
- igraph - nopeaan reititykseen. Reititysesimerkkejä CSC:n geocomputing Githubissa
- laspy - .LAS LIDAR -tiedostojen lukemiseen, muokkaamiseen ja luomiseen.
- leafmap - paikkatietoanalyysiin ja interaktiiviseen kartoitukseen Jupyter-ympäristössä.
- lidar - pintapainanteiden sisäkkäisen hierarkian rajaamiseen digitaalisissa korkeusmalleissa (DEM).
- lonboard - nopeaan, interaktiiviseen paikkatietodatan visualisointiin Jupyterissa. UUSI 2026
- metpy - säätiedon lukemiseen, visualisointiin ja laskentaan.
- movingpandas - trajektoriodatalle
- networkx - monimutkaisten verkostojen rakenteen, dynamiikan ja toimintojen luomiseen, käsittelyyn ja tutkimiseen. Reititysesimerkkejä CSC:n geocomputing Githubissa
- papermill - Jupyter Notebookien parametrisoimiseen ja suorittamiseen. UUSI 2026
- pot - optimointiongelmien ratkaisijoita, jotka liittyvät optimaaliseen kuljetukseen signaali- ja kuvankäsittelyssä sekä koneoppimisessa. UUSI 2026
- pyproj - kartografisten muunnosten ja geodeettisten laskentojen suorittamiseen.
- pyogrio - vektorimuotoinen spatiaalisten vektoritiedostomuotojen I/O käyttäen GDAL/OGR:ää.
- obstore - nopeaan pääsyyn S3:een, Google Cloud Storageen ja Azure Storageen. UUSI 2026
- odc-stac - STAC-data xarrayhin, STAC-esimerkki CSC:n geocomputing Githubissa. UUSI 2026
- openeo - Earth observation -pilvitaustajärjestelmiin yhdistämiseen yksinkertaisella ja yhtenäisellä tavalla.
- open3d - 3D-datan käsittelyyn
- osmnx - spatiaalisten geometrioiden lataamiseen sekä katuverkkojen muodostamiseen, projisointiin, visualisointiin ja analysointiin OpenStreetMapin API-rajapinnoista. Reititysesimerkkejä CSC:n geocomputing Githubissa Ei geoconda-3.11.9:ssä.
- owslib - datan hakemiseen Open Geospatial Consortiumin (OGC) selainkäyttöliittymäpalveluista
- pandana - verkostoanalyysiin. Vain versiossa 3.12.10
- pcraster - spatiotemporaaliseen ympäristömallinnukseen.
- psycopg2 - PostgreSQL-tietokantasovitin Pythonille.
- pyrosm - OpenStreetMap-datan tuomiseen Geopandas GeoDataFrameihin. Vain versiossa 3.12.10
- python-pdal - PDAL Python -laajennus lidar-dataa varten
- Py6S - Python-rajapinta Second Simulation of the Satellite Signal in the Solar Spectrum (6S) -atmosfäärin säteilynsiirtomalliin. Ei versiossa 3.14.3.
- pysal - spatiaalisen analyysin toimintoja.
- pdal - lidar-dataa varten
- pyntcloud - 3D-pistepilvien käsittelyyn. Ei versiossa 3.14.3.
- pysheds - valuma-alueiden rajaukseen. UUSI 2025
- pystac-client - STAC-katalogien ja API-rajapintojen kanssa työskentelyyn. STAC-esimerkki CSC:n geocomputing Githubissa.
- python-cdo - skriptausrajapinta CDO:lle (Climate Data Operators).
- rasterio - pääsy paikkatietorasteridataan.
- rasterstats - paikkatietorasteriaineistojen yhteenvedon tekemiseen vektorigeometrioiden perusteella. Se sisältää funktioita vyöhyketilastoihin ja interpoloituihin pistekyselyihin. rasterstats-esimerkki CSC:n geocomputing Githubissa
- rio-cogeo - Cloud Optimized GeoTIFF (COG) -tiedostojen luomiseen. UUSI 2025
- rtree - spatiaaliseen indeksointiin ja hakuun.
- r5py - nopeaan realistiseen reititykseen multimodaalisissa liikenneverkoissa, katso alta miten muisti asetetaan oikein r5py:tä varten.
- shap - minkä tahansa koneoppimismallin tulosten selittämiseen. UUSI 2026
- sentinelhub - uusien Sentinel Hub -palveluiden kanssa työskentelyyn.
- sentinelsat - Sentinel-kuvien lataamiseen, sentinelsat-esimerkki CSC:n geocomputing Githubissa. Ei versiossa 3.14.3.
- shapely - geometristen objektien käsittelyyn ja analysointiin karteesisessa tasossa.
- scikit-gstat - variogrammianalyysiin. UUSI 2026
- scikit-learn - koneoppimista Pythonille. Paikkatietokoneoppimisen scikit-learn (shallow learning) -harjoitukset
- skimage - kuvankäsittelyalgoritmeja.
- scipy - sisältää pandasin, numpyn, matplotlibin jne.
- sparse - harvoille taulukoille. UUSI 2026
- spectral - hyperspektrikuvadatan käsittelyyn. UUSI 2026
- stackstac - STAC-data xarrayhin, STAC-esimerkki CSC:n geocomputing Githubissa. Tätä ei ole päivitetty viime aikoina, käytä mieluummin
odc-stac. - swiftclient, keystoneclient - SWIFT-tallennuksen kanssa työskentelyyn, esimerkiksi Altaassa. Allas Swift -esimerkki CSC:n geocomputing Githubissa.
- urbanaccess - GTFS-joukkoliikenne- ja OpenStreetMap-jalankulkuverkkojen laskentaan saavutettavuusanalyysiä varten. Vain versiossa 3.12.10
- whiteboxtools - laaja-alaiseen paikkatietodatan käsittelyyn, monet työkalut toimivat rinnakkain, katso lisätietoja CSC:n whiteboxtools-sivulta. Versio 3.14.3 sisältää myös Whitebox Workflows for Pythonin.
- xarray - moniulotteiselle rasteridatalle, sisältää rioxarray. STAC-esimerkki CSC:n geocomputing Githubissa.
- cf_xarray - xarray-objekteissa olevien Climate and Forecast metadata convention -attribuuttien tulkintaan. UUSI 2026
- flox - nopeat GroupBy-vähennykset Xarraylle. UUSI 2026
- xarray-spatial - tehokkaita yleisiä rasterianalyysifunktioita xarraylle. xarray-spatial-esimerkki CSC:n geocomputing Githubissa
- xarray_leaflet - xarray-laajennus karttatiilien piirtämiseen. Ei versioissa 3.12.10 ja 3.14.3
- xclim - ilmastoanalyysiin. UUSI 2026
- xgboost - Gradient Boosting -koneoppimisalgoritmit. UUSI 2026
-
zarr - datan lukemiseen ja kirjoittamiseen Zarr-muotoon. UUSI 2026
-
Ja paljon muuta, saat täydellisen listan komennolla:
list-packages
Lisäksi geoconda sisältää:
- jupyter - Jupyter Notebookit ja JupyterLab. Käytä Puhdin selainkäyttöliittymästä ja Jupyter-sovelluksesta. Sisältää Dask-laajennuksen ja Resource usage -laajennuksen.
- spyder - Scientific Python Development Environment graafisella käyttöliittymällä (samankaltainen kuin RStudio R:lle). Ei versiossa 3.14.3.
- GDAL/OGR komentorivityökalut
- GMT The Generic Mapping Tools
- landsatlinks - Landsat Collection 2 Level 1 -tuotekimppujen lataus-URL-osoitteiden luomiseen USGS/EROS Machine-to-Machine API:n avulla. Käytä
python -m landsatlinks. Ei versiossa 3.14.3. - PDAL - Point Data Abstraction Library
- ncview netcdf-tiedostojen visualisointiin. Ei versiossa 3.14.3. Käytä
ncview-moduulia. - psy-view netcdf-tiedostojen visualisointiin. Ei versiossa 3.14.3.
Pythonissa on useita paketteja rinnakkaislaskentaan, esimerkiksi multiprocessing, joblib ja dask. Puhdin Python-esimerkeissämme on esimerkkejä siitä, miten näitä eri rinnakkaistuskirjastoja voidaan hyödyntää.
Jos mielestäsi jokin tärkeä Pythonin GIS-paketti puuttuu tästä, voit pyytää sen asennusta CSC:n Service Deskiltä.
Saatavuus
geoconda-moduuli on saatavilla:
- 3.14.3 (Python 3.14.3, PDAL 2.10.0, GDAL 3.12.2, luotu maaliskuussa 2026), Puhdissa ja Mahdissa
- 3.12.10 (Python 3.12.10, PDAL 2.8.4, GDAL 3.10.2, luotu huhtikuussa 2025), Puhdissa.
- 3.11.10 (Python 3.11.10, PDAL 2.8.0, GDAL 3.9.2, luotu marraskuussa 2024), Puhdissa ja LUMIssa.
- 3.11.9 (Python 3.11.9, PDAL 2.7.2, GDAL 3.9.1, luotu elokuussa 2024), Puhdissa ja Mahdissa.
- 3.10.9 (Python 3.10.9, PDAL 2.5.2, GDAL 3.6.2, luotu maaliskuussa 2023), Puhdissa.
- 3.10.6 (Python 3.10.6, PDAL 2.4.1, GDAL 3.5.0, luotu syyskuussa 2022), Puhdissa ja Mahdissa.
Versionumero on sama kuin Python-versio.
Käyttö
Kun käytät LUMIa, suorita ensin tämä:
Yllä lueteltujen Python-pakettien ja muiden työkalujen käyttöön voit alustaa ne komennolla:
Oletuksena ladataan uusin geoconda-moduuli. Jos haluat tietyn version, voit määrittää geocondan versionumeron:
Voit tarkistaa ladattuun moduuliin sisältyvät tarkat paketit ja versiot komennolla:
Voit lisätä lisää Python-paketteja geocondaan noudattamalla ohjeita
Pythonin käyttöoppaassamme.
Voit muokata Python-koodiasi seuraavilla tavoilla:
- Visual Studio Code Puhdin tai LUMIn selainkäyttöliittymässä
- Jupyter Notebook tai Lab Puhdin tai LUMIn selainkäyttöliittymässä
- Spyder Puhdin tai LUMIn selainkäyttöliittymässä etätyöpöydällä. Ei versiossa 3.14.3.
Spyderin avaaminen Puhdin, Mahdin tai LUMIn selainkäyttöliittymässä etätyöpöydällä:
- Kirjaudu Puhdin tai LUMIn selainkäyttöliittymään.
- Avaa etätyöpöytä: Apps -> Desktop.
- Etätyöpöydän käynnistämisen jälkeen:
- Puhdissa/Mahdissa avaa
Terminal(Desktop-kuvake) - LUMIssa avaa
Terminal Emulatorvasemman alakulman valikosta
- Puhdissa/Mahdissa avaa
- Käynnistä spyder:
- LUMIssa muista suorittaa ensin
module use /appl/local/csc/modulefiles
- LUMIssa muista suorittaa ensin
r5py-muistiasetukset
r5py ei oletusarvoisesti ymmärrä oikein, kuinka paljon muistia sillä on käytettävissä supertietokoneessa, joten se täytyy määrittää käsin. Se käyttää taustalla Javaa, joten lisää ympäristömuuttuja asettamaan Javalle käytettävissä oleva enimmäismuisti:
export _JAVA_OPTIONS="-Xmx4g"komentorivillä ennen Pythonin käynnistämistä TAIos.environ["_JAVA_OPTIONS"] = "-Xmx4g"Python-koodisi alkuun.
Google Earth Engine -todennuksen määrittäminen Puhdissa
Google Earth Engine (GEE) API:n käyttämiseen earthengine-api-paketin kanssa tarvitaan GEE-tili ja projekti. Ennen ensimmäistä käyttökertaa määritä myös GEE-todennus Puhdissa:
module load geoconda
export PATH=/appl/opt/csc-cli-utils/google-cloud-sdk/bin:$PATH
earthengine authenticate
Tämä tulostaa pitkän linkin ja pyytää koodia. Kopioi linkki paikallisen kannettavasi selaimeen. Noudata verkkosivun ohjeita ja kopioi lopuksi luotu koodi takaisin terminaaliin.
Allaksen tai LUMI-O:n käyttäminen Pythonista
Geocondaan on asennettu kaksi Python-kirjastoa, jotka voivat olla yhteydessä Altaaseen tai LUMI-O:hon. Swiftclient käyttää swift-protokollaa ja boto3 käyttää S3-protokollaa. Löydät CSC:n esimerkkejä molempien käytöstä täältä.
On myös mahdollista lukea ja kirjoittaa tiedostoja suoraan Altaasta tai muusta pilviobjektitallennuksesta GDAL-pohjaisilla paketeilla, kuten geopandas ja rasterio. Katso ohjeet ja esimerkit paikkatiedostojen käyttämisestä suoraan pilvestä, mukaan lukien Allas -oppaastamme.
Suurten rasteridatamäärien kanssa kannattaa harkita virtuaalirasterien käyttöä.
Lisenssi
Kaikki paketit on lisensoitu erilaisilla vapailla ja avoimen lähdekoodin lisensseillä (FOSS), katso tarkat tiedot yllä linkitetyiltä sivuilta.
Viittaaminen
Katso viittaustiedot pakettikohtaisesti yllä linkitetyiltä pakettisivuilta.
Kiitokset
Mainitse CSC ja Geoportti julkaisuissasi; tämä on tärkeää projektin jatkuvuuden ja rahoitusraporttien kannalta. Voit esimerkiksi kirjoittaa: "The authors wish to thank CSC - IT Center for Science, Finland (urn:nbn:fi:research-infras-2016072531) and the Open Geospatial Information Infrastructure for Research (Geoportti, urn:nbn:fi:research-infras-2016072513) for computational resources and support".
Asennus
Geoconda asennettiin Puhtiin ja Mahtiin käyttäen Tykkyn conda-containerize-toiminnallisuutta. LUMIssa Geoconda asennettiin käyttäen LUMI container wrapperia. Työkalujen toiminnallisuus on lähes identtinen, mutta --post-valinta on LUMI container wrapperissa --post-install. WhiteboxToolsin conda-paketti asentaa vain WhiteboxToolsin asennustyökalun, joten WhiteboxToolsin oikea asennus vaati lisäksi asennuksen jälkeisen komennon ja kansion komentorivityökalujen käärimiseen.
conda-containerize new --mamba --prefix install_dir --post download_wbt -w miniconda/envs/env1/lib/python3.11/site-packages/whitebox/WBT/whitebox_tools geoconda_3.11.10.yml
Geocondan conda-ympäristötiedostot sekä WhiteboxToolsiin tarvittavat download_wbt ja start_wbt.py ovat saatavilla CSC:n geocomputing-repositoriossa. Huomaa, että toistettavuuden vuoksi sinun täytyy määrittää pakettiversiot ympäristötiedostossa; ne voi tarkistaa Puhdissa ja Mahdissa list-packages-komennolla geoconda-moduulin lataamisen jälkeen.
Viitteet
- CSC:n Python-rinnakkaistusesimerkit
- Multiprocessing Basics
- Automating GIS processes -kurssimateriaalit / Helsingin yliopisto
- Aalto Spatial Analytics -kurssimateriaali / Henrikki Tenkanen / Aalto-yliopisto
- Introduction to GIS Programming / Dr. Qiusheng Wu / University of Tennessee
- Geographic Data Science with Python / Sergio Rey, Dani Arribas-Bel, Levi Wolf
- Python Foundation for Spatial Analysis / Ujaval Gandhi