Symbolize 3D features

The City of San Francisco has come up with two key points from long-term urban planning efforts: jobs are growing faster than housing, and not all neighborhoods are impacted by the housing shortage in the same way. You're a graphics specialist working for a newspaper and you must convey these takeaways with a single image. The graphic needs to be a dramatic, yet simple, representation of the data that can be used as a static media element in an article for public consumption.

Create a scene

You'll create a single image showing an overview of job and housing growth potential in San Francisco for use in print media. Because the consumers will not be able to pan or zoom around the image, or click individual features to learn more, the 3D scene you author will need to be clear and uncluttered, while still providing a high-level understanding of where jobs and housing are expected to grow.

  1. Start ArcGIS Pro. If prompted, sign in using your licensed ArcGIS account.

    If you don't have ArcGIS Pro or an ArcGIS account (for ArcGIS Online or ArcGIS Enterprise), you can sign up for an ArcGIS free trial.

  2. Under New, choose Local Scene.

    Local Scene under Blank Templates

  3. In the Create a New Project window, for Name, type SF Job and Housing Growth. Save the project to a location of your choice and make sure the Create a new folder for this project box is checked.
  4. Click OK.

    A new, blank scene opens. Because your area of interest for your 3D view is relatively small in extent, a local scene is the best choice. You do not need to see the rest of the planet or allow for the curvature of the earth like a global scene does.

  5. In the Contents pane, under Elevation Surfaces, right-click WorldElevation3D/Terrain3D and choose Remove.

    Remove option

    Removing the default elevation source for the scene makes the ground flat. A flat surface for the scene is important because you need the vertical bars showing potential jobs and housing to start from the same height. Additionally, the terrain of San Francisco is not an important component of the information you need to communicate in this scene.

  6. On the ribbon, click the Map tab. In the Layer group, click Basemap and choose Dark Gray Canvas.

    Dark Gray Canvas basemap

    A simple, dark basemap will let your other content stand out more. You do not need to communicate the names of roads, neighborhoods, or water bodies.

  7. In the Contents pane, uncheck the Dark Gray Reference layer to turn it off.

Add neighborhood boundaries

Next, you'll start adding data. One of the key takeaways from the Planning Commission report was that neighborhoods will face varying impacts. To illustrate this point, you'll add neighborhood delineations to show which districts will be more affected. After accessing the data, you'll be able to display it in the way you want.

  1. Go to the SanFrancisco2050 item on ArcGIS Online and click Download.
  2. Unzip the geodatabase and save it in the project folder you created with the project.

    To browse to the SF Job and Housing Growth project folder, open your Documents folder, ArcGIS folder, then Projects folder.

  3. In the Catalog pane, expand Folders and expand the project folder.

    If the Catalog pane didn't open when you created the project, you can add it from the View tab on the ribbon. In the Windows group, click Catalog Pane.

  4. Expand the SanFrancisco2050 geodatabase that you unzipped and drag the NeighborhoodBoundaries layer onto the map.

    You may need to refresh the folder to see the recently unzipped files. To refresh, right-click the SF Job and Housing Growth folder and click Refresh.

    NeighborhoodBoundaries layer in the Catalog pane

    The layer is added to the map.

    NeighborhoodBoundaries layer added to the project map.

    For 3D layers, the layer symbology is typically defined using the points unit. To show it using a real-world unit, you'll change the Display setting before changing the symbology.

  5. In the Contents pane, right-click the NeighborhoodBoundaries layer and choose Properties.
  6. In the Layer Properties window, click the Display tab and check the Display 3D symbols in real-world units box.

    Display 3D symbols in real-world units option

    You can now define the symbology for this layer in measurable distance units, such as meters or feet, rather than the traditional 2D map symbol unit of points. For polygon features, the real-world units option allows you to set an outline width that covers the same amount of real-world space, regardless of how far it is from the viewpoint.

  7. Click OK.
  8. In the Contents pane, click the symbol for the NeighborhoodBoundaries layer.

    Symbol for the NeighborhoodBoundaries layer

    The Symbology pane opens to the Gallery tab. The gallery contains popular or common symbols. You'll use gallery symbols later.

  9. At the top of the Symbology pane, click the Properties tab. Under Appearance, for Color, expand the color selector window and choose No color.

    No color option

  10. For Outline color, choose Sodalite Blue. For Outline width, type 25 m.

    To see the name of a color, point to the color in the color selector pane.

    Sodalite Blue color in the color selector pane

  11. Click Apply.

    The layer symbology updates on the map.

    Neighborhoods symbolized

    The neighborhoods layer will provide context for how much area each of the vertical symbols for jobs and housing represents. The thickness of the perimeter line is consistent, in real-world space, across the view.

Symbolize job data

