Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

Geospatiaalisten tiedostojen käyttäminen suoraan julkisista repositorioista ja S3-tallennuspalveluista, mukaan lukien Allas

GDAL on tärkein avoimen lähdekoodin kirjasto geospatiaalisen datan lukemiseen ja kirjoittamiseen, ja monet muut edistyneet työkalut, kuten QGIS, ArcGIS, Python, R jne., perustuvat GDALiin. GDALissa on useita virtuaalisia verkkoon perustuvia tiedostojärjestelmiä, jotka on tarkoitettu eri rajapinnoille tai käyttötapauksiin. GDAL ja useimmat siihen perustuvat työkalut voivat lukea dataa suoraan julkisesta URL-osoitteesta tai S3-tallennuspalveluista. Tämä poistaa tarpeen ladata tiedostot käsin ennen data-analyysiä. GDAL voi myös kirjoittaa tiedostoja S3-tallennuspalveluihin, mutta vain osa GDALiin perustuvista työkaluista tukee sitä.

Datan lukeminen suoraan ulkoisesta palvelusta on yleensä hitaampaa kuin lukeminen paikallisilta levyiltä, mutta monissa tapauksissa nämä sekunnit ovat merkityksettömiä verrattuna analyysin kokonaiskestoon. On kuitenkin tärkeää, että Internet-yhteys on hyvä.

S3-palvelut ovat hyvin yleisiä suurten datamäärien tallentamiseen, esimerkiksi:

Lisätietoja GDALin käytöstä julkisten URL-tiedostojen (VSICURL) ja yksityisten S3-tallennuksessa olevien tiedostojen (VSIS3) kanssa annetaan alla. Erityistä huomiota kiinnitetään CSC:n Allas-objektitallennuspalveluun ja supertietokoneisiin. GDALin käyttämiseksi supertietokoneella on aktivoitava moduuli, joka sisältää GDALin.

Julkisten tiedostojen lukeminen URL-osoitteesta

VSICURLia voidaan käyttää URL-osoitteen kautta saatavilla olevien tiedostojen lukemiseen. S3-tallennuksen julkisilla objekteilla on yleensä myös URL-osoite, joten tämä toimii myös julkisille S3-tiedostoille. VSICURL tukee myös tiedostojen osittaista lukemista, joten se toimii hyvin pilvioptimoitujen tiedostomuotojen kanssa. VSICURL tukee myös basic authentication -todennusta.

# A public file
gdalinfo /vsicurl/URL

# For example, from Paituli
gdalinfo /vsicurl/https://www.nic.funet.fi/index/geodata/mml/orto/normal_color_3067/mara_v_25000_50/2023/N33/02m/1/N3324F.jp2

# CSC Allas
gdalinfo /vsicurl/https://a3s.fi/bucket_name/object_name
# OR alternatively
gdalinfo /vsicurl/https://bucket_name.a3s.fi/object_name

# Amazon S3 (us-west-2)
gdalinfo /vsicurl/https://s3.us-west-2.amazonaws.com/bucket_name/object_name

#Depending on GDAL installation settings VSICURL may sometimes work also without the `/vsicurl/` before the URL.
gdalinfo URL

Tiedostojen lukeminen ja kirjoittaminen S3-palveluista/S3-palveluihin

GDALin VSIS3 on tarkoitettu S3-palveluiden kanssa työskentelyyn.

S3-yhteyden tiedot

Jotta dataa voidaan käyttää S3-palveluista, yhteystiedot on ensin asetettava oikein. Yleensä tarvitaan seuraavat yhteystiedot:

  • end-point URL
  • alue
  • käyttöavain ja salainen avain

Kunkin palvelun käyttöoppaan pitäisi määrittää end-point ja alue sekä antaa ohjeet avainten löytämiseen. On suositeltavaa tallentaa avaimet ja alueen nimi credentials-tiedostoon, joka sijaitsee Windowsissa polussa C:\Users\username\.aws\credentials tai Macissa tai Linuxissa polussa ~/.aws/credentials. Esimerkiksi Altaan credentials-tiedosto voisi näyttää tältä:

[allas_project1]
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=yyy
AWS_DEFAULT_REGION=regionOne

End-point URL:ää ei tarvita Amazon S3:ssa, mutta sitä tarvitaan muissa palveluissa. Valitettavasti sitä ei voi antaa asetustiedostojen kautta, vaan se on asetettava GDAKille ympäristömuuttujana jokaisessa istunnossa, kun S3:a käytetään. Esimerkiksi Altaan end-pointin asettaminen:

  • Windowsin komentotulkki: set AWS_S3_ENDPOINT=a3s.fi
  • Linux/Mac: export AWS_S3_ENDPOINT=a3s.fi

S3-yhteyden määritys Altaalle

Helpoin tapa määrittää S3-asetukset GDALille on määrittämällä S3-yhteys CSC:n supertietokoneella.

GDAL vaatii lisäksi, että Allas-end-point annetaan AWS_S3_ENDPOINT-ympäristömuuttujana, katso yllä olevat komennot.

S3-yhteyden määritys Copernicus Data Space Ecosystemille (CDSE)

ESA:n data, mukaan lukien Sentinel-data, on saatavilla CDSE S3:n kautta. Hae CDSE S3 -tunnukset ja tallenna ne credentials-tiedostoon kuten yllä on kuvattu. CDSE:n kanssa AWS_VIRTUAL_HOSTING tulee asettaa arvoon False:

export AWS_S3_ENDPOINT=eodata.dataspace.copernicus.eu
export AWS_VIRTUAL_HOSTING=FALSE

Useita yhteysprofiileja

Kun työskennellään useiden CSC-projektien tai eri S3-tallennusten kanssa, credentials-tiedostossa voi olla useita profiileja:

[allas_project1]
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=yyy
AWS_DEFAULT_REGION = regionOne

[esa_cdse]
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=yyy

Sitten ennen GDALin käyttöä käytössä oleva profiili on asetettava ympäristömuuttujaksi: export AWS_PROFILE=allas_project1

S3:n käyttäminen

# Reading data
gdalinfo /vsis3/<name_of_your_bucket>/<name_of_your_file>

# Writing data
export CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES
gdal_translate /vsis3/<name_of_your_bucket>/<name_of_your_input_file> /vsis3/<name_of_your_bucket>/<name_of_your_output_file> -of COG

GDAL-pohjaiset työkalut

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta