Derive CityFurniture relations
CodeMazeSolver opened this issue · 4 comments
Issue
Currently, there is no connection between the street sign or other CityFurniture which are important for one specific section of the road. This includes but is not limited to speed limits and restrictions for certain lanes.
Task
Map information, such as traffic sign information (speed limits, etc.) with respect to the corresponding street segment.
Solution Idea
Use the linear referencing in OpenDRIVE and add a generic attribute to the corresponding CityGML street objects using generic attributes or a link to the corresponding CityFurniture object.
This is a good point. I am not sure about the proposed solution idea, but at least in CityGML 3.0 we should insert explicit relatedTo
relationships. These relations must have a value for the relationType
attribute. We should choose something that is describing the specific relationship between the CityFurniture
(e.g. traffic sign) and the respective TrafficSpace
(e.g. driving lane). It would also be useful to express the relations in both directions, i.e., from the TrafficSpace
feature to the CityFurniture
and vice-versa. The relation type from CityFurniture
to the respective TrafficSpace
could be belongsTo
. The relation type from TrafficSpace
to the related CityFurniture
objects could be relatedFurniture
.
Maybe OpenDRIVE defines also some suitable relation types that could be adopted. If not, also a look into the data model of SUMO could help to see how signals and traffic signs are related to the individual sections of driving lanes.
Thanks for raising this issue and the solution ideas.
OpenDRIVE has concepts for the lane validity of objects (OpenDRIVE 1.7 section 11.4; e.g. parking lots) and for the lane validity of signals (OpenDRIVE 1.7 section 12.1; e.g. traffic signs and traffic lights). By default, objects and signs are valid for all lanes starting at a defined position along the reference line. The validity can be restricted to specific lanes (lateral to the road axis). As far as I know, there is no explicit restriction in longitudinal direction since the validity of a sign is often terminated by the following sign of its type and traffic lights can be interpreted as temporary stop lines.
The partitioning of the CityGML Sections
and Intersections
into TrafficSpace
s currently follows the OpenDRIVE concepts of laneSection
s (longitudinal) and lane
s (lateral). A modification of the partitioning would be possible but would mean a larger development effort and would also have disadvantages (e.g. more objects and geometries).
For these reasons, my suggestion would be that we insert the proposed relatedTo
CityGMLv3 relationships for the particular TrafficSpace
s in which the object is located longitudinally. If the exact validity start position of a sign is needed, the position of the sign could be projected onto the linear geometry representation of the TrafficSpace
, for example.
This could serve as a temporary solution for now because ASAM is currently working on an international traffic sign model.
@CodeMazeSolver Would such a conversion enhancement be sufficient for your application?
Thanks for raising this issue and the solution ideas. OpenDRIVE has concepts for the lane validity of objects (OpenDRIVE 1.7 section 11.4; e.g. parking lots) and for the lane validity of signals (OpenDRIVE 1.7 section 12.1; e.g. traffic signs and traffic lights). By default, objects and signs are valid for all lanes starting at a defined position along the reference line. The validity can be restricted to specific lanes (lateral to the road axis). As far as I know, there is no explicit restriction in longitudinal direction since the validity of a sign is often terminated by the following sign of its type and traffic lights can be interpreted as temporary stop lines.
The partitioning of the CityGML
Sections
andIntersections
intoTrafficSpace
s currently follows the OpenDRIVE concepts oflaneSection
s (longitudinal) andlane
s (lateral). A modification of the partitioning would be possible but would mean a larger development effort and would also have disadvantages (e.g. more objects and geometries).For these reasons, my suggestion would be that we insert the proposed
relatedTo
CityGMLv3 relationships for the particularTrafficSpace
s in which the object is located longitudinally. If the exact validity start position of a sign is needed, the position of the sign could be projected onto the linear geometry representation of theTrafficSpace
, for example. This could serve as a temporary solution for now because ASAM is currently working on an international traffic sign model.@CodeMazeSolver Would such a conversion enhancement be sufficient for your application?
Thank you for the detailed answer.
Your suggestion to project the object to the TrafficSpace
would be enough for my current application, as I'm just interested in a connection of the CityFurniture
objects related to the individual lane. So far I am also using the TrafficSpace
elements for connecting multiple segments together. Therefore, it would be beneficial to have the information connected to these objects. On the other side, there are many useful information (roughness, material type, speed limit) stored as generic objects in the corresponding TrafficArea
related to each TrafficSpace
object. So it might be a good idea to store this information there as well till a formal concept is included in the CityGML standard.
A relation from the CityFurniture
to the TrafficSpace
and vice versa was implemented following the relation types suggested by Thomas (see commit: b2c3e9f). Since the lane validity can be defined to any road object and signal in OpenDRIVE, this is now also implemented in the conversion process. That means that also building objects and vegetation objects are related to the respective TrafficSpace
s. It is questionable whether this is really reasonable, but at least it provides the user with the possibility to use this information.
Concerning the generic attributes of TrafficArea
: This has backward compatibility reasons to have this information also available in CityGML2 with the 3D City Database. But they are now also added to the TrafficSpace
s for CityGML3 (see commit: 2a055a7).