Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Kommentar: Versehentliche Änderung Datentyp rückgängig gemacht
Info
titleIn Arbeit

Entwurf!

Protkoll der Absprachen in der TelKo 27.03.2017:

  • Die Verwendung der Property dcterms:spatial für die Angabe von geographischen Angaben soll so in die Erweiterten Empfehlungen aufgenommen werden.
  • Als Alternative zur Property mit der die Koordinaten angegeben werden (geo:asWKT) bringt Adrian Pohl anhand eines Beispieles des hbz schema:geo ins Spiel. Für die hbz-Umsetzung hatte die komfortable Indexierbarkeit mit ElasticSearch einen hohen Stellenwert.
    Die Unterschiede:
    • geo:asWKT ist stärker standardisiert. Der damit verwendete Datentyp geo:wktLiteral lässt z.B. auch Angaben nach verschiedenen Koordinatenbezugssysstemen zu (was man in der Praxis allerdings selten brauchen dürfte). Auch ist die Abbildung komplexer Geometrien möglich (z.B. "Fläche mit Löchern").
    • schema macht keine harten Vorgaben, in welchem Format Koordinaten angegeben werden. Erwartet werden Werte der Klassen schema:GeoCoordinates oder schema:GeoShape.
  • In den Erweiterten Empfehlungen soll ein Beispiel angegeben werden mit geo:asWKT und darauf hingewiesen werden, dass es auch andere Abbildungsmöglickeiten gibt, z.B. in schema.

 

Die folgende Ausführungen gründen sich in der aktuellen Umsetzung im LinkedData-Service der DNB.

Kurzfassung

Verknüpfe die Repräsentation der Karte mit der Repräsentation der Geometrie mit dcterms:spatial. Beschreibe die Geometrien mit WKT (Well-known Text) und verwende dabei den Datentyp geo:asWKTLiteral.

Beispiel:

@prefix sf: <http://www.opengis.net/ont/sf#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .

<http://d-nb.info/1105671259> a bibo:Map , bibo:Document ;
    dc:title "Sehkarte Ostfriesland, Jadebusen, Elbe" ;
    dcterms:spatial [
        a sf:Polygon ;
        geo:asWKT "Polygon (( +006.666666 +054.166666, +006.666666 +053.500000, +008.666666 +053.500000, +008.666666 +054.166666, +006.666666 +054.166666 ))"^^geo:wktLiteral .
] .

Längere Fassung

Unterscheidung zwischen Karte und Geometrie

...

WKT ist eine Mikrosyntax zur Beschreibung von Geometrien. Als erstes kommt ein Schlüsselwort, das die Art der Geometrie beschreibt, z. B. POINT, POLYGON oder LINE. Darauf folgt ein oder mehrere Koordinatenpaare, die die Geometrie beschreibt, z. B. POINT(0 0) oder POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)) (Polygone können auch Löcher haben, die kommen dann in weitere geklammerte Bereiche innerhalb der äußeren Klammern: POLYGON((äußerer Ring)(Loch1)(Loch2)) ). Die Koordinaten sind immer dezimale Koordinaten, nie Grad-Minute-Sekunde. In dem Datentyp wktLiteral, die GeoSPARQL definiert, kann man vor dem Schlüsselwort auch in spitzen Klammern einen URI stellen, der das verwendete CRS definiert, z. B. <http://www.opengis.net/def/crs/EPSG/0/4326>Point(33.95 -83.38). Wenn kein CRS-URI spezifiziert wird, ist der Default <http://www.opengis.net/def/crs/OGC/1.3/CRS84>, was WGS 84 mit Axenordung long-lat bedeutet.

 Umsetzung der Geometrien im LinkedDat-Service der DNB

Für die Geometrien, die die Karten abbilden, werden keine eigenständigen Ressourcen gebildet, sondern sie werden als bNodes an die Karten gehängt. Für einige Kartentypen, z. B. Stadtpläne, erfassen wir nur die Mittelpunktkoordinaten, daher gibt es nur ein Koordinatenpaar. In den Fällen, wenn die Eckkoordinaten des Kartenausschnittes erfasst werden, sind mehrere Koordinatenpaare vorhanden, die als Polygon mit nur einem äußeren Ring beschrieben werden. Wir verwenden immer das default CRS (CRS84 = Koordinaten nach WGS84 mit Axenfolge long-lat).

Wichtig bei der Umsetzung ist die korrekte Axenfolge (longitud latitud) und dass bei Polygonen die Ringe geschlossen sein müssen (also müssen die ersten und die letzten Koordinatenpaare gleich sein) und dass die Koordinatenpaare des äußeren Rings gegen den Uhrzeigersinn gehen, währen die inneren Ringe im Uhrzeigersinn gehen.

Beispiel für Punktkoordinaten

@prefix sf: <http://www.opengis.net/ont/sf#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .

<http://d-nb.info/1120048540> a bibo:Map , bibo:Document ;
    dc:title "Brüssel" ;
    dcterms:spatial [
        a sf:Point ;
        geo:asWKT "Point ( +004.348611 +050.850277 )"^^geo:wktLiteral .
] .

Beispiel für Eckkoordinaten

@prefix sf: <http://www.opengis.net/ont/sf#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .

<http://d-nb.info/1105671259> a bibo:Map , bibo:Document ;
    dc:title "Sehkarte Ostfriesland, Jadebusen, Elbe" ;
    dcterms:spatial [
        a sf:Polygon ;
        geo:asWKT "Polygon (( +006.666666 +054.166666, +006.666666 +053.500000, +008.666666 +053.500000, +008.666666 +054.166666, +006.666666 +054.166666 ))"^^geo:wktLiteral .
] .

 

  ;
    a sf:Polygon .