3D is an integral part of ArcGIS Pro. Any 2D map can be converted to a 3D scene for data visualization, exploration, or analysis.
- Video length: 4:57
- This video was created with ArcGIS Pro 2.9.
In this tutorial, you'll convert a 2D map to a 3D scene and work with its 3D viewing properties.
- Estimated time: 30 minutes
- Software requirements: ArcGIS Pro Basic
Open the project
Your study area is the Kelburn suburb of Wellington, New Zealand. The starting map will be familiar to you if you completed the Import an ArcMap document tutorial.
- Start ArcGIS Pro and sign in if necessary.
- On the start page, next to the list of recent projects, click Open another project.
If you already have a project open, click the Project tab on the ribbon. In the list of side tabs, click Open. On the Open page, on the Recent Projects tab , click Open another project at the top of the page.
- On the Open Project dialog box, under Portal , click ArcGIS Online .
- At the top of the dialog box, in the Search box, type Convert a map to a scene and press the Enter key.
- In the list of search results, click Convert a map to a scene to select the project package.
If there is more than one project package with this name, select the package with the Authoritative badge . In the Owner column, the owner name is ArcGISProTutorials. If you don't get any results, see No search results are returned.
- Click OK.
The project opens with a map view of the Kelburn suburb. Layers representing walking paths, roads, and zoning are displayed on a dark gray basemap.
Create a scene from the map
In ArcGIS Pro, a 3D map is called a scene. A scene can be viewed in either global or local mode. In global mode, the earth is drawn as a globe and your viewpoint is usually thousands of kilometers from the data. This view is best for very large study areas. In local mode, the earth is drawn in perspective and your viewpoint is usually tens of kilometers from the data. This view is best for small study areas.
In this project, your area of interest is very small. You'll convert the map to a local scene.
- On the ribbon, click the View tab. In the Windows group, click Reset Panes and click Reset Panes for Mapping.
This ensures that the Contents and Catalog panes are open and that other panes are closed.
- On the View tab, in the View group, click Convert and clickTo Local Scene .
The map is converted to a scene named Kelburn_3D. The local scene icon appears on the scene's view tab.
You can view any scene as either a global scene or a local scene by clicking Global or Local in the View group on the View tab.
Local scenes support projected coordinate systems. Global scenes can use either of two geographic coordinate systems: the World Geodetic System 1984 (WGS84) or the China Geodetic Coordinate System 2000 (CGCS 2000).
In the Contents pane, the map layers have been copied to the scene. At the bottom of the pane is a ground elevation surface layer that is used to draw the 2D map layers in 3D space.
- In the Contents pane, under Elevation Surfaces, expand Ground.
The ground surface is defined by a default elevation source layer named WorldElevation3D/Terrain3D. This layer is an image service with worldwide coverage. It is created from multiple elevation sources with varying resolution, or detail. For the area around Wellington, New Zealand, the resolution is one meter, which means that there is one elevation value for each square meter of area.
To see the WorldElevation3D/Terrain3D resolution and data source for any part of the world, open the Elevation Coverage Map.
You can add multiple elevation source layers to the ground surface. For example, in an area where the WorldElevation3D/Terrain3D layer has low resolution, you might have a raster dataset, such as a DEM, with higher resolution. You can add the DEM as a layer to the ground surface. The ground surface will use the DEM elevation values in the area covered by the DEM and the WorldElevation3D/Terrain3D values elsewhere.
- On the ribbon, click the Map tab. In the Navigate group, make sure the Explore tool is selected.
- Use the mouse buttons and mouse wheel to zoom, pan, tilt, and rotate the scene. Alternatively, use the on-screen navigator in the lower left corner of the scene.
If you get disoriented, click Bookmarks on the Map tab and choose either Kelburn bookmark. (The Kelburn_3D bookmarks are copies of the Kelburn bookmarks.) For help with 3D navigation, see Navigation in 3D or the Navigate maps and scenes quick-start tutorial.
The dark gray basemap tends to obscure the 3D effect, so you'll change the basemap.
- On the Map tab, in the Layer group, click Basemap . In the list of basemaps, click Streets.
Next, you'll add shading to the surface.
- In the Contents pane, under Elevation Surfaces, click Ground.
The Elevation Surface Layer tab appears on the ribbon.
- Click the Elevation Surface Layer tab. In the Surface group, check the Shade Relative To Light Position check box.
This adds shading to the terrain based on the scene's current illumination settings. By default, the sun altitude is set to 45 degrees. You'll change the illumination settings, which are a property of the scene, not the elevation surface. You can change the illumination settings to try different effects.
- In the Contents pane, right-click the scene name, Kelburn_3D, and click Properties .
- On the Map Properties dialog box, click the Illumination tab.
- Under Illumination defined by, change the current Altitude value of 45 to 60.
- On the Map Properties dialog box, click the General tab.
- Click the Background Color drop-down arrow. On the color palette, click a color that you like to represent the sky.
- Click OK.
Because the sun is now at a higher altitude, there are fewer shadows.
- View the scene from more perspectives.
- On the Quick Access Toolbar, click Save to save the project.
Add layers to the scene
You'll add two layers to the scene. One layer represents buildings in the Kelburn suburb. This layer has an attribute you can use to extrude the buildings—that is, to draw them at their heights above the ground. The other layer represents the boundaries of Wellington suburbs.
- In the Catalog pane, on the Project tab, expand the Databases container . Expand convert_a_map_to_a_scene.gdb.
- Click the Buildings feature class to select it. Press the Ctrl key and click the Suburb_Boundaries feature class to select it also.
- Right-click either selected feature class and click Add To Current Map .
The layers are added to the scene with default symbology. The Suburb_Boundaries layer has a solid fill color. You'll give the symbol a hollow fill and choose a different outline color.
- In the Contents pane, click the symbol for the Suburb_Boundaries layer.
The Symbology pane appears and displays polygon symbol formatting options.
- At the top of the pane, click the Properties tab. Make sure the Symbol tab is selected under it.
- Under Appearance, click the Color drop-down arrow and click No Color.
- Click the Outline color drop-down arrow and click Cordovan Brown.
- Change the Outline width value to 1.5 pt and press the Enter key.
- At the bottom of the pane, click Apply.
You can now see the boundary of Kelburn and the other Wellington suburbs.
- In the Contents pane, click the symbol for the Buildings layer.
- At the top of the Symbology pane, click the Gallery tab.
- Next to the search box, click the All styles drop-down arrow and click Project styles.
The Project styles setting includes the styles added by default to your ArcGIS Pro project, as well as any styles you add yourself. The All styles setting includes all system styles installed with ArcGIS Pro. Choosing Project styles narrows the scope of symbol searches.
- In the search box, type building and press the Enter key.
- Under ArcGIS 2D, click the beige Building Footprint symbol.
The symbol is updated in the Contents pane and in the scene. However, the buildings still lie flat on the surface. You'll extrude them using height values in the layer attribute table.
- In the Contents pane, right-click the Buildings layer and click Attribute Table .
The Approximate Height field stores each building's height above ground, in meters.
The table also has a field named Base Elevation that stores the elevation of each feature. However, the layer is not currently using this information to position the features in 3D space. Like the other layers in the scene, the Buildings layer is using the ground surface layer.
- Close the table. In the Contents pane, make sure the Buildings layer is selected.
- On the ribbon, click the Feature Layer tab.
- In the Extrusion group, click Type and click Max Height .
- Next to Type, click the Field drop-down arrow and click Approximate Height.
Each building is now extruded by its approximate height value in the table. The extrusion units are set to meters, which is correct.
You applied the extrusion to the feature's maximum height (Max Height). To understand what that means, imagine a square building feature, defined by four vertices, lying on a slope. The feature's maximum height is the elevation of the vertex that is at the highest point on the slope. Its minimum height is the elevation of the vertex at the lowest point on the slope. All four vertices are extruded to the same height so that the building's roof is flat. Features extruded by their maximum height are therefore slightly taller than features extruded by their minimum height (unless the building lies on a flat slope). To learn more about extrusion, see Extrude features to 3D symbology.
In the Contents pane, the Buildings layer moves from the 2D Layers group to the 3D Layers group because extrusion is a 3D property of the layer.
- On the Quick Access Toolbar, click Save .
Change the elevation properties of a layer
A map layer is 2D if it does not store z-values as part of its geometry. When a 2D map layer is added to a scene, its features display at the elevations defined by the ground elevation surface. In this scene, all the map layers are 2D layers. (The Buildings layer currently appears in the 3D Layers category because you extruded it, not because it has 3D geometry.)
The Buildings layer is different from the other layers, however, in that it does store elevation values in an attribute field. When you opened the attribute table previously, you saw those values in the Base Elevation field. You'll set the Buildings layer to draw according to those values instead of the ground surface.
A map layer is 3D if it stores z-values as part of its geometry. You can recognize a 3D layer by the Shape field in its attribute table: the values have a Z at the end, such as PointZ, PolylineZ, or PolygonZ. By default, a 3D layer uses its z-values to draw in 3D space.
- In the Contents pane, right-click the Buildings layer and click Properties .
- On the Layer Properties dialog box, click the Elevation tab.
The features are set to display on the ground—in other words, to use the values of the scene's ground elevation surface. This is the default setting for 2D map layers.
- Click the Features are drop-down arrow and click At an absolute height.
Now you can use elevation values from a source other than the ground elevation surface.
- Under Additional feature elevation using, confirm that A field is selected. Click the <expression> drop-down arrow and click Base Elevation.
- Make sure the Vertical units setting is Meters. Click OK.
- Navigate the scene and view it from different perspectives. Zoom in for a closer look.
In several places, the buildings are partly sunken in the terrain. This is because the elevation values in the Buildings layer attribute table and the values at corresponding locations in the ground elevation surface are different. The values in the Buildings layer may (or may not) be more accurate, but you want the layer to draw in a way that looks realistic.
- In the Contents pane, double-click the Buildings layer to open its layer properties.
- On the Elevation tab, click the Features are drop-down arrow and click On the ground. Click OK.
- On the Quick Access Toolbar, click Save .