py3dtilers icon indicating copy to clipboard operation
py3dtilers copied to clipboard

Proposition : use standardized generic identifiers in the batch table

Open DiegoVinasco opened this issue 2 years ago • 0 comments

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.

DiegoVinasco avatar Dec 02 '22 13:12 DiegoVinasco