To symbolize the projected job growth, you'll use a preset. Presets have a number of symbology properties already set up so that they can be quickly applied to your data, but they also have some cartographic limitations. In this case, they're a quick way to show 3D data. Once you add the data, you'll need to configure a few properties to show the correct attributes.

  1. On the ribbon, on the Map tab, in the Layer group, click Add Preset and choose Thematic Shapes.

    Thematic Shapes preset

  2. In the Add Data window, browse to the project folder. Browse to the SanFrancisco2050 geodatabase and double-click the StatisticsByNeighborhood item.

    The layer is added to the map. Depending on your zoom extent, the default symbology may be too small to see.

  3. In the Symbology pane, choose the Standing Cylinder symbol.

    Standing Cylinder shape

  4. Under Details, for Height, expand the menu and choose JOB_COMM.
  5. For Scale, type 0.05.

    This decimal defines the ratio. Each symbol's height will be multiplied by 0.05.


    If your OS has number format settings other than EN-US, type 0,05 using a decimal separator that respects your OS number formatting, otherwise it will be rounded as 1 and your cylinders will appear extremely high.

  6. Uncheck Use aspect ratio. For Width, type 250 and press Enter.

    StatisticsByNeighborhood symbol parameters

    The projected job growth for San Francisco is symbolized.


    To tilt and rotate the scene, press the V and B keys or use the navigator in the lower left corner.

    Jobs layer symbology

    Next, you'll symbolize projected housing growth for comparison. Because the data is also contained in the StatisticsByNeighborhood layer, you'll rename the jobs layer before adding it.

  7. In the Contents pane, click the StatisticsByNeighborhood layer two times to edit it and rename the layer Job Growth.

Symbolize housing data

Next, you'll add data showing projected housing growth. Because the data is contained in the same layer, the point symbols are in exactly the same place. To fix this visual problem, you'll use an offset, moving the housing data to the side of the jobs data. Because you need to set this additional property, you'll add the data and symbolize it using a slightly different method.

  1. In the Catalog pane, browse to the SanFrancisco2050 geodatabase and add StatisticsByNeighborhood to the map.

    You'll symbolize the layer to show housing growth.

  2. In the Contents pane, drag the StatisticsByNeighborhood layer from 2D Layers to 3D Layers (under the Job Growth layer) and rename it Housing Growth.

    Housing Growth layer in 3D Layers group

  3. Right-click the Housing Growth layer and choose Properties. On the Display tab, check Display 3D symbols in real-world units and click OK.
  4. In the Contents pane, click the symbol for the Housing Growth layer.
  5. In the Symbology pane, click the Gallery tab and search for cube.
  6. Click Standing Cube.

    If you searched for cube in a non-English version of ArcGIS Pro, you may encounter different results than those in the example image.

    Standing Cube symbol

  7. Click the Properties tab and click the Layers button.

    Layers tab in the Properties tab

  8. If necessary, expand Appearance and change Height (Z) to 200 m.

    Height parameter

    The Width and Depth fields change to match.

  9. Click Apply.

    All the cube symbols now stand 200 meters high. You'll use the same aspect ratio as before, 0.05 times their actual value.

  10. In the Symbology pane, click the back button. Click the Vary symbology by attribute tab.

    Vary symbology by attribute button

  11. Expand Size. Uncheck Maintain aspect ratio.

    If you maintain the aspect ratio, the width and depth of the cube will change when you calculate the height.

  12. Under Height, for Field, click the Set an expression button.

    Set an expression button

    The Expression Builder window appears. Arcade is set by default.

  13. In the Expression Builder window, under Fields, double-click NET_UNITS.

    The housing units attribute is added to the Expression box.

  14. After the NET_UNITS attribute, type * 0.05 to create the expression $feature.NET_UNITS * 0.05.

    Aspect ratio expression

  15. Click OK.

    The housing data is correctly symbolized now, but the symbols for the two layers are centered in the same location.

    Overlapping symbols

    To fix the overlap, you'll offset (move) the extruded square symbol to the left.

  16. At the top of the Symbology pane, click the Primary symbology button. Click the cube symbol.

    Cube symbol in the Symbology pane

    The Layers tab for the symbol appears.

  17. Expand Position and change X to 50%.

    X offset

  18. Click Apply.

    The relative values for housing and jobs are now displayed side by side.

    Jobs and housing symbols

    However, it's not clear what yellow means and what red means. You need to include an in-scene legend. You could add a color-based legend image as a postproduction step, but in this case, it's better to use in-scene objects so they get the same lighting, shading, and coloring as the features they're representing.

  19. On the Quick Access Toolbar, click Save to save the project.

    Save on the Quick Access Toolbar

Add legend symbols

You, the map's creator, may know what the symbols on your map mean, but without a legend, your audience won't. Instead of a traditional legend with a list of symbols and their meaning, you'll add two additional points that show the total projected growth of jobs and housing for the city as a whole. These numbers were calculated using Summary Statistics, and the points have already been created to save time.

  1. In the Catalog pane, browse to the project folder and drag SummaryPoints.lpkx onto the map.

    SummaryPoints.lpkx in the Catalog pane

    A group layer with points for housing and job data is added to the San Francisco Bay. These points represent the total number of jobs and housing units and will serve as the legend. They are symbolized the same way the neighborhood data is but have an aspect ratio of 0.02x for a more manageable height. Their width is 1,000 meters to better stand out from the neighborhood data.

    Legend layer on map

  2. If necessary, in the Contents pane, expand the Summary Points group layer. Right-click Total Job Growth and choose Attribute Table.

    The table appears.

    Total counts for jobs and housing

    The attribute table contains two values, the summed totals of job and housing growth for the entire city. You'll use these values in the legend.

  3. Close the attribute table.
  4. Save the project.

The 3D mapping portion is complete.

Export a layout

Previously, you made a 3D map of the projected growth of jobs and housing in the city of San Francisco. To share this data with readers in the form of a 2D print publication, you'll export the scene to a layout and add explanatory text. When you're happy with the graphic, you'll export it to print, embed, or share.

Add a layout

A layout is a way to design a static map for printing. Once added to the layout, any map you choose to show is largely static. This allows you to add other elements to it, like titles, text, legends, scale bars, north arrows, and so on. For this graphic, you'll add the map frame to a layout and change the view before making it static.

  1. If necessary, open your SF Job and Housing Growth project.
  2. On the ribbon, click the Insert tab. In the Project group, click New Layout.
  3. Under ANSI - Landscape, choose Letter.

    Letter size layout

    A layout pane is added to the project. You can switch between panes by clicking the Scene and Layout tabs under the ribbon. The layout is blank until you add a map frame.

  4. On the ribbon, in the Map Frames group, click Map Frame and choose the scene with an image of downtown San Francisco.

    This is the scene you've been working on; the other is a default local scene view.

  5. Draw a rectangle that covers the entire layout.

    The scene is added to the layout. This sets the basis for your final image, but it is missing key metadata regarding what the scene represents.

    The extruded symbols are pointing away from each other across the view. This is a visual effect caused by viewing the world in perspective. In a perspective viewing mode, the light rays converge in the distance and things that are farther away appear smaller. This is how people naturally view the world, so it seems realistic.

  6. Right-click the map frame and choose Activate.

    Activate option

    With the map frame activated, you can pan and zoom as well as change the view.

  7. On the ribbon, click the View tab. In the Scene group, click Drawing Mode and choose Parallel Drawing Mode.

    Parallel Drawing Mode in the Drawing Mode options

    When the size of a feature matters—like in your case, where taller columns represent larger values—a perspective view can cause misrepresentation of the data. Moving the camera to a different viewpoint makes closer objects appear larger, and therefore more important, than others. To avoid this, you should use a parallel, or isometric, view mode.

    Parallel view

  8. Navigate the map so it looks how you want it to look. At the top of the Layout pane, click Layout to deactivate the map.

    Layout button

Add label text

Now that you've decided how you want your map to appear, you'll add text on top of it. The graphic needs several text elements, such as a descriptive title and legend labels. Note that if you choose to move the map, the text elements will not move with it.

  1. If necessary, on the ribbon, click the Insert tab. In the Graphics and Text group, click the Rectangle text button.

    Rectangle text tool in the Graphics and Text group

  2. Draw a text rectangle at the top of the map.

    Rectangle drawn in the layout for the map title

    A text box is added to the map. It may be difficult to see because the default text is black and the basemap is dark.

  3. In the Contents pane, double-click the Text element.

    The Format Text pane appears.

  4. In the text box, type Predicted Growth for San Francisco (2050).
  5. At the top of the pane, click the Text Symbol tab.

    Text Symbol tab in the Text pane

  6. Expand Appearance and set Color to Arctic White.

    Arctic White text color

  7. For Size, type 21 pt and click Apply.

    Now you can see the title text against the basemap.

    Title formatted and visible.

    The title explains where the data is located and what it is displayed and visualized on the map. You'll also put labels on the legend bars you added earlier.

  8. Add another text rectangle to the right of the Total Job Growth bar and type 389,000 Jobs.
  9. On the Text Symbol tab, update the following:
    • Change Color to Solar Yellow
    • Change Size to 14 pt.
    • Change Font style to Bold.

    Parameters for the Text Symbol

  10. Click Apply.
  11. Add a third text rectangle under the jobs label and type 212,000 Houses.
  12. Adjust the text boxes so there is only a single line of text per box.
  13. Change Color to Mars Red and change Size to 14 pt. For Font style, choose Bold and click Apply.

    Final result

    The additional text explains what data the yellow and red symbols represent and provides exact numbers for the totals for San Francisco as a whole. Specific numbers for each neighborhood are omitted from the image, as they would needlessly clutter the larger story.


    In print media form, the exact numbers for job and housing growth by neighborhood could be included in tabular form elsewhere in the article.

  14. Save the project.

Export the layout

Finally, you'll export the layout to share, print, embed, and so on. When exporting a layout, you can choose file type, image quality, and other settings.

  1. On the ribbon, click the Share tab. In the Output group, click Export Layout.

    Layout button

  2. In the Export Layout window, for Name, type San Francisco Job and Housing Growth and choose the folder you want to save it to.
  3. Click Export.
  4. When the export is complete, click View exported file to view your PDF.

    Link to view your exported PDF file

  5. Save the project.

You now have a saved copy of the project to print or embed in the layout of another printed report. The graphic you created is high quality and suitable for the citizen audience you want to reach.

You can find more lessons in the Learn ArcGIS Lesson Gallery.