ArcGIS Runtime SDK for Qt

Maps and scenes

Maps (2D) and Scenes (3D) are interactive displays of geographic information that you can use to tell stories and answer questions. The resources and configuration that define a map or scene are gathered together into a single document (container) which can be opened, shared, and edited across the ArcGIS platform. This topic describes how maps and scenes fit into the ArcGIS platform and your own apps.

Maps and scenes

Maps and scenes can consist of the following components:

  • Basemap & elevation sources- Both maps and scenes use basemaps to provide context (the background) for the geographic content in your app. Elevation sources allow scenes to render realistic terrain.
  • Operational layers - These visualize the important content in your map or scene - that which informs the user, tells a story, or otherwise provides value. To learn more about the role of layers and tables, see Layers and tables.
  • Data tables - Data that is visualized in a layer can be related to non-geographic data. For example, a layer showing employee locations might be related to a non-spatial table that contains employees and their roles. This table can be stored alongside the explicitly geographic content of the map. To learn more about the role of layers and tables, see Layers and tables.
  • Locators & network datasets - Maps can contain information about transportation networks. This allows you to build geocoding, routing, service area analysis, and other network analysis capabilities into your app. For example, the StreetMap Premium offline mapping and routing product uses a mobile map package (a map packaged for offline use) to deliver both offline maps and offline routing.
  • Bookmarks - Viewpoints that are stored alongside the map. For example, you might have a bookmark for each mountain in a map detailing a climber's adventures.
  • Transient graphics - Maps and scenes can display temporary graphics from a GPS, web socket or user input using a graphics overlay. To discover more, see Features and graphics.

If you want to display a map or scene in your app you can use a MapView to display maps and a SceneView to display scenes. In this context, the map or scene represents the model, while the MapView or SceneView is the view tier in the model-view-controller pattern. These views handle rendering the map or scene and providing services to navigate the scene, show overlay graphics, enable identify and selection, and perform visual analysis.

Map and map view objects allow you to build new maps, display maps, save maps and share maps.

Scene and scene view objects allow you to build new scenes and display scenes.

Also see the API Reference for more information.

Maps and scenes compared

A 2D map resembles a paper map where a representation of the earth is projected onto a 2D surface. In 3D, the map is projected onto a globe that more accurately models the spherical shape of the earth.

In 2D, any point on the globe is represented by an x and y coordinate (longitude and latitude). In 3D, points on the globe are represented with three coordinates: x (longitude), y (latitude), and z (elevation).

3D scenes require configuring a Camera to set a viewpoint. A camera has a location (x longitude, y latitude), altitude (height, in meters, from sea level), heading (angle about the z axis the camera is rotated, in degrees), pitch (angle the camera is rotated relative to the y axis, in degrees), and roll (angle the camera is rotated about the axis that's perpendicular to the camera's direction, in degrees.). The camera also includes a CameraController that provides specialized camera navigation.

3D scenes may contain 3D objects, such as buildings, trees, and other objects. 3D objects can be represented with 3D symbols or SceneLayers.

3D scenes may require different UI controls to navigate the scene. Navigating with a camera offers different parameters than does moving a viewpoint, such as altering the camera altitude, heading, and pitch.

Due to the nature of 3D rendering, there are additional properties for scenes that do not apply to 2D maps, such as surface placement with LayerSceneProperties and extrusion with RendererSceneProperties.


Maps and scenes can both operate in situations where your device is fully online, occasionally offline or fully offline.

Online with web maps and web scenes

Online maps and scenes, or web maps and web scenes, allow geographic information to be created, edited and shared across the ArcGIS platform. It is easy to share online maps and scenes because you simply provide a hyperlink to the web map or web scene and launch it from within your ArcGIS Runtime app.

You can follow the steps in ArcGIS Online Help's get started with maps topic to create your own online maps. Apart from this, ArcGIS Online also provides a Living Atlas of the World with beautiful and authoritative maps on many topics. Here, you can explore maps and data from Esri and thousands of other organizations and combine them with your own data to create new maps.

If you wish to create an online scene follow the steps in ArcGIS Online Help's get started with scenes topic.

Offline with mobile map and scene packages

Users can take maps and scenes offline using mobile map packages and mobile scene packages. These packages allow you to continue working with maps or scenes whilst your app is disconnected.

Mobile map packages contain the definition of one or more maps along with any simple features, raster datasets, tables, relationship classes, tile or vector tile packages they require. Mobile scene packages also contain the definition of one or more scenes along with the data they require. A mobile scene package can also contain elevation data if the scene needs to drape its data across a 3D terrain. You can create read-only mobile map and scene packages using ArcGIS Pro and you can create editable mobile map packages using the services pattern available with the ArcGIS Runtime.

ArcGIS Pro

The ArcGIS Pro approach allows you to create read-only mobile maps or scenes that can be distributed to a large number of users. Typically these users and their devices operate in a fully disconnected environment.

ArcGIS Pro provides two geoprocessing tools; Create Mobile Map Package and Create Mobile Scene Package. For more details, see create a mobile map package and create a mobile scene package. The maps or scenes and their data are stored in a single archive file called a mobile map package (*.mmpk) or mobile scene package (*.mspk) file. The advantage of this approach is that you can create one mobile package file and distribute it to many devices. You can distribute these files by side loading them onto a device, or uploading them to your organization's portal for users to download.

Services Pattern

This Services pattern is appropriate for occasionally connected devices where the app allows the user to edit map data and share their changes with other users when connectivity is restored.

The services patterns allows you to build ArcGIS Runtime apps to download a mobile map package, in a directory format, to a device. This is possible as long as the map, and its layers, have been authored for offline use. Once disconnected the user can edit the feature data and then synchronise any changes when network connectivity is restored. Runtime offers two main workflows :

  • Preplanned - A field worker can download an offline map that has been generated by the map author. See the preplanned offline workflow for more information.
  • On-demand - The field worker can select an area of interest on a map, generate an offline map for that area and download it to their device. See the on-demand offline workflow for more information.
In both cases, the author of the web map can specify whether the mobile map uses the basemap defined by the web map or a tile package that is already on the device. Using a local tile package already on the device will reduce the size of the mobile map package, and can decrease its download time. These tile packages can be located using an actual file path on the device or a path that is relative to the mobile map package.