Skip to content

Latest commit

 

History

History
357 lines (345 loc) · 10.9 KB

3DNodeIndexDocument.cmn.md

File metadata and controls

357 lines (345 loc) · 10.9 KB

3D Node Index Document

The 3dNodeIndexDocument JSON file describes a single index node within a store. The store object describes the exact physical storage of a layer and enables the client to detect when multiple layers are served from the same store. The file 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, siblings, and children provide enough data for a simple visualization. For example, the centroids of a bounding volume could be rendered as point features.

Properties

Property Type Description
id string Tree-key ID. A unique identifier of a node within the scene layer. At 1.7 the tree-key is the integer id of the node represented as a string.
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] The center point of the minimum bounding sphere. An array of four doubles, corresponding to x, y, z and radius of the minimum bounding sphere of a node. For a global scene, i.e. ellipsoidal coordinate systems, the values of the array correspond to longitude in decimal degrees, latitude of in decimal degrees, elevation in meters and radius in meters. For all other CRS, the values of x,y,z and r are in the same unit.
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. *This property was previously optional which was a documentation error.
features features[] Deprecated. 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": "1306",
    "level": 6,
    "mbs": [
        -73.800118851149136,
        40.73669251979566,
        0.021572002209722996,
        679.45720236569286
    ],
    "obb": {
        "center": [
            -73.800118851149136,
            40.73669251979566,
            0.021572002209722996
        ],
        "halfSize": [
            365.631592,
            477.904175,
            0.0500000007
        ],
        "quaternion": [
            0.0587248169,
            -0.412625164,
            0.89993757,
            -0.128079131
        ]
    },
    "lodSelection": [
        {
            "metricType": "screenSpaceRelative",
            "maxError": 140.54929551759727
        },
        {
            "metricType": "distanceRangeFromDefaultCamera",
            "maxError": 139191.99158812518
        },
        {
            "metricType": "maxScreenThreshold",
            "maxError": 48.521113838756797
        },
        {
            "metricType": "maxScreenThresholdSQ",
            "maxError": 2354.2984881535963
        }
    ],
    "featureData": [
        {
            "href": "./features/0",
            "featureRange": [
                0,
                890
            ]
        }
    ],
    "parentNode": {
        "id": "156",
        "href": "../156",
        "mbs": [
            -73.795788258698877,
            40.732381367513021,
            -1.1518597602844238e-05,
            1362.6036826773482
        ],
        "obb": {
            "center": [
                -73.795788258698877,
                40.732381367513021,
                -1.1518597602844238e-05
            ],
            "halfSize": [
                731.456299,
                960.864807,
                0.128648579
            ],
            "quaternion": [
                0.0586951897,
                -0.412657171,
                0.899904907,
                -0.128218919
            ]
        }
    },
    "attributeData": [
        {
            "href": "./attributes/f_0/0"
        },
        {
            "href": "./attributes/f_2/0"
        },
        {
            "href": "./attributes/f_3/0"
        },
        {
            "href": "./attributes/f_4/0"
        }
    ]
}

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

 {
    "id": "25030",
    "level": 6,
    "mbs": [
        54.483553612201497,
        24.36252247939186,
        8.115040997043252,
        202.28157036604742
    ],
    "obb": {
        "center": [
            54.483553612201497,
            24.36252247939186,
            8.115040997043252
        ],
        "halfSize": [
            93.1058044,
            6.90459251,
            181.712433
        ],
        "quaternion": [
            0.933717132,
            -0.28870675,
            0.055369094,
            -0.204340667
        ]
    },
    "lodSelection": [
        {
            "metricType": "maxScreenThresholdSQ",
            "maxError": 1278203.75
        },
        {
            "metricType": "maxScreenThreshold",
            "maxError": 1275.7192232958625
        }
    ],
    "featureData": [
        {
            "href": "./features/0"
        }
    ],
    "geometryData": [
        {
            "href": "./geometries/0"
        }
    ],
    "sharedResource": {
        "href": "./shared"
    },
    "parentNode": {
        "id": "25031",
        "href": "../25031",
        "mbs": [
            54.483553612201497,
            24.36252247939186,
            8.115040997043252,
            202.28157036604742
        ],
        "obb": {
            "center": [
                54.483553612201497,
                24.36252247939186,
                8.115040997043252
            ],
            "halfSize": [
                93.1058044,
                6.90459251,
                181.712433
            ],
            "quaternion": [
                0.933717132,
                -0.28870675,
                0.055369094,
                -0.204340667
            ]
        }
    },
    "attributeData": [
        {
            "href": "./attributes/f_0/0"
        },
        {
            "href": "./attributes/f_1/0"
        },
        {
            "href": "./attributes/f_2/0"
        },
        {
            "href": "./attributes/f_3/0"
        },
        {
            "href": "./attributes/f_4/0"
        }
    ]
}

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

 {
    "id": "17",
    "level": 8,
    "mbs": [
        138.59974403386326,
        -34.929125554424836,
        77.791773992590606,
        245.39599377770242
    ],
    "obb": {
        "center": [
            138.59974403386326,
            -34.929125554424836,
            77.791773992590606
        ],
        "halfSize": [
            186.775208,
            31.6982021,
            158.549973
        ],
        "quaternion": [
            -0.116017461,
            0.276839644,
            0.871147692,
            -0.388588935
        ]
    },
    "lodSelection": [
        {
            "metricType": "maxScreenThresholdSQ",
            "maxError": 807.53091035651016
        },
        {
            "metricType": "maxScreenThreshold",
            "maxError": 32.065250248092006
        }
    ],
    "featureData": [
        {
            "href": "./features/0"
        }
    ],
    "geometryData": [
        {
            "href": "./geometries/0"
        }
    ],
    "textureData": [
        {
            "href": "./textures/0"
        },
        {
            "href": "./textures/0_0_1"
        }
    ],
    "sharedResource": {
        "href": "./shared"
    },
    "parentNode": {
        "id": "18",
        "href": "../18",
        "mbs": [
            138.59974403386326,
            -34.929125554424836,
            77.791773992590606,
            245.39599377770242
        ],
        "obb": {
            "center": [
                138.59974403386326,
                -34.929125554424836,
                77.791773992590606
            ],
            "halfSize": [
                186.775208,
                31.6982021,
                158.549973
            ],
            "quaternion": [
                -0.116017461,
                0.276839644,
                0.871147692,
                -0.388588935
            ]
        }
    },
    "children": [
        {
            "id": "16",
            "href": "../16",
            "mbs": [
                138.59974490889948,
                -34.929115017712391,
                73.978384077548981,
                245.28071623121846
            ],
            "obb": {
                "center": [
                    138.59974490889948,
                    -34.929115017712391,
                    73.978384077548981
                ],
                "halfSize": [
                    162.582504,
                    36.705143,
                    181.55722
                ],
                "quaternion": [
                    0.0534443446,
                    -0.690046966,
                    0.487695336,
                    0.532101691
                ]
            }
        }
    ]
}