Map of Land Uplift

This site is intended for visualizing shoreline changes caused by post-glacial land uplift in Finland, as well as the extent of the ice sheet during the last Ice Age. Through the map, you can view sea levels during different millennia in history. The map data is freely available for use.

The same land uplift maps are also available on muinaismuistot.info, where you can view fixed ancient monuments from the registers of the Finnish Heritage Agency and the Åland local administration on the same map.

Land uplift?

Land uplift refers to the slow rise of the Earth's crust occurring in Northern Europe and Canada, caused by the rebound of the Earth's crust that was depressed under the weight of the last Ice Age glacier. As a result of land uplift, the shoreline retreats on the Finnish coast by approximately 9–3 mm per year. The uplift is fastest in the Vaasa region and slowest in Southern Finland.

Purpose of the site

The purpose of this site is to provide an easy-to-use visualization of the historical changes in the Baltic Sea’s sea level and the extent of the Ice Age glacier. Such comprehensive data for the entire Finnish coast across multiple millennia has not previously been easily available.

The site includes an interactive map that allows users to explore the data. Sea level can be viewed in 250–100 year intervals from 10,000 BCE to 1900 CE. The map works well on mobile browsers, allowing observation of land uplift even while outdoors. The map can also show the user’s current location (once location tracking is activated and permission granted from the left-side panel).

Another purpose of the site is to freely share this computed map data for others to use. The data can be accessed directly via a free API or downloaded in full.

The technical commands used in the calculations have been automated as scripts and released as open-source code. All source data used is free and publicly available online, allowing anyone to run or modify the calculations on their own computer.

Land Uplift Calculation Model

Glacial Land Adjustment Regenerator (Glare) is a scientific model for calculating historical land uplift, published by archaeologist Aki Hakonen:

This site uses version 2.2 of the Glare model, released on May 20, 2025. This model is used to calculate both the land uplift map and the glacier extent map (10,000 BCE – 8500 BCE).

Statistics of the Calculation Model Results

Technical Implementation

Limitations

This calculation model and map data show only shoreline movement. It does not include calculations for lake shifts or drainage changes caused by land surface tilting.

Surface Changes

The base dataset is the up-to-date elevation model from the National Land Survey of Finland (MML). Therefore, all human-made land modifications affect the calculations: drainage, canals, roads, shoreline construction, etc. The calculated sea level in such modified terrain may be off by several meters.

Natural changes in land or sea level have also not been taken into account. These include, for example, peat accumulation raising bog surfaces, river channel changes, sediment deposition by rivers, and sea level fluctuations.

Source Data and Licences

The following open datasets have been used as source data for the calculation model:

Accordingly, the licence for the final calculation results is also CC BY 4.0, as this is the licence of all source data. These sources must be cited when redistributing the map data from this site.

On the map page, the following maps published by the National Land Survey of Finland (MML) are also used as base maps:

The datasets from MML are published under the CC BY 4.0 licence. The data are used directly in real time through MML’s avoin-karttakuva.maanmittauslaitos.fi interface.

Contact

Antti Kekki
antti.kekki@gmail.com

Source Code

The site implementation is open-source and available on GitHub.

APIs and Map Data Download

The computed map data of land uplift and glacier extent on this site is freely available for everyone. The dataset can be downloaded in full or accessed directly through the site’s API.

File Format

The map data is distributed in the Cloud Optimized GeoTIFF (COG) format. This format was chosen because it allows data to be served directly from a cloud storage bucket — without requiring a WMS/WFS or other map server. This makes maintaining the site significantly cheaper.

In the Cloud Optimized GeoTIFF format, tiles for different map zoom levels are embedded directly inside the TIFF file. This allows a user to request only a small portion of the data via an HTTP Range header. This enables using the data directly in a browser without downloading the entire dataset.

Contents of the GeoTIFF

Land Uplift Map

The dataset is not a ready-to-use visual raster. Instead, the GeoTIFF format is used to encode information in 2 m x 2 m pixels that indicate whether each pixel represents land, sea, or ice at the given time:

This information is stored in data band 1 of the GeoTIFF file. The file cannot be directly visualized as a raster; the user must define rendering rules in their software to display these data values in desired colors. This approach was chosen because appropriate sea colors vary depending on the base map used.

Glacier Extent Map

Similarly, the glacier extent map is not a visual raster. Instead, data band 1 of the GeoTIFF file contains the following values:

Projection

The data uses the commonly used Finnish coordinate system EPSG:3067 (ETRS-TM35FIN). This allows the dataset to be used together with the National Land Survey of Finland’s base maps without any projection conversions.

APIs

OpenAPI documentation is available in HTML format at maannousu.info/api and in JSON format at maannousu.info/api/spec.json.

The API endpoints and GeoTIFF files are named by the year they represent in the land uplift model. Negative numbers indicate years before the Common Era (e.g., -4000 means 4000 BCE).

The number of supported years may change over time. The current list can be fetched dynamically in JSON format from the following URLs:

In this case, the API endpoints and files are the same. The GeoTIFF data can be downloaded in full by opening the link in a browser, or partial data can be retrieved using HTTP Range headers from the same URL.

The land uplift map files are approximately 300–600 MB each. The glacier extent maps are very small (under 1 MB).

YearLand Uplift Map URLGlacier Extent Map URL

Cross-Origin Resource Sharing (CORS)

The APIs return Cross-Origin Resource Sharing (CORS) headers, allowing the interfaces to be used directly from another website within a browser:

"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Methods": "GET", "HEAD", "OPTIONS"
"Access-Control-Max-Age": "86400"

Cache

The API responses include the header "Cache-Control": "public, max-age=86400" for every request, allowing browsers to cache data for one day. However, currently only Safari caches HTTP Range requests. Chrome and therefore also Edge always re-download the data.

Integration Examples

OpenLayers

OpenLayers is an open-source JavaScript library capable of rendering GeoTIFF files directly in the browser. It efficiently fetches zoom-level tiles from the dataset using HTTP Range requests.


        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,
        });
      

A more complete example of a full OpenLayers-based site can be found in this project’s source code on GitHub: