Skip to content

Latest commit

 

History

History
267 lines (254 loc) · 7.7 KB

3DNodeIndexDocument.cmn.md

File metadata and controls

267 lines (254 loc) · 7.7 KB

3DNodeIndexDocument

The 3dNodeIndexDocument JSON file describes a single index node within a store. It includes links to other nodes (e.g. children, sibling, and parent), links to feature data, geometry data, texture data resources, metadata (e.g. metrics used for LoD selection), and spatial extent. The node is the root object in the 3dNodeIndexDocument. There is always exactly one Node object in a 3dNodeIndexDocument.

Depending on the geometry and LoD Model, a node document can be tuned towards being light-weight or heavy-weight. Clients decide which data to retrieve. The bounding volume information for the node, its parent, neighbors, and children provide sufficient data for a simple visualization. For example, the centroids could be rendered as point features.

Properties

Property Type Description
id string Tree Key ID, unique within the store. The root node is always 'root', all others follow the pattern '2-4-0-15-2'. At each level in a subtree, numbering starts at 0.
level integer Explicit level of this node within the index tree. The lowest level is 1.
version string The version (store update session ID) of this node.
mbs number[4] An array of four doubles, corresponding to x, y, z and radius of the minimum bounding sphere of a node.
obb obb Describes oriented bounding box.
created string Creation date of this node in UTC, presented as a string in the format YYYY-MM-DDThh:mm:ss.sTZD, with a fixed 'Z' time zone (see http://www.w3.org/TR/NOTE-datetime).
expires string Expiration date of this node in UTC, presented as a string in the format YYYY-MM-DDThh:mm:ss.sTZD, with a fixed 'Z' time zone (see http://www.w3.org/TR/NOTE-datetime).
transform number[16] Optional, 3D (4x4) transformation matrix expressed as a linear array of 16 values.
parentNode nodeReference Reference to the parent node of a node.
children nodeReference[] Reference to the child nodes of a node.
neighbors nodeReference[] Reference to the neighbor (same level, spatial proximity) nodes of a node.
sharedResource resource Resource reference describing a shared resource document.
featureData resource[] Resource reference describing a FeatureData document.
geometryData resource[] Resource reference describing a geometry resource.
textureData resource[] Resource reference describing a texture resource.
attributeData resource[] Resource reference describing a FeatureData document.
lodSelection lodSelection[] Metrics for LoD Selection, to be evaluated by the client.
features lodSelection[] A list of summary information on the features present in this node, used for pre-visualisation and LoD switching in featureTree LoD stores.

Note: properties in bold are required

Examples

Example: 3D Scene Layer info for point scene layer

 {
    "id": "root",
    "level": 1,
    "version": "ee4fbf04-e882-444e-854d-cd519b68594a",
    "mbs": [
        -120.235609902853241,
        39.1981414865211661,
        1895.23079465422779,
        446.269165373884221
    ],
    "created": "2014-07-23T00:00:00.000Z",
    "expires": "2015-07-23T00:00:00.000Z",
    "transform": [
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1
    ],
    "lodSelection": [
        {
            "metricType": "screenSpaceRelative",
            "maxError": 0
        },
        {
            "metricType": "distanceRangeFromDefaultCamera",
            "maxError": 0
        }
    ],
    "featureData": [
        {
            "href": "./features/0",
            "featureRange": [
                0,
                3
            ]
        }
    ],
    "parentNode": null,
    "children": null,
    "attributeData": [
        {
            "href": "./attributes/f_0/0"
        },
        {
            "href": "./attributes/f_1/0"
        },
        {
            "href": "./attributes/f_2/0"
        },
        {
            "href": "./attributes/f_3/0"
        }
    ]
} 

Example: 3D Scene Layer info for 3D object scene layer

 {
    "version": "{8F10DF9A-885E-41E0-A5DF-2686CE5B4EAC}",
    "id": "1",
    "level": 2,
    "mbs": [
        0.026676119561926726,
        0.0024989835685061959,
        34.265922634862363,
        131.39643859863281
    ],
    "obb": {
        "center": [
            0.026676119561926726,
            0.0024989835685061959,
            34.265922634862363
        ],
        "halfSize": [
            115.30760192871094,
            58.432319641113281,
            60.50103759765625
        ],
        "quaternion": [
            0.50604724884033203,
            0.41447588801383972,
            0.64152449369430542,
            -0.40071475505828857
        ]
    },
    "lodSelection": [
        {
            "metricType": "maxScreenThreshold",
            "maxError": 20.530693054199219
        },
        {
            "metricType": "maxScreenThresholdSQ",
            "maxError": 331.05267333984375
        }
    ],
    "sharedResource": {
        "href": "./shared"
    },
    "featureData": [
        {
            "href": "./features/0"
        }
    ],
    "geometryData": [
        {
            "href": "./geometries/0"
        }
    ],
    "textureData": [
        {
            "href": "./textures/0_0"
        },
        {
            "href": "./textures/0_0_1"
        }
    ],
    "attributeData": [
        {
            "href": "./attributes/f_0/0"
        },
        {
            "href": "./attributes/f_1/0"
        }
    ],
    "parentNode": {
        "id": "root",
        "href": "../root",
        "mbs": [
            0.026340863717777552,
            0.0038648506589316588,
            103.90042581222951,
            314.794677734375
        ]
    },
    "features": null,
    "children": [
        {
            "id": "1-0",
            "href": "../1-0",
            "mbs": [
                0.026676119561926726,
                0.0024989835685061959,
                34.265922634862363,
                131.39643859863281
            ]
        }
    ]
} 

Example: 3D Scene Layer info for integrated mesh scene layer

 {
  "version": "{cc6ba509-6253-444c-8cc3-455867ce5521}",
  "id": "3",
  "level": 2,
  "mbs": [
    -119.61204566699678,
    37.730869080000808,
    1922.2222099672463,
    17855.905819243209
  ],
  "lodSelection": [
    {
      "metricType": "maxScreenThreshold",
      "maxError": 17.437408026604697
    }
  ],
  "sharedResource": {
    "href": "./shared"
  },
  "featureData": [
    {
      "href": "./features/0"
    }
  ],
  "geometryData": [
    {
      "href": "./geometries/0"
    }
  ],
  "textureData": [
    {
      "href": "./textures/0_0"
    },
    {
      "href": "./textures/0_0_1"
    }
  ],
  "parentNode": {
    "id": "root",
    "href": "../root",
    "mbs": [
      -119.61204566699678,
      37.730869080000808,
      1920.951396978965,
      17855.841813106414
    ]
  },
  "features": null,
  "neighbors": null,
  "children": [
    {
      "id": "3-0",
      "href": "../3-0",
      "mbs": [
        -119.61204567725831,
        37.730869097892402,
        1902.7901114998331,
        17856.256970142622
      ]
    }
  ]
}