bSI-InfraRoom / bSI-InfraRoom/IFC-Specification

Absolute vs Relative stationing (Pset_Stationing/Pset_LinearReferencingMethod)

Open
#241 0 comments 0 reactions 4 assignees Claimed by @czapplitec View on GitHub
documentation
Dominant language
No language data
Stars
27
Forks
24
PR merge metrics
No merged PRs in 30d

Description

From discussion with @jmirtsch :
In the unit test [UT_LP_4](https://github.com/IFCRail/IFC-Rail-Unit-Test/tree/master/2_Linear%20Placement%20(LP)/UT_LP_4), one could describe or interpret the stationing from the station equations in LandXML in two ways:
- KM26+ has station 26000, KM27+ has station 27000 and so on (this is the way Jon represented this case)
- Each referent restarts the stationing at 0 (e.g. KM26+236 => 236 meters towards the next referent starting at KM 26). This is the way I represented this case.

PSet_LinearReferencingMethod has the property LRM_Type which is an enumeration with constants LRM_ABSOLUTE, LRM_RELATIVE and LRM_INTERPOLATIVE. However, there is no default specified anywhere if PSet_LInearReferencingMethod is missing for an alignment. Furthermore, it is not clear in the documentation exactly how these LRMTypes work vs the Pset_Stationing properties.
Proposal:
- Specify in the documentation for Pset_LInearReferencingMethod that:
- LRM_ABSOLUTE indicates that the IncomingStation and Station values in PSet_Stationing specifies absolute station values
- LRM_RELATIVE indicates that the IncomingStation specifies a relative value vs the previous referent (in the nested list). Station can be omitted (defaults to 0).
- LRM_INTERPOLATIVE indicates that the IncomingStation and Station specifies a value between 0 and 1 where 0 is at the beginning of the linear element and 1 is at the end and stations in between are linearly interpolated between 0 and 1.
- If Pset_Stationing.Station is present, it specifies a restart value at the location of the referent. If omitted Station==IncomingStation (IfcReferent.RestartDistance should be deprectated or removed, see separate issue)
- Specify (where?) that the default LRMType is LRM_ABSOLUTE

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.