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. For more information, see:
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). See Z-values and 3D for more information about this topic.
3D scenes require configuring a camera (see Class 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)
- 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 (see Class CameraController), which 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. Textures are draped over 3D objects.
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.
- When you view or analyze spatial data from different layers, you must always consider their spatial reference. For details, see Spatial references.
- Objects that can be symbolized on your map can come from persisted data (feature data, such as roads and parcels in a geodatabase) and transient data (graphics, such as data coming through a web socket). For details, see Features and graphics, and Symbols and renderers.
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.
To begin creating your own online maps, see the ArcGIS Online Help topic Get started with maps. ArcGIS Online also provides a Living Atlas of the World with 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.
To learn how to create online scenes, see the ArcGIS Online Help topic Get started with scenes.
Offline with mobile map and scene packages
Users can take maps and scenes offline using mobile map packages and mobile scene packages. These packages let you continue working with maps or scenes while your app is disconnected.
A mobile map package contains the definition of one or more maps along with any simple features, raster datasets, tables, relationship classes, tile packages, or vector tile packages the maps 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.
Using ArcGIS Pro lets you 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 in Package toolset in the ArcGIS Pro help . 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 copying them onto a device, or uploading them to your organization's portal for users to download.
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 (see Take web maps offline in Use and edit data in the ArcGIS Pro help). Once disconnected, the user can edit the feature data and then synchronize any changes when network connectivity is restored. Runtime offers two main workflows:
- Preplanned offline workflow - A field worker can download an offline map that has been generated by the map author, making use of a pre-planned offline workflow. See Preplanned offline workflow.
- On-demand offline workflow - 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 On-demand offline workflow for more information.