Tämä sivuston laskennallinen maanousun ja jäätikön vlevinnäisyyden kartta-data on vapaasti kaikkien käytettävissä. Aineiston voi ladata kokonaisuudessaa tai sitä voi käyttää sivuston rajapinnan kautta suoraan.
Kartta-datan jakelumuoto on Cloud Optimized GeoTIFF (COG). Tämä formaatti valittiin, koska sen avulla aineistoa voi jaella ilman WMS/WFS jne. palvelinta suoraan "palvelimen levyltä" eli pilvipalvelun bucketista. Tämä tekee sivuston ylläpidosta huomattavasti halvempaa.
Cloud Optimized GeoTIFF -tiedostomuodossa TIFF-tiedoston sisään on upotettu tiilit eri kartan zoomaustasoille. Tällöin datan käyttäjä voi kysyä HTTP-kutsun Range-otsakkeen avulla vain rajatun määrän koko datasta. Tämä mahdollistaa datan käytön suoraan selaimessa ilman koko aineiston lataamista.
Aineisto ei ole käyttövalmis visuaalinen rasteri, vaan GeoTIFF tiedostomuotoa käytetään välittämään tietoa 2m x 2m pikseleinä, että onko pikseli merta vai maata tiedoston tarkasteluvuotena:
0
: maata1
: merta2
: mannerjäätä255
: ei tietoa (Suomen ulkopuoliset maa-alueet)Tieto on GeoTIFF-tiedoston data band 1 -tiedoissa. Tiedostoa ei siis voi renderöidä suoraan visuaalisesti, vaan käyttäjän pitää määrittää renderöintisäännöt käyttämäänsä työkaluun, joka renderöi nämä eri data-arvot halutuilla väreillä. tämä toteutustapa valittiin, koska järkevä "meren väri" vaihtuu käytetyn pohjakartan värityksen mukana.
Vastaavasti myös jäätikön levinnäisyyskartta ei ole visuaalinen rasteri, vaan GeoTIFF data band 1 sisältää seuraavat arvot:
0
: jää sulanut1
: jäätä255
: ei tietoaDatan projektio on Suomessa yleisesti käytetty EPSG:3067 (ETRS-TM35FIN). Tämä mahdollistaa aineiston käytön esim. Maanmittauslaitoksen pohjakarttojen kannsa ilman projektion muunoksia.
Maannousulaskennan pohjana on Maanmittauslaitoksen (MML) julkaisema korkeusmalli 2 m, joka kuvaa 2m x 2m ruudukolla koko Suomen maankorkeuden merenpinnasta vuonna 2023. Aineisto on lisenssi CC BY 4.0.
Laskennoissa käytetään myös muuta aineistoa:
Tämän myötä myös laskennan lopputuloksen lisenssi on siis CC BY 4.0, koska se on myösa kaiken lähtödatan lisenssi.
Nämä kaikki lähteet on mainittava, jos tämän sivuston kartta-aineistoa jakelee eteenpäin.
OpenAPI dokumentaatio löytyy Html-muodossa osoitteesta maannousu.info/api ja JSON-muodossa osoitteesta maannousu.info/api/spec.json
Rajapinnat/GeoTIFF-tiedostot on nimetty vuosiluvun mukaan, jonka maankohoamisen tilannetta ne mallintavat. Negatiiviset luvut ovat ennen ajanlaskun alkua (esim. -4000 on 4000 eaa.).
Tuettujen vuosien määrä voi muuttua suuremmaksi (ei pienemmäksi) ajan myötä. Ajantasaisen listan voi hakea dynaamisesti JSON-muodossa seuraavista osoitteista:
Rajapinnat ja tiedostot ovat tässä tapauksessa yksi ja sama asia. GeoTIFF aineiston voi ladata kokonaisuudessaan klikkaamalla linkkiä selaimessa tai siitä voi hakea osia HTTP-kutsun Range-otsakkeen avulla samasta osoitteesta.
Maannousun karttojen tiedostojen koot ovat noin 300 - 600 megatavua kappale. Jään levinnäisyyskartat ovat todella pieniä (alle 1 megatavu).
Sivusto palautaa rajapintojen osoitteille Cross-Origin Resource Sharing (CORS) otsakkeet, joiden avulla rajapintoja voi käyttää suoraan toiselta verkkosivulta:
"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Methods": "GET", "HEAD", "OPTIONS"
"Access-Control-Max-Age": "86400"
Rajapinta palauttaa "Cache-Control": "public, max-age=86400"
otsakkeen jokaisella kutsulla, joka sallii cachen selaimessa vuorokaudeksi. Selaimista kuitenkin vain Safari cachettaa tällä hetkellä HTTP Range-kutsuja. Chromella ja siis myös Edgellä selain lataa aina kaiken datan uudestaan.
OpenLayers on avoimen lähdekoodin JavaScript-kirjasto, joka osaa renderöidä GeoTIFF-tiedostoja selaimessa. Kirjasto osaa hakea tehokkaasti zoomaustason mukaisia tiilejä aineistosta HTTP Range-kutsuilla.
import WebGLTileLayer from "ol/layer/WebGLTile";
import { GeoTIFF } from "ol/source";
const colorLand = [0, 0, 0, 0]; // Invisible
const colorSea = [201, 236, 250, 1]; // National Land Survey of Finland background map sea color
const colorIce = [255, 255, 255, 1]; // White
const noData = [0, 0, 0, 0]; // Invisible
const style = {
color: [
"case",
["==", ["band", 1], 0], // Value 0 = land
colorLand,
["==", ["band", 1], 1], // Value 1 = sea
colorSea,
["==", ["band", 1], 2], // Value 2 = Glacial ice
colorIce,
noData, // Fallback
],
};
const source = new GeoTIFF({
sources: [
{
url: `https://maannousu.info/api/v2/-6000`,
bands: [1],
},
],
convertToRGB: false,
normalize: false,
});
const layer = new WebGLTileLayer({
source,
style,
});
Laajempi esimerkki kokonaisesta OpenLayers-sivustosta löytyy tämän sivuston lähdekoodista GitHubista: