CesiumGS / 3d-tiles

Specification for streaming massive heterogeneous 3D geospatial datasets :earth_americas:
2.04k stars 459 forks source link

Add `"UNKOWN"` to `"TILESET_CRS_GEOCENTRIC"` #681

Closed lilleyse closed 2 years ago

lilleyse commented 2 years ago

Adds a reserved value "UNKNOWN" to the list of possible values for "TILESET_CRS_GEOCENTRIC".

javagl commented 2 years ago

We might have to define the semantics of semantics.

The concept of CRS seems to be fairly non-trivial, and I'm not familiar enough with it to be sure what's "right" or "wrong" here. For example, after recent cleanups, these paragraphs say:

A tileset's global coordinate system will often be in a WGS 84 Earth-centered, Earth-fixed (ECEF) reference frame (EPSG 4978), but it doesn't have to be [...]

The CRS of a tileset may be defined explicitly, as part of the tileset metadata. The metadata for the tileset can contain a property that has the TILESET_CRS_GEOCENTRIC semantic, which is a string that represents the EPSG Geodetic Parameter Dataset identifier.

And in https://github.com/CesiumGS/3d-tiles/pull/679 , I mentioned

The region is supposed to be given in "EPSG 4979". But the semantics say that the region uses the same ellipsoid as the CRS of the tileset. If this was not the WGS84 ellipsoid, the values would probably no longer be in "EPSG 4979", in the strictest sense.

But... even from this naive perspective, I have to ask: Is there a difference between...

?

(And if there is a difference: What is it?)

erikdahlstrom commented 2 years ago

A difference is that "UNKNOWN" can mean that there is knowledge that the region values in the dataset are not "EPSG 4979" (broken or mislabeled data could end up in this category).