-
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 lukija TIFF-tiedostoille. UUSI 2026
- boto3 - tiedostojen käsittelyyn S3-tallennuksessa, esimerkiksi Altaassa. Allas S3 -esimerkki CSC:n geolaskennan 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 geolaskennan Githubissa.
- STAC-esimerkki CSC:n geolaskennan 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 spatiaalisten dataesimerkkitiedostojen lataamiseen ja välimuistiin tallentamiseen. UUSI 2025
- geopandas - GeoPandas laajentaa pandas-kirjaston käyttämiä tietotyyppejä.
- geoparquet-io - nopea lukija GeoParquet-tiedostoille. 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 geolaskennan 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äätiedatan lukemiseen, visualisointiin ja laskentaan.
- movingpandas - trajektoriodatalle
- networkx - monimutkaisten verkostojen rakenteen, dynamiikan ja toimintojen luomiseen, käsittelyyn ja tutkimiseen. Reititysesimerkkejä CSC:n geolaskennan 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 geolaskennan 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 APIen avulla. Reititysesimerkkejä CSC:n geolaskennan 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) -ilmakehän 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 APIen kanssa työskentelyyn. STAC-esimerkki CSC:n geolaskennan Githubissa.
- python-cdo - skriptausrajapinta CDO:lle (Climate Data Operators).
- rasterio - pääsy paikkatietorasteridataan.
- rasterstats - paikkatietorasteriaineistojen yhteenvedon tekemiseen vektorigeometrioiden perusteella. Se sisältää toimintoja vyöhyketilastoihin ja interpoloituihin pistekyselyihin. rasterstats-esimerkki CSC:n geolaskennan 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 geolaskennan Githubissa. Ei versiossa 3.14.3.
- shapely - geometristen objektien käsittelyyn ja analysointiin karteesisessa tasossa.
- scikit-gstat - variogrammianalyysiin. UUSI 2026
- scikit-learn - koneoppimista Pythonille. Paikkatietoon liittyvät koneoppimisen scikit-learn-harjoitukset (shallow learning)
- 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 geolaskennan Githubissa. Tätä ei ole päivitetty viime aikoina, käytä mieluummin
odc-stac. - swiftclient, keystoneclient - tiedostojen käsittelyyn SWIFT-tallennuksessa, esimerkiksi Altaassa. Allas Swift -esimerkki CSC:n geolaskennan 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äen rioxarray. STAC-esimerkki CSC:n geolaskennan Githubissa.
- cf_xarray - xarray-objekteissa olevien Climate and Forecast -metadatakonvention attribuuttien tulkintaan. UUSI 2026
- flox - nopeat GroupBy-vähennykset Xarraylle. UUSI 2026
- xarray-spatial - tehokkaita yleisiä rasterianalyysitoimintoja xarraylle. xarray-spatial-esimerkki CSC:n geolaskennan Githubissa
- xarray_leaflet - xarray-laajennus tiilikarttojen piirtämiseen. Ei versioissa 3.12.10 ja 3.14.3
- xclim - ilmastoanalyysiin. UUSI 2026
- xgboost - Gradient Boosting -koneoppimisalgoritmeihin. UUSI 2026
-
zarr - datan lukemiseen ja kirjoittamiseen Zarr-muotoon. UUSI 2026
-
Ja paljon muuta, täydellisen listan saat 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 - tieteellinen Python-kehitysympäristö 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 -tuotenippujen 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 rinnakkaistamiskirjastoja voidaan hyödyntää.
Jos mielestäsi jokin tärkeä Pythonin GIS-paketti puuttuu tästä, voit pyytää sen asennusta CSC:n asiakastuesta.
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 LUMIssa, suorita ensin tämä:
Jos haluat käyttää yllä lueteltuja Python-paketteja ja muita työkaluja, 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:n muistiasetukset
r5py ei oletuksena ymmärrä oikein, kuinka paljon muistia sillä on käytettävissään 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 tili ja projekti GEE:ssä. 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 selainohjelmaan. Seuraa 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 vuorovaikutuksessa Allaksen tai LUMI-O:n kanssa. Swiftclient käyttää swift-protokollaa ja boto3 käyttää S3-protokollaa. CSC:n esimerkkejä molempien käytöstä löydät täältä.
On myös mahdollista lukea ja kirjoittaa tiedostoja Allaksesta ja Altaaseen tai muuhun pilviobjektitallennukseen suoraan GDAL-pohjaisilla paketeilla, kuten geopandas ja rasterio. Katso ohjeet ja esimerkit Paikkatiedostojen käyttö 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-valitsin on LUMI container wrapperissa --post-install. WhiteboxToolsin conda-paketti asentaa vain WhiteboxToolsin asennustyökalun, joten Whiteboxtoolsin asianmukainen 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 geolaskennan 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