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-IDQuelle und DistributionCapabilityFreigegebene Aussage
climategeosphere-spartacus-v3 / spartacus-v3-1y-1kmreport_lookupÖsterreich, Jahresstand 2025, Rastergröße 1 km
brownfieldbmluk-brachflaechen-potenzial-2024 / bmluk-brownfield-2024-gpkgpotential_lookupÖsterreich mit ausdrücklich ausgewiesenen Lücken
parcelbev-parzellen / bev-dkm-gpkg-pilot-snapshotpoint_lookupnur geprüfter Gänserndorf-Pilot
floodhochwasser-noe / hochwasser-noe-wfs-snapshotpoint_lookupnur GF/Marchegg-Pilot, ausschließlich Snapshot
zoningwidmung-noe / widmung-noepoint_lookupnicht freigegeben; NÖGIS-Rechte #413 offen
earthquakeerdbeben-oenorm / geophysik-bodenbeschleunigung-ref-ortereport_lookupfür dieses Werkzeug nicht konfiguriert
local-climate-zonelcz-global / lcz-global-v3-at-500mreport_lookupfü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

ZustandBedeutung
hitqualifizierter Quellenbefund mit belegter Punktabdeckung und Provenienz
no_hitqualifizierter Nullbefund ausschließlich innerhalb bestätigter Coverage
outside_coverageStandort liegt außerhalb des nachgewiesenen fachlichen Scopes
ambiguous_boundarymehrere plausible Grenztreffer; keine willkürliche Auswahl
staleQuellenstand ist überfällig oder nicht mehr zulässig
failedQuellen-, Provider-, Datenbank- oder Vertragsprüfung ist fehlgeschlagen
gatedRechte, Qualität, Active Release oder eine andere zwingende Freigabe fehlen
not_configureddie 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

  1. Signierte österreichische Auswahl und signiertes Bundesland prüfen.
  2. Je Karte die exakte Matrix-Lane und Bundeslandzelle auflösen.
  3. Rechte, Status, Freshness, Quality, Active Pointer und Scope prüfen.
  4. Nur bei available oder availableWithGaps den bestehenden Current-View- Lookup derselben Source/Distribution/Capability ausführen.
  5. BEV und Hochwasser zusätzlich gegen ihre konkrete Pilot-Punktabdeckung prüfen; ein Standort anderswo in Niederösterreich bleibt außerhalb.
  6. 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-check wird kein clientseitiger Auth-SessionProvider gemountet; der Browser fragt /api/auth/session nicht im Hintergrund ab.
  • Report- und Anmeldelinks bleiben nutzbar, lösen aber kein spekulatives prefetch für /report oder /login aus. Vor einer bewussten Navigation werden keine neuen Auth-, ln_anon-, Report- oder Session-Cookies gesetzt.
  • Der serverseitige ImpersonationBanner und 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-yield aktiviert.
  • 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

FallPrüfsituationErwarteter Zustand oder Schutz
SC-01qualifizierter Klimaraster-Treffer im Gänserndorf-Pilotclimate=hit mit Release und Quellenstand
SC-02qualifizierter Klimaraster-Treffer in Wienclimate=hit; keine Pilot-Vollständigkeitsbehauptung
SC-03österreichweite Brachflächen-Potenzialgeometrie getroffenbrownfield=hit; bekannte Modellgrenzen bleiben sichtbar
SC-04kein Brachflächenfeature in bestätigter Coveragebrownfield=no_hit; kein amtlicher Negativnachweis
SC-05BEV-Treffer innerhalb des Gänserndorf-Pilotenparcel=hit ohne Geometrieexport
SC-06BEV-Standort in Niederösterreich außerhalb des Pilotenparcel=outside_coverage
SC-07BEV-Standort in einem anderen Bundeslandparcel=outside_coverage; kein Fachlookup
SC-08Punkt auf gemeinsamer BEV-Parzellengrenzeparcel=ambiguous_boundary; kein LIMIT 1
SC-09freigegebener Hochwasser-Treffer im GF/Marchegg-Pilotflood=hit; ausschließlich Snapshot
SC-10Hochwasser-Nullbefund innerhalb belegter Pilot-Coverageflood=no_hit; kein behauptetes Nullrisiko
SC-11Hochwasser-Standort außerhalb des freigegebenen Pilotenflood=outside_coverage; kein WMS
SC-12Snapshot-/Datenbankfehler im Hochwasser-Lookupflood=failed; kein WMS-Fallback
SC-13NÖGIS ohne Rechte und qualifizierten Active Releasezoning=gated; kein Provideraufruf
SC-14Erdbeben mit Active Release, aber ohne Werkzeug-Scopeearthquake=not_configured; kein Fachlookup
SC-15LCZ mit Current View, aber ohne Werkzeug-Scopelocal-climate-zone=not_configured; kein Fachlookup
SC-16veralteter Klimareleaseclimate=stale; kein positiver oder negativer Befund
SC-17unbekannte Freshness oder fehlender Quellenstandgated oder stale; niemals fresh
SC-18fehlgeschlagene Quality oder fehlender Active Pointergated; kein Current-View-Lookup
SC-19fehlender oder manipulierter locationProof400; keine Quellenabfrage
SC-20fehlender, manipulierter oder vertauschter regionProof400; keine Quellenabfrage
SC-21Adresslabel oder Koordinate nach der Auswahl verändert400; keine Quellenabfrage
SC-22fremdes Land oder signierte Region passt nicht zur Adresse400; keine Quellenabfrage
SC-23Tageslimit des separaten Werkzeug-Buckets erreicht429; kein weiterer Quellenlookup
SC-24Kartenfehler parallel zu einer qualifizierten Klimakartenur betroffene Karte failed; Klima bleibt hit
SC-25Antwort, Cookie-, URL- und Datenbank-Prüfungkeine Koordinate/Signatur im Ergebnis und kein Report/Cookie
SC-26Photon city=Wien, state fehltserverseitig signierter regionCode=AT-9
SC-27Photon city=Vienna, state fehltserverseitig signierter regionCode=AT-9
SC-28Photon city=Wien mit widersprüchlichem statekein regionProof; kein Lookup
SC-29Photon city=Wien mit unbekanntem vorhandenem statekein regionProof; kein Lookup
SC-30andere Photon-Stadt ohne statekeine Regionsableitung aus Koordinate oder Bounding-Box
SC-31Photon city=Wien mit passendem state=Wienregulär signierter regionCode=AT-9
SC-32frischer Browser lädt die Werkzeugseitekein SessionProvider, kein Session-Request und kein Cookie
SC-33Report-/Login-Links erscheinen ohne bewussten Klickkein Prefetch und kein Auth-/Report-/Session-Cookie
SC-34bestehende aktive Impersonation besucht die WerkzeugseiteSicherheitsbanner sichtbar; keine Auth-Hintergrundabfrage
SC-35bewusste Navigation zu /report oder /loginnormaler 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.