map0

Kartenfunktionen

Messen

Strecken und Flächen in der Karte messen. Die Berechnung verwendet geografische Koordinaten auf einer Kugel und vermeidet damit die Maßstabsverzerrung von Web Mercator.

Ausprobieren: der Lineal-Button in der Werkzeugleiste. Klicken setzt Punkte, Ziehen verschiebt einen Punkt, Doppelklick beendet. Backspace entfernt den letzten Punkt, Esc löscht alles. Für ein Polygon samt Umfang zu Fläche wechseln.

Warum sphärische Mathematik

Der Maßstab von Web Mercator ändert sich mit der geografischen Breite. Direkt in diesen projizierten Koordinaten gemessene Strecken sind abseits des Äquators zu groß. Bei Wien würde eine Strecke von 1 km mit etwa 1,5 km gemessen.

map0 verwendet die Haversine-Formel für Längen und sphärische Polygonberechnungen für Flächen. Die Messungen beruhen auf einem kugelförmigen Erdmodell und weichen von Berechnungen auf einem Ellipsoid ab.

Wie gezeichnet wird

Messlinien erhalten eine weiße Umrandung, damit sie auch auf Luftbildern sichtbar bleiben. Das Segment am Mauszeiger ist gestrichelt, Stützpunkte verwenden die Akzentfarbe. Messungen bleiben beim Wechsel der Hintergrundkarte erhalten.

Messbeschriftungen. Die Beschriftungen sind HTML-Marker und verwenden die CSS-Variablen des Viewers. Sie funktionieren mit Raster- und Vektorhintergründen und benötigen keine Glyphenquelle im Kartenstyle.

Konfiguration

Ein einziger Eintrag. Standardmäßig eingeschaltet; false entfernt das Bedienelement vollständig.

measure.map0.json
{
  "$schema": "https://map0.net/schema/v1.json",
  "version": 1,
  "meta": { "title": "Measuring distance and area" },
  "map": { "center": [16.3725, 48.2083], "zoom": 14 },
  "basemaps": [
    {
      "id": "bmapv",
      "title": "basemap.at",
      "type": "style",
      "url": "https://mapsneu.wien.gv.at/basemapv/bmapv/3857/resources/styles/root.json",
      "default": true
    },
    {
      "id": "ortho",
      "title": "Aerial",
      "type": "raster",
      "url": "https://mapsneu.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpeg",
      "maxZoom": 19,
      "attribution": "© basemap.at"
    }
  ],
  "layers": [
    {
      "id": "areas",
      "type": "geojson",
      "title": "Demo zones",
      "data": "/data/demo-areas.geojson",
      "style": {
        "fill-color": "#0e7490",
        "fill-opacity": 0.12,
        "line-color": "#0e7490",
        "line-width": 1.5
      },
      "legend": [{ "label": "Demo zone", "color": "#0e7490" }]
    }
  ],
  "controls": { "measure": true, "legend": false }
}

Abgrenzung

Messungen sind temporär. Sie können angepasst oder gelöscht werden, werden aber nicht im geteilten Link gespeichert oder als Anmerkungen exportiert.