- All Implemented Interfaces:
RemoteResource
,LayerContent
,Loadable
The 3D Tiles Open Geospatial Consortium (OGC) specification defines a spatial data structure and a set of tile formats designed for streaming and rendering 3D geospatial content. A 3D Tiles data set, known as a tileset, defines one or more tile formats organized into a hierarchical spatial data structure. For more information, see the OGC 3D Tiles specification.
An Ogc3DTilesLayer
can display data from a public service, a tileset (.json), or a 3D tiles archive format (.3tz).
If a service requires an API key, use the getCustomParameters()
property to populate the key and value.
Functional characteristics
3D Tiles datasets can contain many types of data, which can be of integrated mesh or 3D object type.
An integrated mesh represents the continuous meshes with textures and replaces the surface. If a
dataset needs to be drawn as an integrated mesh, the occludeSurfaceProperty()
property
must be true. This will cause the layer to draw on top of the surface.
3D Tiles have a default horizontal coordinate system of World Geodetic System 1984 (WGS84) and a
vertical coordinate system of WGS84, which defines height based on an ellipsoidal model. However, an
ArcGISScene
uses the Earth Gravitational Model (EGM) or "gravity-related geoid"
vertical coordinate system. Therefore, the z-values of Ogc3DTilesLayer
objects are projected and rendered at the
resolution of EGM96 within the scene.
If you would like to use higher precision projection engine data such as EGM 2008, you can provide the path to the directory
containing projection engine data by setting the TransformationCatalog.setProjectionEngineDirectory(String)
property.
Performance characteristics
For an Ogc3DTilesLayer
, the rendering of 3D data is based on the current level of detail (LOD), which
is determined by the distance from the current viewpoint camera. Each object in the 3D tiles layer is represented
differently at various LODs determined by the camera distance. As the camera distance changes in the
scene, objects are displayed appropriately for the current LOD. This results in optimal client
performance, and avoids frequently loading and unloading objects.
OGC3DTilesLayer
supports:
- Batched 3D Model (b3dm) data representing heterogeneous 3D models like textured terrains and surfaces, buildings, and so on.
- Since:
- 200.4.0
- See Also:
-
Property Summary
TypePropertyDescriptionThe layer altitude offset.True to hide the surface if it intersects the layer, false otherwise.The URI of the layer.Properties inherited from class com.esri.arcgisruntime.layers.Layer
loadError, loadStatus
-
Constructor Summary
ConstructorDescriptionOgc3DTilesLayer
(PortalItem item) Creates an OGC3DTilesLayer object with a portal item.Ogc3DTilesLayer
(String uri) Creates anOGC3DTilesLayer
object. -
Method Summary
Modifier and TypeMethodDescriptionThe layer altitude offset.double
Gets the value of thealtitudeOffset
property.Gets the credential used to authenticate the user with the tiled layer.Gets the dictionary of custom parameters (such as an API key) to be sent with the requests issued by this layer.Gets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.getUri()
Gets the value of theuri
property.boolean
Gets the value of theoccludeSurface
property.True to hide the surface if it intersects the layer, false otherwise.void
setAltitudeOffset
(double altitudeOffset) Sets the value of thealtitudeOffset
property.void
setCredential
(Credential credential) Sets the credential used to authenticate the user with the tiled layer.void
setOccludeSurface
(boolean occludeSurface) Sets the value of theoccludeSurface
property.void
setRequestConfiguration
(RequestConfiguration requestConfiguration) Sets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.The URI of the layer.Methods inherited from class com.esri.arcgisruntime.layers.Layer
addDoneLoadingListener, addLoadStatusChangedListener, addVisibilityChangedListener, cancelLoad, canChangeVisibility, canShowInLegend, fetchLegendInfosAsync, getAttribution, getDescription, getFullExtent, getId, getItem, getLoadError, getLoadStatus, getMaxScale, getMinScale, getName, getOpacity, getSpatialReference, getSubLayerContents, isIdentifyEnabled, isVisible, isVisibleAtScale, loadAsync, loadErrorProperty, loadStatusProperty, removeDoneLoadingListener, removeLoadStatusChangedListener, removeVisibilityChangedListener, retryLoadAsync, setCanShowInLegend, setDescription, setId, setMaxScale, setMinScale, setName, setOpacity, setVisible
-
Property Details
-
uri
The URI of the layer.- Since:
- 200.4.0
- See Also:
-
altitudeOffset
The layer altitude offset.This raises or lowers all features in the layer by the given offset.
- Since:
- 200.4.0
- See Also:
-
occludeSurface
True to hide the surface if it intersects the layer, false otherwise.The default value is true.
- Since:
- 200.4.0
- See Also:
-
-
Constructor Details
-
Ogc3DTilesLayer
Creates an OGC3DTilesLayer object with a portal item.- Parameters:
item
- a 3D tilesPortalItem
- Throws:
NullPointerException
- if item is null- Since:
- 200.4.0
- See Also:
-
Ogc3DTilesLayer
Creates anOGC3DTilesLayer
object.- Parameters:
uri
- the URL of a public service, the path to a tileset (.json), or the path to a 3D tiles archive format (.3tz) file- Throws:
NullPointerException
- if uri is null- Since:
- 200.4.0
-
-
Method Details
-
uriProperty
The URI of the layer.- Returns:
- the
uri
property - Since:
- 200.4.0
- See Also:
-
getUri
Gets the value of theuri
property.- Specified by:
getUri
in interfaceRemoteResource
- Property description:
- The URI of the layer.
- Returns:
- the value of the
uri
property - Since:
- 200.4.0
- See Also:
-
altitudeOffsetProperty
The layer altitude offset.This raises or lowers all features in the layer by the given offset.
- Returns:
- the
altitudeOffset
property - Since:
- 200.4.0
- See Also:
-
getAltitudeOffset
public double getAltitudeOffset()Gets the value of thealtitudeOffset
property.- Property description:
- The layer altitude offset.
This raises or lowers all features in the layer by the given offset.
- Returns:
- the value of the
altitudeOffset
property - Since:
- 200.4.0
- See Also:
-
setAltitudeOffset
public void setAltitudeOffset(double altitudeOffset) Sets the value of thealtitudeOffset
property.- Property description:
- The layer altitude offset.
This raises or lowers all features in the layer by the given offset.
- Parameters:
altitudeOffset
- the value for thealtitudeOffset
property- Since:
- 200.4.0
- See Also:
-
getCustomParameters
Gets the dictionary of custom parameters (such as an API key) to be sent with the requests issued by this layer.- Returns:
- the dictionary of custom parameters (such as an API key) to be sent with the requests issued by this layer
- Since:
- 200.4.0
-
occludeSurfaceProperty
True to hide the surface if it intersects the layer, false otherwise.The default value is true.
- Returns:
- the
occludeSurface
property - Since:
- 200.4.0
- See Also:
-
isOccludeSurface
public boolean isOccludeSurface()Gets the value of theoccludeSurface
property.- Property description:
- True to hide the surface if it intersects the layer, false otherwise.
The default value is true.
- Returns:
- the value of the
occludeSurface
property - Since:
- 200.4.0
- See Also:
-
setOccludeSurface
public void setOccludeSurface(boolean occludeSurface) Sets the value of theoccludeSurface
property.- Property description:
- True to hide the surface if it intersects the layer, false otherwise.
The default value is true.
- Parameters:
occludeSurface
- the value for theoccludeSurface
property- Since:
- 200.4.0
- See Also:
-
setRequestConfiguration
Description copied from interface:RemoteResource
Sets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
. If not set, the globalRequestConfiguration
will be used (seeRequestConfiguration.getGlobalRequestConfiguration()
).- Specified by:
setRequestConfiguration
in interfaceRemoteResource
- Parameters:
requestConfiguration
- the RequestConfiguration used to modify network requests
-
getRequestConfiguration
Description copied from interface:RemoteResource
Gets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.- Specified by:
getRequestConfiguration
in interfaceRemoteResource
- Returns:
- the
RequestConfiguration
used to modify network requests
-
setCredential
Sets the credential used to authenticate the user with the tiled layer.- Specified by:
setCredential
in interfaceRemoteResource
- Parameters:
credential
- the credential used to authenticate the user with the tiled layer- Since:
- 200.4.0
-
getCredential
Gets the credential used to authenticate the user with the tiled layer.- Specified by:
getCredential
in interfaceRemoteResource
- Returns:
- the credential used to authenticate the user with the tiled layer
- Since:
- 200.4.0
-