Interoperable-data / ERA-Ontology-3.1.0

Extended version of the ERA Railway Infrastructure Ontology
4 stars 3 forks source link

A need for spot location on LinearElement #37

Open wsw2016 opened 3 weeks ago

wsw2016 commented 3 weeks ago

As claimed in issue #36 having a microscopic linear element would allow precise positioning of functional elements and geometry. The next step would require a class for this. In RSM/RTM and RailML the class SpotLocation is used for this purpose s. https://wiki3.railml.org/wiki/IS:balise.

To enforce precision positioning on topology we would need something like MicroSpotLocation having objectProperty microLinearElement, pos (or offset) on it. Defining SpotLocation on higher abstraction levels hardly serve any use-case as non-precise information (a Balise B1 is at offset=20.234 km on a LinearElement connecting Berlin and Hamburg).

Airy59 commented 2 weeks ago

A spot location at MACRO level definitely makes sense (e.g. a train stop on a line) but is not a relevant use case for CCS/TMS.

I'd recommend NOT to specialize location classes per level, as this is not necessary. A location refers to a net element, and a net element belongs to one (or more) representation levels. That is how the RTM/RSM standard works.

gatemezing commented 2 weeks ago

Dear @wsw2016, let me give it a try with the example you gave of the balise. I suppose it is an era:InfrastructureObject. See below a Turtle representation on how it can be instantiated.

@prefix : <http://example.org/ns/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix era: <http://data.europa.eu/949/> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix gsp: <http://www.opengis.net/ont/geosparql#> .
@prefix sf: <http://www.opengis.net/ont/sf#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

    :B1 a era:Balise, era:InfrastructureObject ;
         era:hasTopology :Topo1 ;
         era:hasPosition [ a era:Position ; 
                           era:carrierObject :T1;
                           era:referent :R1] .

    :R1 a era:Referent;
          era:nationalLine "Berlin-Hambourg" ;
          era:nationalLineId "0080" ; 
          era:kilometer "20.234"^^xsd:double.

    :Topo1 a era:TopologicalObject;
       era:location [ a era:SpotLocation; 
                        gsp:hasGeometry :Loc1 ] .

    :Loc1 a sf:Point;
       geo:lat "51.31"^^xsd:double;
       geo:long "13.24"^^xsd:double .