Schema-Validator
Webbasiertes, interaktives Tool zur Schemavalidierung von Geodaten im GML-Format
Dieses Tool dient dazu, Geodaten im GML-Format gegen eine festgelegte, dem Tool bekannte Datenstruktur zu prüfen. Abweichungen werden anhand von Fehlermeldungen beschrieben. GML ist ein offener Standard für räumliche Daten, basierend auf XML. Mehr zur Anwendung und Hintergrund des Validators finden sie unten.
Sie sehen hier den Prototypen des Tools. Die Anwendung wurde inzwischen von der Senatsverwaltung für Stadtenwicklung, Bauen und Wohnen übernommen, weiterentwickelt und im Intranet betrieben.
Erläuterungen zum Tool
Die Berliner Verwaltung stellt Geodaten unter anderem über den
FIS-Broker
als Opea Data bereit. Neben Datensätzen die von einer Verwaltungsstelle
direkt berlinweit erfasst und gepflegt werden, also räumlich das gesamte
Stadtgebiet abdecken, gibt es eine Vielzahl weiterer Geodaten die dezentral
in der Verantwortlichkeit der Bezirke liegen. Diese weisen teilweise eine
starke schematische Heterogenität untereinander auf und lassen sich nur mit
hohem Arbeitsaufwand für die Bereitstellung im FIS-Broker zusammenführen.
Das Projekt zur Koordinierung bezirklicher Geodaten im Auftrag der
Senatsverwaltung für Stadtentwicklung und Wohnen hat sich der Aufgabe
angenommen entsprechende Herausforderungen zu erkennen und bessere
Routinen für die Aufbereitung und Bereitstellung der bezirklichen
Geodaten zu schaffen. Zu diesem Zweck wurden mehrere Workshops mit
Mitarbeiter:innen der bezirklichen Vermessungsämter durchgeführt und für
Beispieldatensätze standardisierte Datenschemata und
Darstellungsvorgaben erstellt. Diese Datenschemata sind in diesem Tool
hinterlegt und über das Drop-Down-Menü in Schritt 1 auswählbar. Durch
Hochladen oder Einfügen eines Geodatensatzes im GML-Dateiformat, kann
dieser gegen das entsprechende Schema validiert werden. Wenn der
Validator Fehler ausgibt, muss der Geodatensatz korrigiert werden, um
ihn an das geforderte Schema anzupassen. Die Beschreibungen der
jeweiligen Schemata sind in den zugehörigen Objektartenkatalogen
festgehalten:
Beschreibungen der Schemata
Objektartenkatalog Brunnen
Objektartenkatalog Parkraumbewirtschaftung
Objektartenkatalog Fluchtlinien
Objektartenkatalog Hundefreilaufflächen
Objektartenkatalog Behindertenparkplätze
Bei diesem Tool handelt es sich um einen Prototypen für einen Testbetrieb, der bei Bedarf weiterentwickelt werden kann. So können beispielweise leicht weitere Schemata für die Validierung hinterlegt werden. Bei Fragen und Feedback wenden Sie sich bitte an odis@ts.berlin. Der Quellcode ist auf GitHub verfügbar. Das Tool kann mit den folgenden zwei Datensätzen für das Beispiel "Brunnen" getestet werden. Dafür einfach den Text in das Textfeld kopieren:
Beispiel für einen validen Input (Brunnen)
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ brunnen_neu.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml">
<gml:boundedBy>
<gml:Box>
<gml:coord>
<gml:X>390328.07203217</gml:X>
<gml:Y>5812275.53221021</gml:Y>
</gml:coord>
<gml:coord>
<gml:X>395999.795455024</gml:X>
<gml:Y>5816266.74498926</gml:Y>
</gml:coord>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.0">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>390328.07203217,5816266.74498926</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>02001</ogr:uid>
<ogr:bezirk>Friedrichshain-Kreuzberg</ogr:bezirk>
<ogr:bezeichn>Zierbrunnen</ogr:bezeichn>
<ogr:jahr>1893</ogr:jahr>
<ogr:kuenstler>Max Mustermann</ogr:kuenstler>
<ogr:einschraen>Ab Oktober nicht in Betrieb.</ogr:einschraen>
<ogr:lagebez>Musterpark</ogr:lagebez>
<ogr:plz>10965</ogr:plz>
<ogr:ortsteil>Kreuzberg</ogr:ortsteil>
<ogr:link>https://beispiel-url.de</ogr:link>
<ogr:bemerkung>Der Wasserfall ist 24m hoch.</ogr:bemerkung>
<ogr:eigenname>Wasserfall</ogr:eigenname>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.1">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>395999.795455024,5815683.23434905</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>02001</ogr:uid>
<ogr:bezirk>Friedrichshain-Kreuzberg</ogr:bezirk>
<ogr:bezeichn>Fontäne</ogr:bezeichn>
<ogr:jahr xsi:nil="true"/>
<ogr:kuenstler xsi:nil="true"/>
<ogr:einschraen xsi:nil="true"/>
<ogr:lagebez xsi:nil="true"/>
<ogr:plz>10965</ogr:plz>
<ogr:ortsteil xsi:nil="true"/>
<ogr:link xsi:nil="true"/>
<ogr:bemerkung xsi:nil="true"/>
<ogr:eigenname xsi:nil="true"/>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.2">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>394529.348641691,5812275.53221021</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>02001</ogr:uid>
<ogr:bezirk>Mitte</ogr:bezirk>
<ogr:bezeichn>Plansche</ogr:bezeichn>
<ogr:jahr xsi:nil="true"/>
<ogr:kuenstler xsi:nil="true"/>
<ogr:einschraen xsi:nil="true"/>
<ogr:lagebez xsi:nil="true"/>
<ogr:plz>12099</ogr:plz>
<ogr:ortsteil xsi:nil="true"/>
<ogr:link xsi:nil="true"/>
<ogr:bemerkung xsi:nil="true"/>
<ogr:eigenname xsi:nil="true"/>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
</ogr:FeatureCollection>
Beispiel für einen nicht validen Input (Brunnen)
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ brunnen_neu.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml">
<gml:boundedBy>
<gml:Box>
<gml:coord>
<gml:X>390328.07203217</gml:X>
<gml:Y>5812275.53221021</gml:Y>
</gml:coord>
<gml:coord><gml:X>395999.795455024</gml:X>
<gml:Y>5816266.74498926</gml:Y></gml:coord>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.0">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>390328.07203217,5816266.74498926</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>brunnen1</ogr:uid>
<ogr:bezirk>Fh-Kr</ogr:bezirk>
<ogr:bezeichn>Zierbrunnen</ogr:bezeichn>
<ogr:jahr>1893</ogr:jahr>
<ogr:kuenstler>Max Mustermann</ogr:kuenstler>
<ogr:einschraen>Ab Oktober nicht in Betrieb.</ogr:einschraen>
<ogr:lagebez>Musterpark</ogr:lagebez>
<ogr:plz>10965</ogr:plz>
<ogr:ortsteil>Kreuzberg</ogr:ortsteil>
<ogr:link>https://beispiel-url.de</ogr:link>
<ogr:bemerkung>Der Wasserfall ist 24m hoch.</ogr:bemerkung>
<ogr:eigenname>Wasserfall</ogr:eigenname>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.1">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>395999.795455024,5815683.23434905</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>02001</ogr:uid>
<ogr:bezirk>Friedrichshain-Kreuzberg</ogr:bezirk>
<ogr:bezeichn>Fontäne</ogr:bezeichn>
<ogr:jahr xsi:nil="true"/>
<ogr:kuenstler xsi:nil="true"/>
<ogr:einschraen xsi:nil="true"/>
<ogr:lagebez xsi:nil="true"/>
<ogr:plz></ogr:plz>
<ogr:ortsteil xsi:nil="true"/>
<ogr:link xsi:nil="true"/>
<ogr:bemerkung xsi:nil="true"/>
<ogr:eigenname xsi:nil="true"/>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
<gml:featureMember>
<ogr:brunnen_neu fid="brunnen.2">
<ogr:geometryProperty>
<gml:Point srsName="EPSG:25833">
<gml:coordinates>394529.348641691,5812275.53221021</gml:coordinates>
</gml:Point>
</ogr:geometryProperty>
<ogr:uid>02001</ogr:uid>
<ogr:bezirk>Mitte</ogr:bezirk>
<ogr:bezeichn>kleiner Brunnen</ogr:bezeichn>
<ogr:jahr xsi:nil="true"/>
<ogr:kuenstler xsi:nil="true"/>
<ogr:einschraen xsi:nil="true"/>
<ogr:lagebez xsi:nil="true"/>
<ogr:plz xsi:nil="true"/>
<ogr:ortsteil xsi:nil="true"/>
<ogr:link xsi:nil="true"/>
<ogr:bemerkung xsi:nil="true"/>
<ogr:eigenname xsi:nil="true"/>
<ogr:datum>2019/11/13</ogr:datum>
</ogr:brunnen_neu>
</gml:featureMember>
</ogr:FeatureCollection>