Standort-Check-Datenpass v1
Stand: 25. August 2026
Zweck und Abgrenzung
Der öffentliche Standort-Check beantwortet nur: Welche qualifizierten Daten sind an diesem österreichischen Standort tatsächlich verfügbar? Das Ergebnis ist ein indikativ erklärter Datenpass, kein gespeicherter Report, keine amtliche Auskunft und kein Geometrieexport.
Jede Quellenkarte ist an die öffentliche Coverage-/Rechtematrix, das signierte Bundesland, den aktiven qualifizierten Release und die exakte Distribution gebunden. Ein landesweiter Matrixstatus ersetzt keinen konkreten Punkt-Coverage-Nachweis.
Anfragevertrag
POST /api/tools/standort-check
Content-Type: application/json
Content-Type: application/json ist verpflichtend. Fehlende oder andere
Medientypen, insbesondere einfache Cross-Origin-Formular- oder Textanfragen,
werden vor JSON-Verarbeitung, Quotenverbrauch, Matrix- und Quellenlookup mit
415 Unsupported Media Type abgewiesen.
{
"address": "Rathausplatz 1, 2230 Gänserndorf",
"coordinates": { "lat": 48.3443, "lon": 16.7212 },
"locationProof": "<signierter österreichischer Adressvorschlag>",
"regionCode": "AT-3",
"regionProof": "<signierte Bindung an Niederösterreich>"
}
Die Standort- und Regionsnachweise stammen aus der ausgewählten Antwort des vorhandenen Adressvorschlags. Beide Signaturen werden mit Adresslabel, Koordinate und Bundesland geprüft. Freitext ohne Auswahl, fehlende oder vertauschte Nachweise, manipulierte Koordinaten, falsche Regionen und nicht österreichische Standorte erzeugen keinen Quellenlookup.
Beim Stadtstaat Wien darf ein fehlendes Photon-Feld state ausschließlich aus
exakt city=Wien oder city=Vienna zu regionCode=AT-9 ergänzt werden. Der
regionProof wird danach unverändert serverseitig an Koordinate und Region
gebunden; ein vorhandenes passendes state=Wien bleibt regulär gültig. Ein
vorhandenes widersprüchliches oder unbekanntes state, andere Städte ohne
state und jede Ableitung aus Koordinaten oder Bounding-Boxen bleiben
fail-closed; ohne signierten Nachweis erfolgt kein Quellenlookup.
Adresse und Koordinate stehen ausschließlich im POST-Body, nicht in der URL. Der Endpunkt ist auf 30 Anfragen pro Tag begrenzt und verwendet dafür einen eigenen bestehenden pseudonymen IP-Hash-Bucket.
Der Vertrag ist zusätzlich in der
interaktiven OpenAPI-Referenz dokumentiert. Der Pfad
/tools/standort-check besitzt dort einen eigenen Server mit Basis
https://www.landnutzen.at/api; die übrigen bestehenden API-Verträge bleiben
unter ihrer unveränderten Basis /api/v1.
Antwortvertrag
{
"locationLabel": "Rathausplatz 1, 2230 Gänserndorf",
"regionCode": "AT-3",
"regionLabel": "Niederösterreich",
"checkedAt": "2026-08-25T12:00:00.000Z",
"cards": [
{
"id": "climate",
"title": "Klima am Standort",
"state": "hit",
"summary": "Qualifizierter Klimahinweis verfügbar.",
"sourceSlug": "geosphere-spartacus-v3"
},
{
"id": "zoning",
"title": "Widmung",
"state": "gated",
"summary": "Für dieses Werkzeug nicht freigegeben."
}
],
"limitations": [
"Eine Datenlücke ist kein negativer Befund.",
"Die Auskunft ersetzt keine amtliche oder fachliche Prüfung."
]
}
Das verkürzte Beispiel zeigt die Struktur, nicht einen garantierten Produktionsbefund. Die reale Antwort enthält sieben Karten. Abdeckung, Freshness, Quellenstand und Releasebezug werden nur ausgegeben, wenn sie für die betreffende Kartenidentität nachgewiesen sind. Die Antwort enthält keine Koordinaten, Signaturen, Eigentümerdaten, Exportgeometrie oder persistente Report-ID.
Jede Karte enthält mindestens id, title, state und summary. Die
optionalen Felder detail, sourceLabel, sourceSlug, coverage,
freshness, releaseId, sourceVintage, attribution, licenseLabel,
licenseUrl, sourceUrl und termsUrl sind einfache Zeichenketten;
releaseId besitzt UUID-Format. cards und limitations sind Arrays,
checkedAt ist ein ISO-8601-Zeitstempel. Zusätzliche ungeprüfte Request- oder
Antwortfelder sind nicht zugelassen.
Alle Antworten tragen Cache-Control: private, no-store und einen
noindex-Schutz. Ungültige Eingaben erzeugen 400, unzulässige Medientypen
415, erreichte Limits 429; eine ausgefallene Coverage-/Rechtematrix ergibt
503. Technische
Quellenfehler werden als ehrlicher Karten- oder Endpunktfehler ausgewiesen und
nicht als fachlicher Nullbefund.
Quellenkarten und Geltungsbereich
| Karten-ID | Quelle und Distribution | Capability | Freigegebene Aussage |
|---|---|---|---|
climate | geosphere-spartacus-v3 / spartacus-v3-1y-1km | report_lookup | Österreich, Jahresstand 2025, Rastergröße 1 km |
brownfield | bmluk-brachflaechen-potenzial-2024 / bmluk-brownfield-2024-gpkg | potential_lookup | Österreich mit ausdrücklich ausgewiesenen Lücken |
parcel | bev-parzellen / bev-dkm-gpkg-pilot-snapshot | point_lookup | nur geprüfter Gänserndorf-Pilot |
flood | hochwasser-noe / hochwasser-noe-wfs-snapshot | point_lookup | nur GF/Marchegg-Pilot, ausschließlich Snapshot |
zoning | widmung-noe / widmung-noe | point_lookup | nicht freigegeben; NÖGIS-Rechte #413 offen |
earthquake | erdbeben-oenorm / geophysik-bodenbeschleunigung-ref-orte | report_lookup | für dieses Werkzeug nicht konfiguriert |
local-climate-zone | lcz-global / lcz-global-v3-at-500m | report_lookup | für dieses Werkzeug nicht konfiguriert |
Quellenbasierte CC-BY-Karten (hit, no_hit oder ambiguous_boundary)
zeigen den exakt vorgegebenen Quellenhinweis sowie anklickbare Quellen- und
Lizenzlinks.
attribution, sourceUrl, licenseLabel und licenseUrl stammen aus der
qualifizierten Quellenprovenienz; termsUrl ergänzt ausschließlich tatsächlich
vorhandene Nutzungsbedingungen. Für Klima, Brachflächen, Hochwasser und
einen freigegebenen BEV-Punktbefund gelten unverändert nur die jeweilige
Distribution, Capability und Pilotabdeckung; die Attribution eröffnet keine
zusätzlichen Nutzungs- oder Exportrechte.
Erdbeben und Local Climate Zones können in anderen freigegebenen Produktpfaden verfügbar sein. Ihr aktiver Release oder ihre Current View ist keine automatische Freigabe für den Standort-Check. Dasselbe gilt für NÖGIS, BEV- Exporte, den gesonderten Hochwasser-WMS-Kanal und das separate PVGIS-Werkzeug.
Acht Karten-Zustände
| Zustand | Bedeutung |
|---|---|
hit | qualifizierter Quellenbefund mit belegter Punktabdeckung und Provenienz |
no_hit | qualifizierter Nullbefund ausschließlich innerhalb bestätigter Coverage |
outside_coverage | Standort liegt außerhalb des nachgewiesenen fachlichen Scopes |
ambiguous_boundary | mehrere plausible Grenztreffer; keine willkürliche Auswahl |
stale | Quellenstand ist überfällig oder nicht mehr zulässig |
failed | Quellen-, Provider-, Datenbank- oder Vertragsprüfung ist fehlgeschlagen |
gated | Rechte, Qualität, Active Release oder eine andere zwingende Freigabe fehlen |
not_configured | die Quelle ist für den angefragten Werkzeug-/Bundesland-Scope nicht aktiviert |
Nur no_hit ist eine fachlich negative Aussage. outside_coverage,
ambiguous_boundary, stale, failed, gated und not_configured bedeuten
ausdrücklich „nicht feststellbar“, nicht „kein Risiko“, „keine Widmung“ oder
„kein Grundstück“.
Matrix-first und getrennte Providergrenzen
- Signierte österreichische Auswahl und signiertes Bundesland prüfen.
- Je Karte die exakte Matrix-Lane und Bundeslandzelle auflösen.
- Rechte, Status, Freshness, Quality, Active Pointer und Scope prüfen.
- Nur bei
availableoderavailableWithGapsden bestehenden Current-View- Lookup derselben Source/Distribution/Capability ausführen. - BEV und Hochwasser zusätzlich gegen ihre konkrete Pilot-Punktabdeckung prüfen; ein Standort anderswo in Niederösterreich bleibt außerhalb.
- Jeden Kartenfehler getrennt behandeln und bekannte Datenlücken offenlegen.
Hochwasser liest ausschließlich hochwasser-noe-wfs-snapshot; ein WMS-Fallback
findet auch bei einem Fehler nicht statt. NÖGIS bleibt durch #413 geschlossen.
GeoJSON, PDF-Umriss, DXF und sonstige BEV-Exportpfade bleiben bewusst aus der
Public-Display-/Standort-Check-Matrix ausgeschlossen. Der separat
release-gebundene parcel_dxf-Consumer ist seit dem nachgewiesenen #412-
Cutover produktiv aktiviert; das verleiht diesem nicht persistierenden
Standort-Check weiterhin keine Exportfähigkeit.
Datenschutz und Speicherung
- Ausschließlich auf
/werkzeuge/standort-checkwird kein clientseitiger Auth-SessionProvidergemountet; der Browser fragt/api/auth/sessionnicht im Hintergrund ab. - Report- und Anmeldelinks bleiben nutzbar, lösen aber kein spekulatives
prefetchfür/reportoder/loginaus. Vor einer bewussten Navigation werden keine neuen Auth-,ln_anon-, Report- oder Session-Cookies gesetzt. - Der serverseitige
ImpersonationBannerund seine Warnung bei bereits aktiver Impersonation bleiben erhalten. Anmeldung, Report und geschützte Bereiche behalten außerhalb dieses exakten Werkzeugpfads ihre normalen Auth-, Cookie- und Sicherheitsabläufe. - Adresse, Koordinate, Standort-/Regionsnachweise, Quellenbefunde und Ergebnis werden weder als Report noch als Such- oder Ergebnishistorie gespeichert.
- Der bestehende Missbrauchsschutz speichert ausschließlich einen
werkzeugspezifischen pseudonymen IP-Hash mit Tag und Zähler in
rate_limits; der wöchentliche Bestands-Cron entfernt Einträge älter als 90 Tage. - Der Standort-Check erzeugt keine Funnel-Events, keine Produkttelemetrie,
keine neue MET-01-Baseline und keine Analytics- oder Werbekennung. MET-01
bleibt ausschließlich für
pv-yieldaktiviert. - Anwendungsseitige Fehlerhinweise verwenden statische oder redigierte Meldungen ohne Adresse, Koordinate und rohe SQL-/Exception-Payloads. Das ersetzt nicht die allgemeinen technisch notwendigen Hosting- Verbindungsprotokolle aus der Datenschutzerklärung.
- Die Adresssuche nutzt den vorhandenen Photon-Pfad. Snapshot-Lookups lesen nur bestehende, freigegebene Bestände; es wird kein zusätzlicher WMS-, Nominatim-, PVGIS- oder LLM-Provider für den Datenpass aufgerufen.
- Die Details stehen im Datenschutzhinweis zum Standort-Check.
Dokumentierte Abnahmefälle
| Fall | Prüfsituation | Erwarteter Zustand oder Schutz |
|---|---|---|
| SC-01 | qualifizierter Klimaraster-Treffer im Gänserndorf-Pilot | climate=hit mit Release und Quellenstand |
| SC-02 | qualifizierter Klimaraster-Treffer in Wien | climate=hit; keine Pilot-Vollständigkeitsbehauptung |
| SC-03 | österreichweite Brachflächen-Potenzialgeometrie getroffen | brownfield=hit; bekannte Modellgrenzen bleiben sichtbar |
| SC-04 | kein Brachflächenfeature in bestätigter Coverage | brownfield=no_hit; kein amtlicher Negativnachweis |
| SC-05 | BEV-Treffer innerhalb des Gänserndorf-Piloten | parcel=hit ohne Geometrieexport |
| SC-06 | BEV-Standort in Niederösterreich außerhalb des Piloten | parcel=outside_coverage |
| SC-07 | BEV-Standort in einem anderen Bundesland | parcel=outside_coverage; kein Fachlookup |
| SC-08 | Punkt auf gemeinsamer BEV-Parzellengrenze | parcel=ambiguous_boundary; kein LIMIT 1 |
| SC-09 | freigegebener Hochwasser-Treffer im GF/Marchegg-Pilot | flood=hit; ausschließlich Snapshot |
| SC-10 | Hochwasser-Nullbefund innerhalb belegter Pilot-Coverage | flood=no_hit; kein behauptetes Nullrisiko |
| SC-11 | Hochwasser-Standort außerhalb des freigegebenen Piloten | flood=outside_coverage; kein WMS |
| SC-12 | Snapshot-/Datenbankfehler im Hochwasser-Lookup | flood=failed; kein WMS-Fallback |
| SC-13 | NÖGIS ohne Rechte und qualifizierten Active Release | zoning=gated; kein Provideraufruf |
| SC-14 | Erdbeben mit Active Release, aber ohne Werkzeug-Scope | earthquake=not_configured; kein Fachlookup |
| SC-15 | LCZ mit Current View, aber ohne Werkzeug-Scope | local-climate-zone=not_configured; kein Fachlookup |
| SC-16 | veralteter Klimarelease | climate=stale; kein positiver oder negativer Befund |
| SC-17 | unbekannte Freshness oder fehlender Quellenstand | gated oder stale; niemals fresh |
| SC-18 | fehlgeschlagene Quality oder fehlender Active Pointer | gated; kein Current-View-Lookup |
| SC-19 | fehlender oder manipulierter locationProof | 400; keine Quellenabfrage |
| SC-20 | fehlender, manipulierter oder vertauschter regionProof | 400; keine Quellenabfrage |
| SC-21 | Adresslabel oder Koordinate nach der Auswahl verändert | 400; keine Quellenabfrage |
| SC-22 | fremdes Land oder signierte Region passt nicht zur Adresse | 400; keine Quellenabfrage |
| SC-23 | Tageslimit des separaten Werkzeug-Buckets erreicht | 429; kein weiterer Quellenlookup |
| SC-24 | Kartenfehler parallel zu einer qualifizierten Klimakarte | nur betroffene Karte failed; Klima bleibt hit |
| SC-25 | Antwort, Cookie-, URL- und Datenbank-Prüfung | keine Koordinate/Signatur im Ergebnis und kein Report/Cookie |
| SC-26 | Photon city=Wien, state fehlt | serverseitig signierter regionCode=AT-9 |
| SC-27 | Photon city=Vienna, state fehlt | serverseitig signierter regionCode=AT-9 |
| SC-28 | Photon city=Wien mit widersprüchlichem state | kein regionProof; kein Lookup |
| SC-29 | Photon city=Wien mit unbekanntem vorhandenem state | kein regionProof; kein Lookup |
| SC-30 | andere Photon-Stadt ohne state | keine Regionsableitung aus Koordinate oder Bounding-Box |
| SC-31 | Photon city=Wien mit passendem state=Wien | regulär signierter regionCode=AT-9 |
| SC-32 | frischer Browser lädt die Werkzeugseite | kein SessionProvider, kein Session-Request und kein Cookie |
| SC-33 | Report-/Login-Links erscheinen ohne bewussten Klick | kein Prefetch und kein Auth-/Report-/Session-Cookie |
| SC-34 | bestehende aktive Impersonation besucht die Werkzeugseite | Sicherheitsbanner sichtbar; keine Auth-Hintergrundabfrage |
| SC-35 | bewusste Navigation zu /report oder /login | normaler Auth-/Cookie-Ablauf ausschließlich auf der Zielseite |
Die Architekturentscheidung ist unter ADR-0052 nachvollziehbar. Die technische Abnahme ersetzt keine fachliche, behördliche oder datenschutzrechtliche Freigabe.