Schema Validator
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 Open 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>