Geokoordinaten eines Flurst├╝cks

Ich wollte für meine Flurstücke die Geokoordinaten haben, damit ich sie mir auf dem Handy mit OsmAnd anzeigen lassen kann.

Sachsen hat ein Geoportal, in dem eine Karte mit allen möglichen Informationen zu finden ist.

Aktiviert man Karteninhalt -> 1/14 Verwaltung -> Flurstück, so sieht man alle Flurstücksgrenzen und deren Nummer. Die Grenzen und Nummern sind allerdings eine Grafik, aus der man die Koordinaten nicht herausbekommt.

Klickt man auf ein Flurstück, um sich mehr Informationen anzeigen zu lassen, sieht man dessen Nummer und Größe - aber nicht mehr.

Sucht man allerdings nach einem Flurstück, dann wird es mit einer roten Umrandung dargestellt - und das ist keine Grafik. Jetzt ging es mir nur noch darum herauszufinden, wie man an diese Daten herankommt.

Anleitung

  1. Auf sachsen.de -> Sachsenatlas -> Karte ins Suchfeld Ort, "Flurstück" und die Nummer eingeben:

    Streuben, Flurstück 23

    Enter drücken, Suchergebnisse werden angezeigt.

    Klickt man jetzt bei einem auf "Karte", so wird es auf ebendieser rot umrandet angezeigt.

  2. Im Browser den Netzwerkinspektor aktivieren: Rechts auf die Karte klicken, "Element untersuchen". Jetzt auf "Netzwerkanalyse" klicken.

    Die Netzwerkanfrageliste sollte leer sein. Wenn nicht, leeren.

  3. Nochmal auf "Suchen" (Lupe) klicken. Im Netzwerkinspektor ist jetzt eine Anfrage vom Typ "json" zu sehen, mit "proxy" im Dateipfadnamen.

  4. In der Liste auf die Anfrage klicken und auf "Antwort". Jetzt sieht man die Daten der Suchergebnisse als Datenbaum.

    In Firefox konnte ich doppelt auf die URL in GEOM klicken, und ein neuer Tab mit den Flurstückskoordinaten wurde geöffnet.

    Die konnte ich jetzt per Strg+S einfach auf die Festplatte speichern.

Suche im Geoportal Sachsenatalas Markierung eines gefundenen Flurstücks Netzwerkanalyse im Firefox Suchergebnisse als JSON JSON eines Flurstücks

Koordinatensysteme

Nach der ersten Freude rüber die Koordinaten kam die Ernüchterung: Die Koordinaten passten nicht zu dem, was ich sonst gewöhnt bin.

[350597.7, 5688842],
[350642.5, 5688850.2],
...

Weiter unten steht auch noch:

spatialReference: {
    wkid: 25833
}

Über $suchmaschine fand ich folgendes:

In Deutschland hat man sich für die UTM-Abbildung des ETRS89 entschieden.

Katastermodernisierung in Nordrhein-Westfalen: Wie wird das ETRS89 in die Ebene abgebildet?

Auf epsg.io/25833 erfährt man, daß 25833 nämlich ETRS89 / UTM zone 33N bedeutet - die 33. nördliche Zone.

Nach langem Suchen fand ich php-coord, eine Bibliothek zum Umwandeln von Koordinaten von einem Koordinatensystem in ein anderes - und eine der wenigen, die UTM unterstützt. Mit ihrer Hilfe konnte ich die ersten UTM-Koordinaten in WGS 84-Koordinaten umwandeln:

<?php
// first: $ composer require php-coord/php-coord
require_once __DIR__ . '/vendor/autoload.php';
 
$UTMRef = new \PHPCoord\UTMRef(350531.8, 5689109.2, 0, 'N', 33);
$LatLng = $UTMRef->toLatLng();
 
echo (string) $UTMRef . "\n";
echo (string) $LatLng . "\n";
?>
33N 350531.8 5689109.2
(51.3336, 12.85437)

Mit diesem Wissen baute ich mir ein Script, welches die ArcGis-JSON-Dateien in GeoJSON umwandelt: arcgis-to-geojson.php.

Zum Schluß noch ein Script, welches mehrere GeoJSON-Dateien mit je einem Polygon-Feature zu einer Datei mit einer FeatureCollection zusammenfasst: combine-geojson.php.

Das Ergebnis kann man sich in Google Earth auf dem Desktop oder auch geojson.io anzeigen lassen:

Polygone auf geojson.io

OsmAnd auf dem Handy unterstützt nur .gpx-Dateien, weshalb ich meine GeoJSON-Dateien noch mit gpsbabel konvertieren musste.

Written by Christian Weiske.

Comments? Please send an e-mail.