Beginning a 3D Modeling Project in ArcGIS
In an earlier tutorial on Digital Elevation Models, we got some experience with GIS data sources that represent the elevation of the terrain. This tutorial will take this a step further. We will look at a few additional types of data that let us represent the form of places in three dimensions, or at least two-and-a-half dimensions!
We are going to start with a large city-wide repository of data representing terrain, buildings and the materiality of the ground. From this we will clip out a smaller dataset that we can play with in 3D without over-burdening a modest computer. Our clipped dataset is going to include: A Terrain Model, A Ground-Plan Image, Buildings, and a Clipping Frame. At the end of the tutorial we create a 3D model from these that we can play with and generate renderings from a tool called ArcScene. In future tutorials, we will see how these elements can also serve as a laboratory for exploring urban design scenarios. The 3D datasets that we extracr from GIS may also be exported to other tools, such as SketchUp, Google Earth, AutoCAD, Rinoceros, and others.
- Click Here to download the sample dataset. This is a big one... > 500mb. Unzip it in your c:/temp folder and open the file, compilation.mxd in ArcMap 10.0 or better.
- Download an already-clipped 3D dataset
Create a Folder to Hold your Model Resources
We are beginning a new project that is going to include a new GIS dataset. Later, we may use these data in tools like Google Earth and Sketchup and Adobe Illustrator. With this in mind, we should create a new folder system that will hold all of this work. I recommend that you have an outer folder named for your site, and a sub-folder within this to hold your GIS data. Later, you may add new subfolders to hold the resources that are used and created by other applications. For a deeper discussion of a recommended filesystem, see Organizing Geographic Data for Re-Use..
Create a Clipping and Registration Frame
It is convenient to plan our model with a rectangular boundary. The main reason for the rectangle premise is that the ground plan of the model is going to be exchanged as an image. And images are always rectangular. By the time we get around to exchanfing the model between a number of tools, you will appreciate the utility of having a retangular model with a vector clipping frame that can be used to register the various parts of the model as we move them into various tools that do not support georeferencing.
Create a Clipping Frame in ArcMap 10
- Use the Rectangle tool on ArcMap's Draw Toolbar to create a rectangle that will seve as your frame.
- From the pulldown menu on the Draw toolbar, choose Convert Graphics to Features. When saving, be sure to set Save Files of Type to Shapefile. Name your new shape file something like frame.shp
Save a Georeferenced Groundplan Image
As we have explained above, one element of our site model will be an image of the groundplan for our site and its context. This image will represent the roads, water, land and open spaces within the area covered by our clipping frame. The image will also include the outline of the frame. This wil make it very easy to register the image as with other layers as we export them to other tools.
Before we get into exporting the images we should think about resolution. We don't want the images to have more resolution than we need, because this will create unnecessary problems in every thing we do subseqently.
Export a Groundplan Image
- Zoom out to your context frame and measure its width in meters.
- For the context image, you don't necessarily need a very high-resolution image. A good resolution for your context image may be about a half-meter per pixel, which is good enough to see distinguish buildings, roads, cars, etc.
- Thinking about it another way, many programs like AutoCAD and Sketchup will choke if you try to drape a texture with more than, say 4000 x 3000 pixels... So if your context image is more than 4 kilometers wide, think about that.
- Arrange your map display to include the model clipping frame.
- Think about the sort of grapnhical hierarchy thou would want in a reference image that will be draped on an aerial photo in your model. You may want to use other overlays with transparency to colorize the photograph or to include details for some other GIS layer that you have.
- Choose File>Export Map to export a jpeg image. You can use the options for the export jpg dialog to set the quality to about 95% which will substantially shrink the file size.
- In the Export Map Dialog, you should check the option to Save World File, which will save some georeferencing information for the image.
- Use Bookmarks > Create to save a bookmark for the current map extent.
Add Your Image to the Map and Fix the Display Settings
You should now be able to add your groundplan image to ArcMap. When asked whether you want to build Pyramid Layers , say yes. For some reason, ArcMap 10 and 10.1 and 10.2!!! all have an unfortunate behavior of messing up the colors of jpeg and png images. Rather than usng a sensible default display properties for images of this kind, ArcMap insists on stretching the color ranges all out of whack. Go to the Layer Properties for your groundplan and in the Symbology properties, change Stretch to None, and uncheck the option for Gamma Stretch.
Image Export Voodoo: If you export an image from arcmap with the Georeference option checked. And then change your extent or change your export resolution, the second image will have its georeferencing messed up. Why is that?? Answer: arcmap does not overwrite the world file or the .rrd file of the previous image! Thererfore, it is better to choose a new name for your exported image iof you have to export more than once.
Export a Clip of your Elevation Raster and Groundplan Image
Our Elevation Raster from US Geological Survey uses Decimal Degrees of Latitude and Longituse as its geographic referencing system. This is problematic, since the Elevation units are in Meters. I've reprojected this raster to Massachusetts State Plane Mainland Meters. You will find this raster in the USGS group layer. Because we want to make a nice compact 3d model, we will export a clip of the elevation model using the same extent that we used to export the groundplan image. Note that if you want your terrain dataset clipped exactly to your model frame you can use the clip raster tool from the Data Management Tools > Raster > Raster Processing toolset.
Clipping a Raster
- Return to the bookmark for your model extent if necessarry
- Right-click your digital elevation model, ned_third_sec_masp_mtr.img and choose Data > Export Data
- Make sure to change the option in the upper left to export the extent of the data frame.
- For Location choose your data folder.
- Save your clipped elevation model as a tiff or an Imagine Image format.
Make a Clipped Shapefile of your Model's Buildings
Finally, we will select and save the buildings that occur within our model study area. Then we have everything we need to make a nice compact 3d model of our site! Like above, there are a few ways of doing this. If you want your buildings clipped neatly to the edge of your frame use the Clip tool; from the Analysis/Overlay toolset. Or if you just want a quick and dirty selection, you can right-click the buildings layer and choose Data/Export Data and set all of the options appropriately to export the buildings within the current display.
Export your Buildings to a New Shape File
- If necessary, return to the bookmark you saved for your model frame.
- Right-click your buildings layer and choose Data > Export Data
- Make sure that you change your export option to export the features within the view extent.
- Save your buildings as a shapefile in your data folder.
Portraying Your Model in ArcScene
ArcScene is very similar to ArcMap, except it has some additional features for visualizing and navigating data in 3D. The following notes will provide links to documentation that will provide necessary details about how to add your data, adjust the display properties and to navigate your model in 3D. The following links may help to jog your memory after an in-class demonstration.
- About Displaying Layers in 3D
- Defining Data as a Draped Layer in ArcScene
- Diaplaying Features in ArcScene
- Extruding Features by an Attribute Value
Set Up your ArcScene Model
- Start ArcScene. Ste your ArcScene Document Properties to Use relative Pathnames.
- Add your clipped DEM and your buildings and your groundplan.
- Fix it Symbology properties of your groundplan, setting Stretch to none as discussed above.
- Set the Base Heights property of your ground plan to Float on an Elevation Surface provided by your DEM.
- Set the Extrusion Property of your Buildings Layer to extrude each building to the height indicated by the field Abs_Ht_Mtr.
- Inspect the model to see if it makes sense.
Navigating in ArcScene and Saving a View
Now that you have a 3D model you wil want to try flying around and saving some images that you can use to describe aspects of your site. Se the refeences below for hints on navigating in your ArcScene model.
Create a Birds-Eye View Image
- Navigate your model until you find a view that shows what you want.
- Choose File > Export Scene > 2d to export an image of your model.
- Note that arcscene offers a special box for adjusting the resolution of your exported image in the View Size box at the bottom left corner of the export image dialog. View screenshot.
Create a Point Feature and Apply a 3D Symbol
Our rough 3d model can be useful for investigating how places interact visually. Wil lan object theat we create be visible from key places around a site? How will the removal or addition of buildings create or block views? To demonstrate this capabilitty we will create a point and use a combination of 3D symbols to transform the point inot a representation of a 30 foor tall sign to call attention to the transit stop next to the railroad tracks. Then we can navigate to different places in the model check whether the sign is visible. Later we will investigate how we can create and preserve view corridors after existing buildings are removed in anticipation of developing a new transit-oriented development.
Create a Point Feature in ArcMap and Explore 3D Symbols in ArcScene
- Go back to ArcMap and use the Draw toolbar to create a point.
- Follow the instructions in ArcMap Web Help for converting Graphics to Features. Note that if you het a cryptic error message when you try to do this it is probably because you need to change the File Type from geodatabas feature class to Shapefile.
- Use the Add Data button to add your new point shapefile to ArcScene.
- Adjust the Base Height property of your point so that it shows up on the surface.
- Go to the symbology properties tab for your point shapefile and investigate the multitude of 3D symbols that you can find in the Style References.
- Note that you can adjust the size and rotation of symbols. You can use the Advanced symbol swettings to read the height for each symbol from an attribute.
Our T sign is created by making a copy of our point layer. We represent the column for the sign as a cylinder that has its base on the elevation surface and is extruded by 10 meters. Then we make a copy of this layer and change the symbol to a sphere that has its base height set as a constant value of 10.3 meters because the elevation of the base of the sign is 3 meters (which you can discover by poling at the terrain layer with the Identify tool.
Changing View Settings and Capturing Renderings from ArcScene
Now that you know how to create new geometry and navigate to diffeent places you are ready to investigate visibility. It may be helpful to make the sky blue. Because your model is not perfect you may want to viosit the site and take a photograph and then change the view settings in ArcMap to recreate the optics of your photo as shown in the example below. The example also shows how a we can selectively remove buildings form our builsings layer.
Creating new Layers to Represent Removed Buildings
- Use the Select Features tool to select the buildings you want to remove. Shift-click to select more than obne building.
- Right-Click the Buikldings layer and choose Selection > Create Layer from Selected Features to create a new layer for your removed buildings. Name this layer Removed Buildings
- Turn off your Groundplan so that you can see the building shapes.
- Adjust the properties of your new building to set their base heights and extrusion.
- Back in your original buildings layer use Selection > Switch Selection select al lthe buildings that will not be removed.
Now you can remove buildings!!!
Exporting Your Scene to Google Earth KML
Google Earth is a browser and authoring tool for georeferenced web content. KML (Keyhole Markup Language) is the format that Google Earth used to encode and interchange data. KML and google earth provide many capablities for modeling sites as collections of georeferenced points, lines polygons, images and 3d models. These techniques are discussed on the page, Google Earth as a Browser and Authoring Tool for the GeoWeb.
It is relatively easy to export your 3D data fr0m ArcScene to KML for import into Google Earth. This is accomplished with the Layer to KML Tool which can be found in the Conversion Tools toolset. We use this tool to export the buildings and the frame from your scene. Your clipped groundplan image can be imported directly into Google Earth and registered precisely using your model frame. Even though the tool is named "Export to KML" the tool exports KMZ files, which are just KML that has been compressed with the zip format.
Exporting your 3D Scene to KMZ
- For some crazy reason, you must set your computer's Folder and Search options to uncheck the option to Hide Suffixes for Known File Types as shown in this screenshot.
- Open your geoprocessing toolbox by clicking the little red toolbox icon on ArcScene's toolbar.
- Launch the Export to KML tool from the Conversion Tools\To KML toolset.
- Export your Clipped Buildings layer. Make sure that the Clamped to Ground option is unchecked.
- Export your Frame polygon with the Clamped to Ground option checked.
- These fiels can be opened in Google Earth with File > Open.
- Your Groundplan image can be added to Google Earth as am Image Overlay note that your frame polygon will make it very easy to register this overlay.