Das Entwurfsmuster dient in erster Linie dazu, um Punktkoordinaten eines Ortes für die Darstellung von weiterer ortsbasierter Information über den Ort auf einer Karte zu erfassen. Die Ermittlung der Punktkoordinaten zur geographischen Verortung sollte nach einer Konvention erfolgen, wie dass z.B. die Position der Kirche als Zentrum eines Dorfs zur Bestimmung der Punktkoordinaten verwendet wird. Die Erfassung des Ortsmittelpunkts erfolgt praktischerweise anhand der Eigenschaft has centroid aus der GeoSPARQL-Ontologie. Die Angaben zur Quelle der Koordinaten (z.B. eine historische Karte) werden mit dem Entwurfsmuster für Quellenangaben erfasst. Sollte von der Konvention zur Ermittlung der Zentrumskoordinaten abgewichen werden müssen, sollte das entsprechend begründet in den Angaben vermerkt werden.

Schema-Diagramm

Schema-Diagramm

Beispieldaten

Die Ortsdaten in der Datenbank des HOV (Historische Ortsverzeichnis von Sachsen) umfassen auch Punktkoordinaten und können bei der Aufbereitung und Konvertierung der Daten in das DigiKAR-Datenmodell mit dem Enturfsmuster für Punktkoordinaten eines Ortes modelliert werden:

@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix dmlo: <http://digikar.eu/ontology/> .
@prefix dmlr-document: <http://digikar.eu/resource/document/> .
@prefix dmlr-place: <http://digikar.eu/resource/place/> .
@prefix frbroo: <http://iflastandards.info/ns/fr/frbr/frbroo/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sf: <http://www.opengis.net/ont/sf#> .

dmlr-place:hov_10001 a dmlo:Place ;
  rdfs:label "Abend" ;
  dct:identifier "10001" ;
  geo:hasCentroid [ a sf:Point ;
    crm:P70i_is_documented_in dmlr-document:hov ;
    geo:asWKT "POINT(12.408333 51.131944)" ] .
    
  dmlr-document:hov a frbroo:F2_Expression ;
    rdfs:label "Digitales Historisches Ortsverzeichnis von Sachsen" .
    

Competency Questions

  1. Zu welchen Orten liegen Punktkoordinaten vor?

SPARQL-Beispielabfragen

SPARQL-Abfrage für Orte mit angegebenen Punktkoordinaten:

PREFIX dmlo: <http://digikar.eu/ontology/>
PREFIX dmlr: <http://digikar.eu/resource/>
PREFIX dmlr-place: <http://digikar.eu/resource/place/>
PREFIX dmlr-document: <http://digikar.eu/resource/document/>
PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?place ?label ?point WHERE {
  ?place a dmlo:Place ;
    geo:hasCentroid/geo:asWKT ?point ;
    rdfs:label ?label .
}
ORDER BY ?label

Die folgende Abfrage liefert die WKT-Punktkoordination auch als Längen- und Breitengrad-Angaben zu allen Orten (außer für Orte, die anhand des Begriffs dmlv-place:am als Amt typisiert sind):

PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX sdh-so: <https://ontome.net/namespace/112/>

PREFIX dmlo: <http://digikar.eu/ontology/>

PREFIX dmlv-place: <http://digikar.eu/vocabulary/place/>

SELECT DISTINCT ?place ?wkt ?lat ?long ?source WHERE { 
  ?place_uri a dmlo:Place ;
    rdfs:label ?place .

  ?place_uri geo:hasCentroid ?point .
  ?point geo:asWKT ?wkt .
  ?point crm:P70i_is_documented_in/rdfs:label ?source .

  BIND( xsd:decimal( REPLACE( STR(?wkt), '^[^0-9\\.-]*([-]?[0-9\\.]+) .*$', '$1' )) AS ?long )
  BIND( xsd:decimal( REPLACE( STR(?wkt), '^.* ([-]?[0-9\\.]+)[^0-9\\.]*$', '$1' )) AS ?lat )

  FILTER NOT EXISTS { ?place_uri crm:P41i_was_classified_by/crm:P42_assigned dmlv-place:am }

} ORDER BY ASC(?place)

Hinweise auf ähnliche Entwurfsmuster

Relevante verfügbare Datensätze