Closed clausnagel closed 2 years ago
Why? Because I actually couldn't really find this information from the specs/UML of CityGMLv3. Perhaps it's me though...
But let's follow the data model specs here: what should it be? "Bridge"
and "BridgePart"
also restricted to (1) "Solid", (2) "CompositeSolid", (3) "MultiSurface"?
Well, I was just stumbling across the "BuildingRoom" being restricted to (1) "Solid", (2) "CompositeSolid", (3) "MultiSurface", whereas "BridgeRoom" and "TunnelHollowSpace" are not. I think this should be consistent.
"Bridge" and "BridgePart" and are already restricted to (1) ..., (2) ... and (3) ... which is consistent with "Building", "BuildingPart", "Tunnel" and "TunnelPart". So, that's fine I guess.
Looking at the schemas again, I realized that the allowed geometries for "_AbstractBuilding"
are actually different from "Bridge"
and "Tunnel"
.
"_AbstractBuilding"
can only have "MultiSurface"
, "Solid"
and "CompositeSolid"
, whereas tunnels and bridges (+ their parts) can additionally have "MultiSolid"
and "CompositeSurface"
in addition. The spec, however, does not mention the latter two for bridges and tunnels. So, I think this should be harmonized as well.
Just as comparison: in CityGML 3.0, a gml:MultiSolid is not allowed for spaces in general. But gml:Solid, gml:CompositeSolid, gml:MultiSurface (which may have a single gml:CompositeSurface), gml:MultiCurve and gml:Point are. And additional template geometries are possible for all descendants of AbstractOccupiedSpaces
, which includes, for instance, buildings, tunnels and bridges (+ their parts).
so the solution to harmonise all this would be if the 4 objects Tunnel/Part and Bridge/Part are restricted to "MultiSurface", "Solid" and "CompositeSolid", right?
Building chapter:
Bridge chapter:
Thus, "BridgeRoom" (and also "TunnelHollowSpace") can have any geometry type, but "BuildingRoom" is restricted to solids and surfaces. Why?