Skip to content

CesiumJS ignores bounding volume metadata for implicit tilesets #13195

@javagl

Description

@javagl

Consider the following excerpt of a tileset JSON:

{
  ...
  "schema": {
    "id": "cesium-tiling-pipeline",
    "classes": {
      "tile": {
        "properties": {
          "tightBoundingBox": {
            "name": "Tight Bounding Box",
            "type": "SCALAR",
            "componentType": "FLOAT64",
            "array": true,
            "count": 12,
            "semantic": "TILE_BOUNDING_BOX"
          }
        }
      }
    }
  },
  "geometricError": 1370.9605003261136,
  "root": {
    "boundingVolume": {
      "box": [0, 0, 10, 10, 0.0, 0.0, 0.0, 10, 0.0, 0.0, 0.0, 10]
    },
    "geometricError": 39.57622101917514,
    "refine": "REPLACE",
    "metadata": {
      "class": "tile",
      "properties": {
        "tightBoundingBox": [0, 0, 5, 5, 0.0, 0.0, 0.0, 5, 0.0, 0.0, 0.0, 5]
      }
    },
    ...
  }
}

The TILE_BOUNDING_BOX semantic overrides the tile.boundingVolume, meaning that the bounding box of the root is [0, 0, 5, 5, 0.0, 0.0, 0.0, 5, 0.0, 0.0, 0.0, 5]. But for the special case where this is the root of an implicit tileset, CesiumJS causally suggests ambiguities and sliently ignores the metadata.

Note that changing this could be difficult, because there are already many tilesets out there that silently assume that CesiumJS shows the wrong behavior here. So the main purpose of this issue is just to serve as a link target for forum threads and issues where people are asking why different viewers and data sets behave inconsistently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions