?By Kenneth Field, Esri Research Cartographer
With the release of Esri CityEngine, advanced tools now exist for creating rich 3D content for urban planning, architecture, entertainment, and GIS, but does 3D allow you to build useful static maps? Can we make 3D static maps with ArcGIS and what are the design considerations?
3D views of our world are nothing new in cartography, and you don’t have to have moving, interactive, or animated interfaces to create interesting 3D maps, as useful as they are in their own right.
For example, the Bretez-Turgot Plan de Paris created in 1739 (figure 1) and Constantine Anderson’s Midtown Manhattan from 1989 (figure 2), used highly detailed drawings to provide a uniquely realistic sense of place in the urban environment. Creating useful 3D maps requires some interesting cartographic design solutions, as these examples illustrate.
Figure 1. Extract from the Bretez-Turgot Plan de Paris, 1739
Figure 2. Extract from Constantine Anderson’s Midtown Manhattan, 1989
This three-part blog entry explores the cartographic design of these examples and shows you how to use ArcGIS to create your own detailed static 3D map. Part 1 provides some background to the design principles used to create these maps and how you can prepare your 2D data in ArcMap. Part 2 takes the 2D data into 3D using ArcScene and shows you how to convert your data to a form that allows you to render your 3D models using Google SketchUp. Finally, part 3 makes use of your 3D models in ArcScene to create the final map and shows you how to add symbology for other features in the landscape.
2. Defining an Appropriate Projection
The design philosophy for the Paris and Manhattan maps is unconventional in that it clarifies spatial relationships by adding detail, whereas in a lot of maps, clarification is achieved by simplifying and omitting extraneous detail. Anderson’s map shows individual windows, subway station entrances, bus shelters, telephone booths, building canopies, trees, sidewalks, etc. It provides rich detail that allows you to immerse yourself in the environment to explore shops you’ve visited (or might want to visit), trace walks taken (or could take), or recount a life lived (or that you aspire to live). The map can be useful for micro-level navigation, where you are interested in localized features to assist you in finding a particular entrance to a large building or a street lamp that might need repair.
What you will notice in both these examples though, is the way in which the viewing angle and projection have been modified to create a useful map. As humans, we view the world in a perspective view with foreground features given more prominence than background features, which is also how virtual globes represent the world. Yet in these maps, the background features are equal in prominence. How is this achieved? It all comes down to the projection.
What you see in both the Paris and Manhattan examples is the use of a specific form of axonometric (meaning “to measure along angles”) projection that allows you to view all parts of a static 3D image at the same scale whether they are in the foreground or the background. An axonometric projection is a type of parallel, or orthographic, projection where the object being viewed is rotated along one or more of its axes relative to the plane of projection. By contrast, a perspective projection is the way our eyes work and makes objects closer to the viewer larger, with everything else receding. There are several different forms of axonometric projection, but the one you see in the examples is called an isometric projection. It works by showing an image of an object as viewed from a skewed direction to reveal more than one side in the same picture (figure 3).
Figure 3. Perspective and Isometric Projections
The isometric projection shows an image such that the three axes of space appear equally foreshortened. The displayed angles among them, as well as the scale of foreshortening, are universally known. As you can see in figure 3, when viewed in perspective, angles between features vary at different points in the map. In the isometric projection, the grid is composed of parallel lines at all points, which means that angles between features remain consistent across the map, and the scale of distant features is the same as for near features. Representing geography like this will create a distorted appearance, as it is not how our eyes or photography work, but this distortion is extremely useful for overcoming the limitations posed by the perspective projection in maps.
For 3D mapping, an isometric projection provides an excellent way of rendering large-scale urban landscapes, as it gives a uniformly scaled canvas on which to create a rich map where levels of detail, visibility, and legibility are consistent throughout. This is what this blog entry will show you how to build.
3. Acquiring 2D Building Footprint Data
The starting point for your 3D map is to use 2D data that represents the footprint of the features you want in your map. This blog entry is going to create a map in the style of the Paris or Manhattan examples, so building footprints are needed as a basis for creating the urban landscape. Often, the data is obtained from large-scale vector GIS datasets, architectural drawings (which can be converted from CAD drawings to a geodatabase using the CAD To Geodatabase tool), or locally surveyed data (gathered using surveys in GIS format). A further way of deriving large-scale data is to digitize the building boundaries on screen from high-resolution aerial imagery directly into ArcMap.
Here, locally surveyed building footprints for a university campus, acquired using mobile GIS, will provide the necessary data. Figure 4 shows the building footprints (in beige) stored as a polygon feature class in a file geodatabase, along with the campus boundary denoted by the sidewalks (in blue).
Figure 4. 2D Building Footprint Data
4. Adding Height Information to the 2D Data
Next, you will need to determine the height of buildings and add that to the 2D data attributes. Building heights can be derived from lidar data if you have it (there are many lidar solutions in ArcGIS), but there are simple techniques that can be just as effective for deriving building heights for relatively small areas. For instance, you could estimate height by measuring and then counting a repetitive building material such as bricks (multiplying the value by the repetition to get the overall height of each building). You could also assign a nominal height per building level (e.g., 3 metres per level).
Whatever method you employ, once you have determined your height data, add a new height field to the 2D footprint data attribute table and add the data in an ArcMap edit session. Figure 5 shows height in metres for the buildings in the university campus dataset.
Figure 5. Building Height Attribution
5. Performing a Site Survey
At this stage, it is worth pointing out that it is not only buildings that will be useful to your final 3D model. Performing a site survey is not fundamental to creating your map but can provide you with very useful contextual information. The more familiar you are with the detail of the area you are mapping, the less likely you are to make errors. Performing a local site survey will probably reveal important features you may want to eventually add to or use to enhance your map. You should treat the site survey as a way of collating all the information you think you will require to prepare an accurate 3D map of the area. If you remember the Paris and Manhattan examples, the key to their success is in the rich detail, much of which you will not find in contemporary datasets.
Again, mobile GIS techniques can be used to digitize features directly into a geodatabase, or you might prefer annotating paper copies of the 2D footprint data. It is also useful to take photographs for reference (noting where the photos were taken). The 3D map will be more realistic if you include not only buildings but also street furniture (e.g., benches, trash cans, signposts), vegetation, fences and walls, and other environmental information.
As with any dataset, ensure that the attributes of the data are accurate. For instance, if you have a single point feature class for trees, you might want each point to have tree height and species attributes. Walls and fences might have a height attribute, and if you have street furniture, add an attribute to describe the type (bench, bike rack, etc.). The more detailed your attribution at this stage, the more flexibility you will have when you design the symbology at a later stage.
In part 1 of this blog entry, you’ve learned about some of the design requirements to consider when creating a large-scale static 3D map. You’ve also started the process of creating your 3D map by preparing your 2D data in ArcMap. In part 2 of the blog entry, you’ll learn how to transfer your 2D data into ArcScene and create 3D models of your building features.