Open mathib opened 5 years ago
Note regarding georeferencing geometry descriptions: suggestion to objectify the local coordinate system, to lower the amount of triples (rdf:type
triples are not incl as they can be inferred):
3*GS + matrix triples
triples to 2*GS + 3 + matrix
triples (individual geometry file per GS)2*GS + 3 + matrix
triples to 2*GS + 4 + matrix
(1 shared geometry file over multiple GS)
(GS = omg:GeometryState in case of L3 or omg:Geometry in case of L2)Such a pattern [4-a] would look like (individual geometry file per GS):
inst:door1 omg:hasGeometry inst:geometry1 .
inst:geometry1 a omg:Geometry ;
fog:asObj_v3.0-obj "geometry of door in OBJ" ;
omg:hasCoordinateSystem inst:coordSys1 .
inst:coordSys1 a omg:CoordinateSystem ;
omg:hasGeoreference inst:georef1 .
inst:georef1 a omg:Georeference ;
omg:globallyTransformedBy inst:matrix2 ;
omg:hasGlobalCoordinateSystem "http://www.opengis.net/def/crs/EPSG/0/4979"^^xsd:anyURI .
or [4-b] (shared geometry file over multiple GS):
inst:door1 omg:hasGeometry inst:geometry1 .
inst:geometry1 a omg:Geometry ;
omg:locallyTransformedBy inst:matrix1 ;
omg:hasGeometry inst:myOriginalGeometryFile .
inst:myOriginalGeometryFile a omg:Geometry ;
fog:asObj_v3.0-obj "myOriginalObjFileInLocalCoordates" ;
omg:hasCoordinateSystem inst:coordSys1 .
inst:coordSys1 a omg:CoordinateSystem ;
omg:hasGeoreference inst:georef1 .
inst:georef1 a omg:Georeference ;
omg:globallyTransformedBy inst:matrix2 ;
omg:hasGlobalCoordinateSystem "http://www.opengis.net/def/crs/EPSG/0/4979"^^xsd:anyURI .
~ similar approach as the second suggestion in issue 2: https://github.com/tudaIIB/omg/issues/2#issuecomment-496995984_
general question is also if this metadata terminology should end up in the OMG module, or a separate metadata module.. In this light, a separate module has already been developed for some other research project I'm involved with, i.e. V4Design: https://gitlab.com/v4designEU/V4D-Linked_Data_Ontology/tree/master/KULeuven/TBox
3 different appraoches: 1) extension of OMG (transformation based on omg:transformsGeometry) 2) suggestions for re-using existing ontologies (QUDT/OM, PROV, DCT,...) - "alignment maps" 3) metadata ontology for geometry files --> 3DMO
Suggestions could be realised using class axioms with cardinality restricitons (max 1)
bpo:ClassifiedObject rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty schema:additionalType ; ] ; .
The omg:transformsGeometry
relation can start from static geometry (the geometry description is already calculated) or dynamic geometry (the geometry description is calculated based on the transformation matrix and the original geometry description, similar as pattern [1]):
inst:door1 omg:hasGeometry inst:geometry1 , inst:geometry2 .
inst:geometry1 a omg:Geometry ; ##dynamic
omg:locallyTransformedBy inst:matrix1 ;
omg:transformsGeometry inst:originalGeometryA .
inst:geometry2 a a omg:Geometry ; ##static
fog:asObj_v3.0-obj "myTransformedObjFile.obj" .
omg:transformsGeometry inst:originalGeometryA .
inst:originalGeometryA fog:asObj_v3.0-obj "myOriginalObjFile.obj" .
inst:matrix1 ...
We should consider methods for adding additional metadata to geometry descriptions in a uniform way. This includes:
omg:hasUpAxis
property and three individualsomg:x-axis
,omg:y-axis
andomg:z-axis
.geom:Transformation
pattern, because we would create a different pattern [1] from regular OMG/FOG [2]. This means a new OMG property has to be introduced:omg:locallyTransformedBy
omg:hasGlobalCoordinateSystem
). Fixed individuals can be reused from http://www.opengis.net/def/crs (e.g. WGS84:http://www.opengis.net/def/crs/EPSG/0/4979
)omg:globallyTransformedBy
). A CRS should also be linked (againomg:hasGlobalCoordinateSystem
). An example of a combination of a local transformation in combo with a global transformation (georeferencing) in [3]dct:creator
?dct:issued
?omg:isDerivedFromGeometry
oromg:isDerivedFromGeometryState
) can be inferred via a prop chain axiom)Pattern [1]
Pattern [2]
Pattern [3]