Skip to content
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

Inconsistent use of property types in AbstractBuildingSubdivisionType #23

Open
clausnagel opened this issue Aug 22, 2019 · 1 comment
Open

Comments

@clausnagel
Copy link
Member

bldg:AbstractBuildingSubdivisionType uses gml:ReferenceType to implement the UML associations to bldg:BuildingConstructiveElement and bldg:BuildingRoom. I guess the rationale behind this is that constructive elements and rooms should be modelled as nested elements of the embracing building and only be referenced from a building subdivision.

But then, the property elements buildingFurniture and buildingInstallation are of type gml:AbstractFeatureMemberType and therefore could also contain the corresponding features inline.

This inconsistency needs to be fixed.

@TatjanaKutzner
Copy link
Contributor

TatjanaKutzner commented Aug 30, 2019

All four relations have the tagged value set to byReference in the UML model, thus, all of them should use gml:ReferenceType in the encoding.
So why does this not work correctly? The relations to BuildingConstructiveElement and BuildingRoom are defined as associations in the UML model, whereas the relations to BuildingFurniture and BuildingInstallation are defined as aggregations.
This seems to be the reason for the different behaviour.

It seems that the gml:AbstractFeatureMemberType is used by ShapeChange regardless of how the tagged value is set. Encoding rule E.2.4.11 from ISO 19136 is not that clear in that case. Is this the way how the encoding should be or is ShapeChange doing the encoding not correctly?

This relates to issue #17 and could be defined as a third rule:
If a nested feature shall only be given by-reference and not inline, then use an association in the UML. In the GML encoding, the property element shall use gml:ReferenceType.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants