Developers

Introducing 3D Tiles Layer in ArcGIS Maps SDK for Native Apps 200.4

A screenshot of a 3D Tiles layer showing a church in Stuttgart
Scenes with 3D data can provide interesting and visually compelling context for your apps, as seen with this view from this church of the surrounding city of Stuttgart, Germany.

With the 200.4 release of the ArcGIS Maps SDK for Native Apps comes the ability to display 3D Tiles in native applications. This feature allows developers to leverage the power of the Open Geospatial Consortium (OGC) 3D Tiles format, providing a seamless integration of yet another type of 3D geospatial data into their applications. This newest layer type furthers Esri’s
commitment
to empowering developers by enabling them to use a wide variety of data types.

The addition of the 3D Tiles layer in the ArcGIS Maps SDK for Native apps represents a significant advancement in the handling and visualizing of 3D geospatial data within native applications. As the amount of available 3D geospatial data expands, the introduction of the Ogc3DTilesLayer type allows developers a means to work with yet another type of 3D data in their Native Apps. Like other 3D layer types, 3D tiles layers allow developers to create innovative solutions across various domains. For example, urban planning applications could visualize real-time traffic conditions within a photorealistic 3D representation of a city, an emergency response app could leverage detailed 3D scenes for precise disaster response coordination, or a skiing app can show an accurate 3D representation of a resort’s terrain. The detailed and interactive 3D visualizations enabled by the 3D Tiles layer, alongside the existing layer types like the ArcGISSceneLayer, can therefore provide insights and facilitate better decision making.

What are 3D Tiles?

The 3D Tiles data format is an open standard geospatial data format that enables the efficient streaming and rendering of large-scale 3D datasets from both online services and local data sources. It provides a standardized way to organize, store, and transmit 3D geospatial content, making it easier for developers to work with complex 3D data in their applications.

This video of a camera sweeping over Stuttgart, Germany shows just how well large amounts of 3D tiles data can be rendered, even when streaming from an online data source.

Why use 3D Tiles layer in your applications?

By incorporating 3D Tiles functionality into the ArcGIS Maps SDK for Native Apps, developers can take advantage of even more types of 3D geospatial data than before. Here are some key benefits of using the new 3D Tiles layer API:

  1. Interoperability: The OGC 3D Tiles format is an open standard, ensuring compatibility with a wide range of tools and platforms. This allows developers to seamlessly integrate 3D geospatial data from various sources into their applications.
  2. Efficiency: Like ArcGISSceneLayer, 3D Tiles layer supports efficient streaming and rendering of large-scale 3D datasets, enabling smooth visualization and exploration of complex 3D scenes. This provides a high-quality user experience, even when working with large amounts of data.
  3. Flexibility: The 3D Tiles layer works in scenes with other layer types like ArcGISSceneLayer or PointCloudLayer as well as with graphics and analysis overlays allowing you to incorporate 3D Tiles data into any scene you may be working with.

Adding 3D Tiles to your application

Adding a 3D Tiles layer to your Native Maps SDK application is straightforward. Developers can construct an Ogc3dTilesLayer class object from a URL pointing to a service hosting the layer data. Alternatively, they can load the layer data from local storage and view the data offline.

In the code snippet below, using the Qt Maps SDK as an example, a service URL pointing to tile data set is provided to the Ogc3dTilesLayer constructor. The Ogc3dTilesLayer class is then added to the scene’s list of operational layers to be displayed on the scene.

 
// How to add a 3D Tiles Layer to a scene with the Qt Maps SDK

// Define your data source, this can be sources like a URL to a web service, a path to a local file, or an ArcGIS Online Portal Item
const QUrl serviceUrl = QUrl("https://tiles.arcgis.com/tiles/N82JbI5EYtAkuUKU/arcgis/rest/services/Stuttgart/3DTilesServer/tileset.json");

// Construct the layer with the data source
Ogc3dTilesLayer* ogc3dTilesLayer = new Ogc3dTilesLayer(serviceUrl, this);

// Append the layer to your scene's list of operational layers
m_scene->operationalLayers()->append(ogc3dTilesLayer);
 

For more information on how to add a 3D Tiles Layer to your 3D application, be sure to check out our “Add 3D Tiles Layer” sample code . As of the release of the ArcGIS Maps SDK for Native Apps 200.4, we have samples available for the Qt, Swift, and Java Maps SDKs with plans to implement the sample in .NET and Kotlin soon. All Maps SDK for Native Apps platforms support the 3D Tiles layer API as of the 200.4 release.

A 3D tiles layer showing a traffic circle, a large building, small residential houses, and trees.
3D data can provide much better visual context than 2D for applications like urban planning.

Conclusion

The new 3D Tiles layer functionality in the ArcGIS Maps SDK for Native Apps allows developers to incorporate more types of 3D geospatial data into their applications than before. With its interoperability, efficient streaming, flexibility, and enhanced visualization capabilities, the 3D Tiles layer empowers developers to create immersive and engaging 3D experiences for their users.

We are excited to see what you will build with this new functionality! Be sure to leave us feedback on this new functionality via the Esri Community forums If you haven’t already, sign up for a free ArcGIS Developer Account to get started building native applications and discover the full potential of 3D geospatial data in your apps today.

About the author

Tanner Yould

Tanner is a Product Engineer at Esri on the 3D Mapping team for the ArcGIS Maps SDK for Native Apps. He previously worked on the Maps SDK for Qt team. Before Esri, he worked for various environmental nonprofits in multiple capacities, including working as a GIS specialist.

Next Article

Analyze stormwater networks using the ArcGIS Utility Network

Read this article