DCAT Geometrien
Es ist üblich, für DCAT Datensätze einen Raumbezug anzugeben. Die Angabe
dafür ist dct:spatial. Man kann das über einen URI machen aber auch
frei eine Geometrie angeben. In dem Fall hat man die Wahl zwischen WKT,
GeoJSON und GML. Was wird wie oft verwendet?
Angabe von Raumbezügen in DCAT
Eine Möglichkeit, in DCAT einen Raumbezug anzugeben, sieht so aus:
<dcterms:spatial rdf:resource="http://dcat-ap.de/def/politicalGeocoding/stateKey/01"/>
Dabei wird auf ein klar definiertes Objekt (in diesem Fall das Bundesland Schleswig-Holstein) verwiesen. Oft liegt eine solch eindeutige Beschreibung jedoch nicht vor und man muss die Punkte oder Polygone, auf die sich die Daten beziehen frei angeben. Das sieht dann z.B. so aus:
<locn:geometry rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral">POLYGON ((9.4955 54.5970, 9.4968 54.7003, 9.6690 54.6995, 9.6673 54.5962, 9.4955 54.5970))</locn:geometry>
In dem Beispiel ist das die Schreibweise in Well Known Text (WKT), eine recht kompakte Schreibweise von Geometrien in Textform. Es sind aber noch zwei weitere Schreibweisen möglich, nämlich GeoJSON und die Geography Markup Language GML. Insgesamt gibt es also drei Möglichkeiten, eine Geometrie anzugeben:
| Format | Datentyp |
|---|---|
| WKT | http://www.opengis.net/ont/geosparql#wktLiteral |
| GeoJSON | https://www.iana.org/assignments/media-types/application/vnd.geo+json |
| GML | http://www.opengis.net/ont/geosparql#gmlLiteral |
Verbreitung der drei Schreibweisen
Welche der drei Schreibweisen ist besonders verbreitet? Das habe ich mir bei GovData angesehen. Mit Hilfe des SPARQL-Endpunkts ist das schnell gemacht.
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX locn: <http://www.w3.org/ns/locn#>
SELECT ?d ( count( ?geometry) as ?n) WHERE {
?ds a dcat:Dataset .
?ds dct:spatial ?spatial .
?spatial locn:geometry ?geometry .
BIND ( datatype(?geometry) as ?d)
} GROUP BY ?d
Hier ist das Ergebnis:
| Typ | Anzahl |
|---|---|
| WKT | 82.754 |
| GML | 61.492 |
| GeoJSON | 15.138 |
Art der Geometrie
Nun wollte ich noch wissen, welche Arten von Geometrien vorkommen. Es gibt
- Punkte
- Linien
- Polygone
- Multipolygone (z.B. bei Inseln oder Enklaven)
- Sammlungen von Geometrien
Ich habe es nur für WKT ausgezählt.
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX locn: <http://www.w3.org/ns/locn#>
SELECT( count( ?geometry) as ?n) WHERE {
?ds a dcat:Dataset .
?ds dct:spatial ?spatial .
?spatial locn:geometry ?geometry .
FILTER ( datatype(?geometry) = <http://www.opengis.net/ont/geosparql#wktLiteral> )
FILTER STRSTARTS( UCASE(str(?geometry)), "MULTIPOLYGON") .
}
Es ergibt sich folgende recht deutliche Verteilung:
| Art der Geometrie | Anzahl |
|---|---|
| POLYGON | 79.086 |
| POINT | 2.482 |
| GEOMETRYCOLLECTION | 1.025 |
| MULTIPOLYGON | 8 |
| LINE | 2 |
Linien und Multipolygone kommen so gut wie gar nicht vor. Ich vermute, das liegt daran, das in der Regel ein umschließendes Rechteck (bounding box) angegeben wird, statt die genaue Geometrie anzugeben.
Kommentare
Mit einem Konto im Fediverse oder auf Mastodon kannst du auf diesen Beitrag antworten. Da Mastodon dezentral funktioniert, kannst du dein bestehendes Konto auf einem Mastodon-Server oder einer kompatiblen Plattform verwenden.
Nach einem Klick auf "Lade Kommentare" werden nicht-private Antworten vom Server norden.social geladen und unten angezeigt.
Wie das technisch funktioniert, kann man hier erfahren.