Creating 3D Topographic Models from ArcGIS Data – Lloyd Bosworth Lloyd Bosworth
I’ve been asked to produce a walk-through animation of a reconstructed archaeological site that shows the landscape setting of important buildings, and how these buildings constrained the movement of people. Reconstructing the buildings is pretty simple, with lots of reference material available. However, the 3D topographical model of the landscape is much trickier, made worse by not having any digital elevation data, only paper maps with contours. Drawing contours with height attributes is easy in ArcGIS, but when I was asked to create an animation, I had no idea how to get the GIS shapefile data into my 3d software for animating. I figured there must be a way, and sure enough, ArcGIS has all the tools for converting and exporting a shapefile that can then be opened in pretty much any 3d software package. For this exercise I will be using ArcGIS, Excel and MeshLab. The 3d mesh that we’ll create in MeshLab will be exported in a file format that can be imported straight into Autodesk’s 3dsMax, where it will be used to create the final animation. Drawing in ArcGIS is a pretty basic skill that I won’t go into here, but I will say that your contour lines should be drawn as polylines, not polygons. As the end result will be a 3d model from 2d map data, make sure you have added a height field (z, height, or whatever you want to call it) to your contour layer’s attribute table. Now, spend the next however many hours of your life robotically drawing contour lines. This is going to be unbelievably tedious, so put some music on and get comfortable. Remember, after you finish drawing each contour line, add its height value to the height field in the layer’s attribute table. Also, save your edits and map regularly. Now that you have traced all the contours on your map and added each line’s height value to the height field in the layer’s attribute table, you’re ready to crack open your ArcToolbox and dust off two rarely (for me!) used tools: 3D analyst Tools >, Raster Interpolation >, Topo to Raster and Spatial Analyst >, Extraction >, Sample. These two tools have very few parameters that need to change and are pretty much ‘wash and go’. Isn’t that a beautiful DEM? If all you’re after is a DEM for your map, have a play with the symbology settings until you’re happy, then you’re done. However, this is only a step along the way to creating a 3d model, so onto the next step. Now you should have a .dbf and an .xml file in your chosen save location. We’re only interested in the .dbf file, but don’t delete the .xml file, as ArcGIS will be sad without it. The export to text we did in the last step will usually create extra columns and give our height column an unusual name, so now we need to do a little bit of editing in Excel. I wouldn’t normally use MeshLab for this step, preferring other point cloud tools, but MeshLab is free and available to everyone. That’s all there is to it. You’ve used ArcGIS to convert a vector contour layer to a raster DEM layer using the vector layer’s height field and converted that raster DEM to a point cloud in ASCII text file format. You’ve imported that point cloud into MeshLab to create a mesh that can be used in most 3d software packages. In this example I exported to .ply format, but MeshLab will export to many other file types, so that whatever the final destination for the 3d model, there should be a compatible option for you. I hope you found this pretty easy to follow, and if you have any questions, drop them in the comments box below. It doesn’t work for me when importing XYZ data into meshlab. I can’t see flat surface just like you. I would like to know why it’s doesn’t for me? Explain me details please!! Hi! Without more detail it’s difficult to say why it’s not working for you at the import step. I’ve checked through the instructions and it should work, so maybe you’ve missed a step. If you’ve got as far as importing to MeshLab, you should have a txt file with three columns labeled x, y and z. Double-check that they are in that order and try importing again. Let me know how you get on! Hi, there are many 3D publishing services that allow you to upload your models so that you can easily share with others. Two leading publishers are Sketchfab and p3d.in, both of which require you register before using their services. I would be interested to see your results, so if you do upload your model to either of these services, post a link to it here in the comments. Source.