Everything on screen comes from public swisstopo services. There is no other backend.
Basemaps: the layer button at the top right of the map (as in the Copernicus Browser) switches between
Map, SWISSIMAGE, Map Grey (wmts.geo.admin.ch: pixelkarte-farbe, swissimage,
pixelkarte-grau, on the native LV95 tile grid) and None.
Map overlay: Labels OSM is wmts.asit-asso.ch asitvd.fond_pourortho (roads and
place names from OpenStreetMap and Canton of Vaud data), published on the identical LV95 grid. It sits in its own pane
above the data layers.
Map layout: at the top left the date and acquisitions on the map, Copy link and the pixel inspector;
at the top right the place search, the layer button and the tools; at the bottom right the zoom buttons, the mouse
position (LV95 easting and northing) and the scale bar; the attribution at the bottom left. The chevron in the
menu header collapses the menu, the round button at the top left of the map opens it again (on small screens
the menu starts collapsed).
Place search: the location search of map.geo.admin.ch (api3.geo.admin.ch SearchServer,
type=locations): municipalities, districts, cantons, place names and addresses. Choosing a result
zooms to its extent or to its point and drops a pin there.
WMS / WMTS: the third button of the configuration card (next to Compare) opens layers of other map services,
as in the Copernicus Browser. The swisstopo WMS (wms.geo.admin.ch) is preset; the pull-down lists the
external providers of map.geo.admin.ch (loaded when the panel is opened) and can be searched, and + adds any
other WMS or WMTS URL (the service must allow cross-origin requests, CORS). The layers can be searched and paged;
a click shows a layer on the map and a second click hides it (the panel opens without an active layer), Add to Compare puts it into the compare list, the chevron shows its legend and
description, and Metadata opens its metadata. Layers are drawn from LV95 when the service offers it,
otherwise from LV03, Web Mercator, UTM 32N or WGS84, placed on the LV95 grid. Services without CORS headers are
shown on the map but left out of image downloads. The services you add are remembered in this browser; the
open service and layer, and the external layers in the compare list, are part of the link.
Dates: without a date in the link the latest date with data opens. The calendar and ‹ › only offer days whose
acquisitions reach the map view: the data footprint of each relative orbit is read once from the coarsest B04 overview
(the STAC geometry is only the rectangular extent). The calendar and the ‹ › buttons query the STAC API
data.geo.admin.ch/api/stac/v0.9. Cloud cover is CLOUDPERCENTAGE from each mosaic's
metadata.json (OmniCloudMask). When several orbits were acquired on the same day, all of them are
mosaicked, most recent on top.
True color (TCI): the JPEG tiles are decoded by the browser itself and kept in a cache, so each COG
tile is decoded once; the map uses 512 px tiles like the COGs. The TCI's internal mask decides what is data, so
black pixels stay black. On days with more than one scene (orbit), dark strips along a swath edge (mean RGB below 40
within 2 km of the scene edge) always count as no data, as in the swissEO cloud-free mosaics, so the other scene of
the day fills them.
Spectral layers: the band COGs are read straight from data.geo.admin.ch over HTTP range requests
(geotiff.js). Only the overview matching the zoom and the tiles in view are fetched.
Masks: Clouds hides cloud-mask codes 1 and 2, Cloud shadows code 3, and Terrain shadow
terrain-mask value 200 (cast or self-shadow from swissSURFACE3D at acquisition time).
The vegetation mask keeps forest or all vegetation, read from the forest-10m /
vegetation-10m COGs of swissEO VHI v100 (inside = value ≠ 255).
VHI: wms.geo.admin.ch layers ch.swisstopo.swisseo_vhi_v100 and
…_vegetation with the item= day selector. Titles and abstracts come from the WMS GetCapabilities document.
Area of interest: the pentagon button on the map draws a rectangle (axis-aligned in LV95) or polygon,
or imports KML/KMZ, GPX, WKT, GeoJSON, zipped Shapefiles (from a file or a URL), an MGRS/GEOREF cell or a bounding box
(WGS84, LV95, LV03). Limits: files up to 50 MB, areas up to 100,000 vertices. An area imported from a file is only part of a
copied link when it is small (about 270 vertices); one loaded from a URL is shared as the URL.
Vertices stay editable; drawing again adds a polygon. Statistical info reads the COGs over the area for the
selected date (statistics, histogram) and over a date range (time series, CSV); swissEO VHI statistics come from the
forest-10m / vegetation-10m COGs. The spectral explorer plots mean reflectance of
all 12 bands. The image download can be clipped to the area.
Configurations: as the themes of the Copernicus Browser, a configuration lists the layers for a task:
Default, Agriculture, Drought, Drought 2026 with highlights, and Forest. Each layer keeps its own
data source and dates.
VHI season sums (Forest): per pixel, over the daily swissEO VHI forest maps from 1 April to the selected day
(at most 31 October): the cumulative deficit Σ max(0, 40 − VHI) and the days with VHI below 10, as in the
Waldtrockenheit dashboard
(which shows them per warning region). Only days with a VHI value count. They are computed in the browser from the daily
COGs, so the first view of a season takes a while.
Forest Disturbance Classification: the Sentinel Hub custom script of Joanneum Research (EvoLand), run in the
browser on swissEO S2-SR: the model expects Sentinel Hub DN as 10000 × reflectance, which is swissEO DN − 1000.
Its 150 trees are loaded on first use from jsDelivr, pinned to a commit.
Coordinates: positions are given in LV95 (EPSG:2056) everywhere, also in the permalink
(center=2703331.08,1133878.99, as on map.geo.admin.ch).
Custom mask: the fifth mask of every layer keeps the data inside (or, inverted, outside) your own polygons
(e.g. a forest map), loaded from a file or URL like an area of interest (up to 50 MB and 1,000,000 vertices).
It applies to the map, statistics, exports and the timelapse.
Highlights: click a story to open it on the map (the card turns blue; a split comparison of two dates, drag
the handle); the chevron shows the text, whose last line opens the compare settings. Texts after watson.ch
(10 August 2026) and SRF Meteo (9 July 2026), credited in each story.
NDDI: by default with the NIR/SWIR NDWI of Gu et al. (2007). The green/NIR NDWI of the openEO notebook is
selectable, but saturates (99.8 % of the pixels at ±1 in a test, with or without the reflectance offset).
Loading: the box at the bottom left counts the tiles still rendering and the requests in flight, and flags a
slow connection after 6 s.
NDVIdiff / NDVIz: monthly products for the end of July, August and September (forest perimeter); the product
nearest to the selected date is shown, also in compare (each entry gives the date of its product), timelapse and export. NDVIdiff v200 BETA (beta data, example
COGs on cms.geo.admin.ch, not in STAC): the NDVI change of two-month first-quartile cloud-free mosaics (June/July, July/August,
August/September) against the same window one year earlier.
Two-date layers: NDDI change and the NDVI Analyst compare the selected date with a reference:
the acquisitions within ±20 days of the same day one year earlier (or of a chosen date), clearest first, per pixel the
first clear one.
Compare: each entry shows the date of the data it actually shows: the nearest NDVIdiff, NDVIz or NDVIdiff v200
BETA product, the VHI day (the nearest one if the chosen day has none) or the S2-SR date.
Permalink: the address bar is rewritten on every change (view, date, cloud filter, layer, legend range, masks,
effects, compare list including WMS / WMTS layers, the open WMS / WMTS service and layer, area of interest), so copying
the URL reproduces the view.
Projection: EPSG:2056 (CH1903+ / LV95), the native CRS of the tile grid and the COGs, so nothing is reprojected.