py3dtilers
py3dtilers copied to clipboard
Proposition : use standardized generic identifiers in the batch table
Currently, both the IFC tiler and CityGML tiler create standard-specific identifiers in the batch table. E.g. A CityGML object creates a gml:id
field as opposed to the IFC equivalent identifier
Proposition: implement the use of a "major identifier" and a "minor identifier" as denoted in [1]
- Major identifier: a global or universal ID for identifying a geospatial feature. As truly universal identifiers cannot be enforced, this ID can be tied to a source URL or namespace for clarity
- Minor identifier: a dataset-specific ID
- This approach is also used/recommended in the German AAA model, the European INSPIRE Data Specifications, and the GML standard (and subsequently CityGML)
Example:
Using GML as an example, gml:id
is used as a minor identifier and gml:identifier
is used as a major identifier like so:
<gml:feature gml:id="UUID_g1rt81bgf64hdf6">
<gml:identifier codespace="https://github.com/VCityTeam">Building_A</gml:identifier>
</gml:feature >
... could be stored in the batch table as (I might not be structuring this correctly):
[
{
"minorID": "UUID_g1rt81bgf64hdf6",
"majorID": {
"ID" : "Building_A",
"codespace": "https://github.com/VCityTeam"
},
...
}
...
]
Note that this wouldn't solve issue #74 but could be considered within issue #17.
[1] K. Chaturvedi, C. S. Smyth, G. Gesquière, T. Kutzner, and T. H. Kolbe, “Managing Versions and History Within Semantic 3D City Models for the Next Generation of CityGML,” in Lecture Notes in Geoinformation and Cartography, A. Abdul-Rahman, Ed. Springer, 2017, pp. 191–206. doi: 10.1007/978-3-319-25691-7_11.