-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modellierung geographische Koordinaten #1
Comments
Für Geo-Sachen bitte GeoSPARQL 1.1 des OGC verwenden: https://docs.ogc.org/is/22-047r1/22-047r1.html |
In DANTE haben wir GeoJSON und zur Darstellung in Webanwendungen wird ebenfalls GeoJSON verwendet (allerdings erweitert im Precision, auch für den Zoom-Level). Im Property-Graph wollen wir GeoSPARQL. Irgendwie müssen wir das zusammenbringen und festlegen, wie das ganze in CRM passt (vielleicht E94_Space_Primitive für geo:Geometry verwenden?) |
hast du da ne Idee für uns @situx |
E94 als Subklasse von geo:Geometry wäre glaube ich nen guter Kompromiss und dann im reinen CRM eben E94 nehmen |
Müssen aber auch https://www.cidoc-crm.org/crmgeo/sites/default/files/CRMgeo1_2.pdf mit reinnehmen... @nichtich da auf Seite 30 ff. steht was jetzte Version leider von 2015 .... https://www.cidoc-crm.org/crmgeo/fm_releases |
Ich denke folgendes Verfahren ist praktikabel, da es auch in Wikidata ähnlich gehandhabt wird: In gelieferten Daten können können leider ganz verschiedene Arten vorkommen, wie Koordinaten angegeben sind (GeoSPARQL, Basic Geo (WGS84 lat/long) Vocabulary, WKT, GeoJSON, CRMgeo...) Wir müssen festlegen, welche davon wir unterstützen und alle unterstützen Formate auf eine Form bringen. Ich schlage folgende vor: Alle Koordinaten werden auf Instanzen der CRM-Klasse E94 Space Primitive abgebildet, die genau ein Statement mit der Property |
Bitte denkt auch daran ob ihr unterschiedliche Koordinatenreferenzsysteme unterstützen wollt. Manche Literale unterstützen nur das Weltkoordinatensystem |
Von CRMgeo gibt es eine neuere Version: https://cidoc-crm.org/extensions/crmgeo/ - dort ist E94 Space Primitive nur am Rande erwähnt, siehe SP6 Declarative Place, eine Unterklasse von E54 Place, deren Sinn mir nicht ganz einleuchtet So ähnlich würde vermutlich der Ort des Wracks der Titanic in CRM in RDF ausgedrückt werden: ?titanticPlace a crm:E54_Place ; # oder crmgeo:SP6 Declarative Place - kommt aufs Gleiche heraus
crm:P168_place_is_defined_by [
a crm:E94_Space_Primitive ; # = crm:E47_Spatial_Coordinates (deprecated)
crm:P3_has_note "POINT (-49.946944 41.7325 -3803)" ;
crm:P2_has_type wd:Q4018860 # WKT
] . Ich gehe allerdings stark davon aus, dass statt WKT auch zahlreiche andere Syntax-Varianten vorkommen wie zum Beispiel Und so in GeoSPARQL ?titanticPlace a geo:Feature ;
geo:hasGeometry [
a geo:Geometry ;
geo:asWKT "POINT (-49.946944 41.7325 -3803)"
] . Und so in JSKOS {
"type": ["http://www.cidoc-crm.org/cidoc-crm/E54_Place"],
"location": {
"type": "Point",
"coordinates": [-49.946944, 41.7325, -3803]
}
} Und so im Property Graph (Cypher). Dort sind nur allerdings nur point, polygon und line nutzbar: CREATE (:E54_Place {point:point({latitude: -49.946944, longitude: 41.7325, height: -3803}) Und so vielleicht im Property Graph (PG Format, das unterstützt keine geographischen Datentypen):
|
Dann sind mir doch da GeoSPARQL und JSKOS eindeutig lieber... und wenn da irgendwo noch ein :asGeoJSON rumliegt sind glaube ich alle zufrieden (sofern es in WGS84 ist...). => geht sogar in GeoSPARQL: https://docs.ogc.org/is/22-047r1/22-047r1.html#_property_geoasgeojson ?titanticPlace a geo:Feature ;
geo:hasGeometry [
a geo:Geometry ;
geo:asgeoJSON "{"type": "Point","coordinates": [-49.946944,41.7325,-3803]}"^^geo:geoJSONLiteral
] . |
@florianthiery Ich würde nur aus deinen Daten ?titanticPlace a crm:E54_Place ;
crm:P168_place_is_defined_by [
a geo:Geometry ;
geo:asgeoJSON '{"type": "Point","coordinates": [-49.946944,41.7325,-3803]}' ;
geo:asWKT "POINT (-49.946944 41.7325 -3803)"
] . |
klingt für mich zumindest nach ner versständlichen und sauberen Lösung. Aber CIDOC für Geodaten ist echt net schön... @nichtich ich versuch das nach dem CM mal in die LEIZA LADO Ontology ein reinzubringen, damit ich das auch net vergesse ;-) |
Hier ist mal der aktuelle Entwicklungsstand von CRM Geo: https://gitlab.isl.ics.forth.gr/cidoc-crm/compatible-models/crmgeo/-/tree/v1.2_crm7.1.2_preparation/1.2. |
In https://graph.nfdi4objects.net/collection/9 werden Koordinaten so modelliert:
Beispielwert:
POINT(-6.254558 53.340408)
In CRM gibt es E94_Space_Primitive (früher
E47_Spatial_Coordinates
). Allerdings ist unklar, welches Format die vermutlich mitP3_has_note
angegebenen Werte haben. CRM allein ist hier nicht ausreichend.In RDF gibt es außerdem das einfache Geo-Vokabular mit der Klasse Point und den Properties latitude, longitude, und altitude aus dem WGS84-Referenzsystem.
Die beste Variante für geographische Informationen in RDF ist anscheinend GeoSPARQL zumal es Mappings von/nach WKT, GeoJSON u.A. gibt (JSKOS verwendet GeoJSON). Zu klären ist noch, wie eine Genauigkeit für absichtlich ungenau gemachte Daten angegeben werden kann.
Koordinaten in Wikibase werden mit folgenden Propertie angegeben, die sollten ebenfalls unterstützt werden:
wikibase:geoLongitude
within the coordinate node retrieves the longitude value.wikibase:geoLatitude
within a coordinate node retrieves the latitude value.wikibase:geoGlobe
within a coordinate node retrieves the globe object. For coordinates on earth it will be Earth (Q2).wikibase:geoPrecision
within a coordinate node retrieves the precision of the coordinate values, measured in degrees. Multiply by 111000 to convert to meters.The text was updated successfully, but these errors were encountered: