3D Tiles Overview
3DTiles is an open standard, designed to describe and organize massive geospatial datasets in a manner that is efficient for both 3D rendering and analytical querying. Pioneered by Cesium, this standard is now widely used in the geospatial community and is an Open Geospatial Consortium Community Standard. A 3D tileset is an instance of geospatial data that adheres to the 3D Tiles specification.
You can use a 3D tileset to represent massive point cloud data, dense meshes from a photogrammetry capture, vast cities defined in CityGML/OpenStreetmap, high-fidelity CAD models, and so much more.
The STK installation includes a sample 3D tileset of a photogrammetry model of AGI Headquarters in Exton, PA. To view this 3D tileset, open the Globe Manager, click the Add Terrain/Imagery () icon, and select Add 3DTilesets. While this 3D tileset is stored on your local hard drive and available for offline use, you can have other 3D tilesets hosted online via Cesium Ion, the Geospatial Content Server.
AGI Headquarters photogrammetry, captured into a 3D tileset
You can identify a 3D tileset by a root metadata file that describes how it is organized. Typically, this file is named tileset.json, but this naming convention is not mandated by the 3D Tiles specification. When adding a tileset that is resident on your local filesystem, select this root JSON file. STK will use the directory name that contains this JSON file as the tileset name. A tileset.json file may organize the dataset by referencing other child tileset.json files, resulting in many json files to choose from. While it is valid to include a subset of the complete tileset by including a child JSON file, only one of these will be the root metadata file that describes the complete dataset.
STK supports 3DTiles v1.0 and the optional 3DTILES_content_gltf extension, which you can use for both visualization and some analytical capabilities for mesh geometries. For analysis, you can include 3D Tiles as an Access constraint by enabling the 3DTiles Mask constraint on an STK object.
How to use a 3D Tile as an Access constraint
You can enable a 3DTiles Mask constraint for any Vehicle, Facility, Place, or Target object via the Constraints > Basic property page. If you select Use for this constraint on an Object participating in Access, the constraint will evaluate 3D tileset geometry for any visibility occlusion across the access interval. If there is a time span in which the geometry belonging to an Analytical 3D tileset is obstructing the line of sight between two objects, then access will not be available during that span.
In STK, you manage a 3D tileset similarly to managing terrain in that you distinguish between using it for visualization in the 3D Graphics window and using it for analysis, meaning configuring the tileset for analytical computations. To use a 3D tileset correctly as an access constraint, you must register the tileset for analysis. To manage all analytical 3D tilesets, go to the Basic - 3DTiles page of the scenario properties. You can also register a tileset for analysis using the Globe Manager Hierarchy tab. When you add a tileset for visualization, register it for analysis by clicking Yes when you get the “Add for Analysis” prompt.
Adding a tileset hosted in Cesium ion
Cesium ion is a cloud-based platform for creating and hosting 3D tilesets that can be consumed by both Cesium applications and STK. You can explore the Cesium ion catalog of curated 3DTilesets via the Asset Depot, and you can upload source models and point cloud datasets to construct and host custom datasets. With a Cesium ion account, you can share curated tilesets with others by generating an Access Token. For a tileset to be consumable by STK, you must create an Access Token with the following scopes:
- assets:list – This makes a tileset discoverable by STK.
- assets:read – This grants STK read access to request this tileset data from Cesium ion.
Once you create an Access Token, any user that has the token has permission to use the granted tilesets listed for the token. At any point, the owner of the Access Token may choose to revoke the token. For more information on managing access tokens in Cesium ion, please refer to Cesium ion Access Tokens.
To connect STK to a collection of 3D tilesets hosted on Cesium ion, you must list the Access Token by using the Edit menu and selecting Preferences > Data Services > Cesium ion. You can list any number of Access Tokens, giving you access to 3D tilesets from one or more Cesium ion accounts.
After listing valid AccessTokens, you can add these tilesets using the Globe Manager Hierarchy tab. When you add a tileset for visualization, register it for analysis by clicking Yes when you get the “Add for Analysis” prompt.
Adding the Google Maps 3D tileset
The Google Maps 3D Dataset is hosted on the Google Cloud Platform as a 3D tileset. The Google Maps dataset enables visualization of global terrain and 2500+ cities across the globe, all defined within a single tileset. In accordance with Google’s Terms of Service, this tileset is not available for analytical purposes.
To include this tileset in your STK scenario for visualization, you need to provide STK with an API Key that is configured with permissions to access the Maps Tiles API. You can generate a personal API Key by signing into the Google Cloud Platform and following the instructions for “Creating an API Key”.
Once an API key is available, you must register this key through the Edit menu by selecting Preferences > Data Services > Google Maps. Upon listing a valid API key, you can use the Google Maps tileset through the Globe Manager Hierarchy tab.
For visualization, AGI recommends that you replace all existing imagery and terrain tilesets listed in the Globe Manager with this single, high-fidelity tileset. The Globe Manager will prompt you to automatically perform this optimization for convenience upon adding the tileset.