Binden Sie Ihre Daten an die Datenkarte an
Die Datenkarte ist ein offenes Portal, das Daten aus vielen Quellen in einer gemeinsamen Karte darstellt. Um Karte, Stile oder Kartenserver müssen Sie sich nicht kümmern. Es genügt, ein Manifest (die Beschreibung Ihrer Daten) und die Daten als GeoJSON zu veröffentlichen. Das Portal fragt die Daten in dem Moment ab, in dem jemand sie einschaltet, stellt sie gemäß Ihrer Beschreibung dar und nennt Sie als Quelle.
Bereitet ein KI-Agent die Daten auf? Geben Sie ihm den Link zur Anleitung für KI-Agenten. Sie enthält ein schrittweises Vorgehen, Codevorlagen und Abnahmekriterien. Die gesamte Dokumentation ist maschinenlesbar: llms.txt, MCP-Server, Validator.
Drei Arten der Anbindung
| Art | Wann | Was Sie brauchen |
|---|---|---|
| Statische Dateien | bis etwa 2 000 Objekte, Daten ändern sich gelegentlich | manifest.json + data.geojson auf einer beliebigen Website (auch GitHub Pages) |
| Eigener Endpunkt | große oder Live-Datensätze | HTTP-GET-Endpunkt, der nach dem Kartenausschnitt (bbox) filtert |
| Bestehende WMS / Kacheln | Sie betreiben einen Kartenserver | nur ein Manifest mit einer Quelle vom Typ raster |
1. Manifest
Ein JSON, das Sie und Ihre Datensätze beschreibt. Verpflichtend ist nur das Minimum: protocol, provider.id, provider.name und bei jedem Datensatz id, title, source und presentation. Alles Weitere ist optional, hilft aber Menschen wie auch dem KI-Assistenten des Portals, die Daten zu finden und zu verstehen (description, keywords, useCases, fields).
Das kleinste sinnvolle Manifest (statische Dateien, eine relative URL wird von der Adresse des Manifests aus aufgelöst):
{
"protocol": "0.1",
"provider": { "id": "gemeinde-beispiel", "name": "Gemeinde Beispiel", "homepage": "https://www.gemeinde-beispiel.at/" },
"license": { "name": "CC BY 4.0", "attribution": "© Gemeinde Beispiel" },
"datasets": [
{
"id": "lavicky",
"title": "Sitzbänke in der Gemeinde",
"description": "Öffentliche Sitzbänke, die von der Gemeinde betreut werden.",
"category": "society",
"keywords": ["Bank", "Sitzbank", "Rastplatz", "Park"],
"useCases": ["tourism"],
"source": { "type": "geojson", "url": "lavicky.geojson", "mode": "full" },
"presentation": { "type": "circle", "color": "#0d9488" },
"fields": [{ "key": "umisteni", "label": "Standort", "primary": true }]
}
]
}
Ein vollständiges Beispiel mit allen Möglichkeiten (Filter, Farben nach Werten, Gruppierung, Choroplethenkarte, WMS): manifest-complete.json.
2. Daten
Die Antwort ist eine GeoJSON-FeatureCollection mit Koordinaten in WGS84 in der Reihenfolge [lon, lat]. Das Element dm ist optional: Überschrift und Link beim Objekt, Gesamtzahl der Objekte, Gültigkeit der Antwort.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": 1842,
"geometry": { "type": "Point", "coordinates": [14.2858, 48.3064] },
"properties": { "druh": "papier", "vyvoz": "2026-10-01" },
"dm": { "title": "Container Hauptplatz", "url": "https://www.stadt-beispiel.at/abfall/1842" }
}
],
"dm": { "total": 1, "ttl": 3600 }
}
Wie das Portal abfragt
Modus full – der ganze Datensatz mit einer Abfrage. Modus bbox – das Portal sendet den an Kacheln ausgerichteten Kartenausschnitt und die Zoomstufe, dazu die vom Nutzer gesetzten Filter:
GET https://data.stadt-beispiel.at/datenkarte/kontejnery?bbox=14.238281,48.224673,14.414063,48.341646&zoom=11&limit=5000&lang=de&protocol=0.1&druh=papier,plast
Accept: application/geo+json, application/json
User-Agent: DatovaMapa/0.1 (+https://datenkarte.at/dokumentation/fuer-datenanbieter)
Geben Sie höchstens limit Objekte zurück (max. 5 000). Setzen Sie bei großen Datensätzen coverage.minZoom oder liefern Sie bei geringer Zoomstufe aggregierte Daten.
3. Visualisierung
presentation.type |
Geometrie | Typische Verwendung |
|---|---|---|
circle |
Punkte | Orte, Farbe nach Kategorie, Größe nach Wert, Gruppierung |
heatmap |
Punkte | Dichte des Vorkommens, optional nach Wert gewichtet |
line |
Linien | Routen, Netze, Fließgewässer |
fill |
Flächen | Gebiete, Choroplethenkarte nach Wert |
raster |
Kacheln | fertige Kartenebenen (WMS, XYZ); die Legende geben Sie in legend an |
auto |
beliebig | Standarddarstellung |
Farben werden immer hexadezimal angegeben. Die Farbe kann von einer Eigenschaft des Objekts abhängen – nach Kategorie (categorical), stufenlos (interpolate) oder in Intervallen (step). Einzelheiten im Protokoll. Weitere Typen kommen hinzu; einen Typ, den das Portal nicht kennt, stellt es als auto dar.
Daten, deren Wert sich im Zeitverlauf ändert (Einwohnerzahl, Preise, Messungen), haben im Standard eine eigene Darstellung: Senden Sie bei jedem Objekt die Wertereihe in dm.chart, und das Portal zeigt sie als Diagramm im Detail. Geht es vor allem darum, ob ein Wert steigt oder sinkt, setzen Sie color: { "type": "trend" } – das Portal färbt die Objekte anhand des Diagramms selbst grün, grau und rot und ergänzt die Legende. Einzelheiten im Protokoll.
4. Prüfung
Bevor Sie das Manifest einreichen, lassen Sie es vom Validator prüfen. Er liefert Fehler und Empfehlungen mit stabilen Codes und Hinweisen zur Behebung:
curl -X POST https://datenkarte.at/api/validate -H 'Content-Type: application/json' --data @manifest.json
curl 'https://datenkarte.at/api/validate?manifestUrl=https://data.stadt-beispiel.at/datenkarte/manifest.json'
Der zweite Befehl führt einen Live-Test durch: Er lädt das Manifest herunter und sendet an jeden Datensatz dieselbe Abfrage, die auch das Portal senden würde.
5. Registrierung
Sobald der Validator "valid": true meldet, registrieren Sie die URL des Manifests unter datenkarte.at/registrierung, über die API oder das MCP-Werkzeug register_provider:
curl -X POST https://datenkarte.at/api/registration -H 'Content-Type: application/json' --data '{"manifestUrl": "https://data.stadt-beispiel.at/datenkarte/manifest.json"}'
Das Portal prüft das Manifest erneut mit einem Live-Test. Danach gilt:
- Die Daten sind sofort verfügbar, aber ungeprüft. Jeder Datensatz hat seine Seite
/karte/{provider}/{dataset}. Vor der Anzeige der Daten erscheint dort eine Warnung, dass die Daten von Dritten hochgeladen wurden und der Betreiber sie noch nicht geprüft hat. Die Daten werden erst nach Bestätigung durch die Nutzerin oder den Nutzer geladen. Die Seite ist von Suchmaschinen ausgeschlossen. Eine Übersicht finden Sie unter ungeprüfte Daten. - Nach der Freigabe durch den Betreiber erscheinen die Daten im Katalog, in der Suche und auf den Seiten der Gemeinden.
- Die Freigabe gilt für einen bestimmten Inhalt des Manifests. Ändern Sie das Manifest, werden die Daten bis zur erneuten Freigabe wieder nur mit Warnung angezeigt. Die Daten selbst (GeoJSON) können Sie laufend ändern.
provider.idist mit der ersten Registrierung vergeben. Ändern Sie weder sie noch die URL des Manifests.
Mit der Registrierung bestätigen Sie, dass Sie die Daten unter der angegebenen Lizenz veröffentlichen dürfen und dass sie keine personenbezogenen Daten enthalten. Der Betreiber kann die Registrierung jederzeit ablehnen; die Daten verschwinden dann aus dem Portal.
Cache und Bedingungen
- Antworten halten wir für die Dauer von
cache.ttl(standardmäßig 5 Minuten) im Cache, damit Ihr Server nicht durch wiederholte Abfragen belastet wird. Bei einem Ausfall können wir kurzzeitig die zuletzt bekannten Daten mit einem Hinweis anzeigen. - Im Interesse der Geschwindigkeit, der Schonung Ihrer Ressourcen, der Nachhaltigkeit, der Verknüpfung von Zusammenhängen zwischen Quellen und der Arbeit mit großen Datenmengen können wir die Daten auch in einer eigenen Datenschicht speichern. Wenn Sie das nicht möchten, setzen Sie beim Datensatz
cache.store: false. - Wir nennen Sie immer als Quelle gemäß den Angaben in der Lizenz des Manifests.
- Wir fragen Daten nur bei registrierten Anbietern ab, mit einem Zeitlimit von 10 s und einer Größenbeschränkung der Antwort von 15 MB.
- Veröffentlichen Sie keine personenbezogenen Daten. Für den Inhalt der Daten ist der Anbieter verantwortlich.
Links
- Protokoll 0.1 – vollständige Spezifikation
- Anleitung für KI-Agenten
- API des Portals, Validator und MCP-Server
- JSON Schema des Manifests · JSON Schema der Daten · OpenAPI-Vertrag für Anbieter
- Referenzimplementierung (erfundene Daten, nicht im Katalog des Portals): Manifest, Daten