Exchanging Data between CAD and GIS Formats
Here at the GSD we have a wealth of detailed planimetric (building and pavement) and contour data available in GIS for All of New York City and the greater Boston Area. Students are always asking me. Hey, how can I extract parts of these databases and convert them to CAD? Well, here are the basic steps:
The Basic Steps:
- Download Sample Data
- Find your data and open it in ArcGIS
- Zoom in to your area of interest and export the data to a new shapefile
- Convert the Shapefile to DXF
- Thinking about Units
- GIS Data Resources
- Getting Started with ArcGIS at the GSD.
- Getting Started with ArcGIS
- Converting ArcGIS terrain Data to 3d Studio
Download the Sample Dataset
- contours.zip This zip file contains a sample GIS database of contours that was created as part of the Tutorial on Obtainining and Transforming Digital Elevation Models". Extract the contents of this file into your c:\temp folder.
Bugfix For Export to CAD in ArcMap version 10
ArcMap 10 has a problem with exporting elevated features with the export to CAD tool. This propblem causes the tool to create a file of 0 bytes if you include an elevation field as described below. To work around this, you can use the tool from ArcMap version 9 which is included in this zip file. To add this to your arcmap project, extract the toolbox from the zip file and follow the procedures for Adding a Toolbox.
Install Service Pack 3 There is a bug in ArcMap 10 that prevents the elevation values from being passed to CAD files as described below. To get around this, you must install the Service Pack 3 for Arcmap which you can find in GSD's software folder ot on the ESRI web site.
For Rhino Compatibility, Use DXF r14 For some reason Rhino does not the dwgs produced by arcmap. I have had good luck, however, with DXF r14.
Open a Dataset in ArcMap and Inspect its Attributes
You can find ArcGIS and the other tools you will need installed on any of the computers in room 516. Start ArcGIS and use the Add Data button from under the file menu. At first, the drive you mapped to geo won't show up. YOu will need to use the "Connect to Folder" button See Picture. to add the new drive to your file browser.
There are limits to how large a CAD file can exported from ArcMap. We have no way of predicting how large a file will export, and so some trial and error may be in order. If you have a modest sized area I suggest you just try to export everything. If you have a very large quantity of data -- all of the buildings in New York, for example, you may want to use the following method to export a subset of features to a new shape file before exporting.
Add and Populate Layer and Elevation Fields to the Shape File
The conversion of your extracted shape file to dxf makes use of a utility that is part of the ArcInfo option of arcgis. YOu can find this utility in the ArcToolbox (click the little red toolbox icon on the arcmap toolbar). The tools are in the Conversion Tools toolbox in the toolset Convert to CAD. Here you will find the Add CAD Fields amd the Export to CAD wizards. If you don;t see these, then you didn'nt install the Complete ArcInfo option of ArcMap. The computers in room 516 all have this. Simply converting your shape file to dxf is a simple process of selecting the input shape file and the destination for the output.
Now, lets say that you want your contours to have the correct elevations in the resulting DXF, or you would like to have them put onto separate layers within the DXF, so that you can cut them on the laser cutter.
First, punch the help button on the Export to CAD dialog from ArcToolbox. See the note at the bottom that says that the presence of certain items in the attribute table will affect the elevations and/or layers in the resulting CAD file. The word 'Items' in this context relates to columns in the attribute table for your GIS layer. Chances are, these items do not already exist, although on all of the contour layers, there will be a column that contains the elevation -- it won't be named 'ELEVATION' or 'LAYER'. Therefore, if you can create a column with the right name, and populate it with the right data, you can be master of your DXF conversion!
Add an Elevation Field to a Contour Shape File
- Right-Click the name of the layer you wish to export and choose Open Attribute Table Up pops the ArcMap Table panel.
- Examine the attributes for the features in your table. Note, in our sample dataset, there is an attribute field named Contour that holds the elevation value for each contour. We need to move these values to a new field named elevation.
- Click the
pulldown at the top left corner of the Table Panel and choose Add Field.
- Name the field elevation
- for Type, choose Double
- Click OK to add the field.
- Now fo to your new field and right-click its name at the top right of the table window, and choose Field Calculator
- In the scrolling list of field names at the top of the Calculate Field Dialog, dobule-click the reference to the Contour field. Notice that this referenc now appears in the Elevation= panel.
- Now click OK and after aq little while you should see that the new Elevation field is now populated.
Thinking about Units and Coordinate Systems
When gathering data together from many sources, it should be expected that different datasets will employ different coordinate referencing systems. In the GIS world, this is not a problem -- the software tranforms the data on the fly. CAD tools typically do not handle this well. The result will be that some of your geometry is located very far away and will appear to be rotated or skewed. Occaisionally you may run accross a GIS dataset that uses a Geographic Coordinate System (GCS), which means that the units are degrees of Longitude and Latitude. This is problematic, not only because the ground distance of a single degree is so big, that the precision of your CAD system may not be able to do anything useful with the data. Also, you should know that a degree of logitude is not equal in ground distance to a degree of latitude unless you are on the equator. This difference will be substantial in most parts of the world & so you will need to project your data while you are converting it.To choose a coordinate system for your output CAD file, you should figue out what coordinate system you would like to use> If you don;t know what this means, you could look at Fundamentals of Map Projections. Or if you want a quick answer, choose the case of the Universal Transverse Mercator Projection from this map of utm zones.
Exporting to CAD
- Click the little red toolbox icon on the arcMap toolbar to bring up the geoprocessing toolbox.
- Open the Conversion tools > To CAD toolset and double-click the Export to CAD tool.
- Click the Environments button at the bottom of the tool. And then click the sub-menu named Output Coordinates
- In the pull-down for Output Coordinate System choose As Specified Below. Then click the browse button just below the Output Coordinate Slot, and in the next box choose Select.
- If you know what projected coordinate system you want to use, you should now browse for it.
- If you have chosen a UTM projection Case from this map of utm zones, you would navigate the projection broser as follows: Projected Coordinate Systems > UTM > WGS84 and then choose your hemisphere and zone.
- Click OK until you are back to the Export to CAD tool.
- Now you can drag and drop as many GIS layers into the Input Features blank.
- Click OK to export your GIS to CAD!!!
Note that if the GIS datasets you are exporting are already projected, or if you have chosen a projected coordinate system, your XY units will be either Meters or Feet. You can check the Layer Properties (Source Tab> to find out. If your data are ubnprojected (also known as Geographic Coordinates (GCS)) then your XY units will be Decimal Degrees. On the equattor, the length of a drgree of arc on the surface of the earth is about 100km. Other places the length of the a an arc-degree of latitude varies substantially. Al lof these things make the use of unprojected data in CAD a very bad thing to do!
Shifting the Data
Some design tools, such as Rhino version 4 and 3D Studio use a 32 bit referencing scheme for coordinates, which has the effect of limiting the number of significant digits that coordinates can have. The effect of this is that certain operations will be wonly if your data are very far from the origin of the coordinate system. If this is the case for you, then you will need to shift your data closer to the origin of your CAD model. This can create headaches if you plan to move data from GIS in different batches, or if you want to set up a workflow where you intend to move data between CAD and back to GIS. If you wish to do either of these things, you should check out the tutorial on Creating a Registration Frame. This frame can be exported whenever you are taking data from ArcMap. When shifting your data, you would grab the corner of the frame and move it to 0,0,0. This way you know exactly how much to shift the model. When you take your data bask to GIS, see Georeferencing Images and CAD Data. Exporting the frame with your your CAD data gives you a very direct and positive way to register your CAD data bask to GIS.