You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We provide web services and components to interact with the Federal Spatial Data Infrastructure (FSDI). The tech docs are dedicated to developers using these services.
src
alt
/swisstopo_map.png
Geoportal
text
link
Get started
/get-started/overview
theme
text
link
alt
Getting help
/page/get-help
features
title
details
link
icon
Explore Data
Browse additional information about layers, including attributes and other metadata.
/explore-data/get-layer-metadata
🧭
title
details
link
icon
Access Data
Retrieve location-based features such as geometries, addresses and elevation.
/access-data/identify-features
🔎
title
details
icon
link
Visualize Data
Access map data (2D and 3D) for visualization in your application.
👁
/visualize-data/wms
title
details
icon
link
Download Data
Download entire datasets for exploration and analysis.
⬇️
/download-data/stac-api/overview
title
details
icon
link
Map Viewer
Integrate and customize map.geo.admin.ch as an interactive map in your webpage.
🗺️
/map-viewer/embed-in-an-iframe
<script setup>
import { onMounted, onUnmounted, h, createApp } from 'vue'
import { data as releases } from './scripts/releases-content.data.ts'
import { data as status } from './scripts/status.data.ts'
import { data as announcements } from './scripts/announcements.data.ts'
import StatusBanner from './components/StatusBanner.vue'
import {withBase} from 'vitepress'
// Though vitepress uses markdown-it, it's not exposed so we need to explicitly import
import markdownit from 'markdown-it'
const lastRelease = releases.at(0)
const statusPreview = status[0]
const announcementsPreview = announcements[0]
const md = markdownit()
let statusContainer = null;
let app = null;
// Initiate and attach StatusBanner to the header, if type is 'warning' or 'danger'
onMounted(() => {
if (statusPreview.frontmatter.type !== 'warning' && statusPreview.frontmatter.type !== 'danger' ) return;
const headerContainer = document.querySelector('.VPNav');
statusContainer = document.createElement('div');
statusContainer.className = 'status-container';
if (headerContainer && headerContainer.parentNode) {
headerContainer.parentNode.insertBefore(statusContainer, headerContainer.nextSibling);
app = createApp({
render: () => h(StatusBanner, {
status: statusPreview.frontmatter
})
});
app.mount(statusContainer);
}
})
onUnmounted(() => {
// Clean up when user leaves the page
if (app) {
app.unmount();
}
if (statusContainer && statusContainer.parentNode) {
statusContainer.parentNode.removeChild(statusContainer);
}
})
</script>