map0

Datenquellen

OGC API Features

OGC API Features stellt Vektordaten als GeoJSON über Collection-URLs bereit. map0 lädt die Daten seitenweise und folgt dabei den next-Links in den Antworten.

Ausprobieren: Den Netzwerk-Tab öffnen und die Seite neu laden. Rund 2.600 Bahnhöfe in Großbritannien werden in Seiten mit jeweils bis zu 1.000 Einträgen geladen. Jede Antwort verweist auf die nächste Seite. Mit der Maus über einen Bahnhof fahren, um seinen Namen zu sehen. Die Flughäfen passen in eine einzige Seite.

Konfiguration

url enthält die Collection-URL, zum Beispiel …/collections/railwaystation. map0 ergänzt /items und fordert GeoJSON an. Für style, cluster, popup und hover gelten dieselben Optionen wie bei einem geojson-Layer.

ogcapi-features.map0.json
{
  "$schema": "https://map0.net/schema/v1.json",
  "version": 1,
  "meta": { "title": "OGC API Features" },
  "map": { "center": [-2.6, 54.0], "zoom": 5.4 },
  "basemaps": [
    {
      "id": "positron",
      "title": "OpenFreeMap Positron",
      "type": "style",
      "url": "https://tiles.openfreemap.org/styles/positron",
      "default": true
    }
  ],
  "layers": [
    {
      "id": "bahnhoefe",
      "type": "ogcapi-features",
      "title": "Railway stations (clustered)",
      "url": "https://demo.ldproxy.net/zoomstack/collections/railway_stations",
      "pageSize": 1000,
      "cluster": { "enabled": true, "radius": 40 },
      "style": {
        "circle-color": "#0e7490",
        "circle-radius": 5,
        "circle-stroke-color": "#ffffff",
        "circle-stroke-width": 1.5
      },
      "hover": { "content": "{{name}}" },
      "popup": { "title": "{{name}}", "fields": [{ "key": "type", "label": "Type" }] },
      "attribution": "OS Open Zoomstack, demo.ldproxy.net"
    },
    {
      "id": "flughaefen",
      "type": "ogcapi-features",
      "title": "Airports",
      "url": "https://demo.ldproxy.net/zoomstack/collections/airports",
      "style": {
        "circle-color": "#b91c1c",
        "circle-radius": 6,
        "circle-stroke-color": "#ffffff",
        "circle-stroke-width": 1.5
      },
      "hover": { "content": "{{name}}" },
      "popup": { "title": "{{name}}" },
      "attribution": "OS Open Zoomstack, demo.ldproxy.net"
    }
  ]
}

Was diese Demo zeigt

Weitere Seiten laden. map0 verwendet die next-Links anstelle der optionalen Gesamtzahl numberMatched. Der Dienst dieser Demo liefert diese Zahl beispielsweise nicht. Das Laden endet, sobald kein weiterer Link vorliegt oder das konfigurierte limit erreicht ist. Die Daten müssen geografische Länge und Breite in WGS84 verwenden, die Standardeinstellung der API. Außerdem muss der Dienst den Browserzugriff über CORS erlauben.

Wann eignet sich OGC API Features?

Wie bei WFS werden die aktuellen Daten beim Laden der Karte durch eine Anfrage an den Dienst abgerufen. Änderungen in der Quelldatenbank stehen beim nächsten Neuladen zur Verfügung. Collection-URLs und Links auf weitere Ergebnisseiten vereinfachen die Konfiguration der Anfragen. Ladezeit und Datenmenge hängen vom Dienst und den ausgewählten Objekten ab. Für Daten, die als Datei veröffentlicht werden, kann GeoParquet die Downloadgröße verringern. Bei größeren Datensätzen ermöglichen Vektorkacheln wie PMTiles, nur die für den aktuellen Kartenausschnitt benötigten Daten zu laden.