8

I have a office floorplan that is a standard Visio drawing file (*.VSD) that I would like to convert into a GIS feature class (shapefile, GDB, PostGIS, or any other applicable format, it doesn't matter much).

A couple of options occurred to me, but I am wondering if anyone know of any other tools/techniques for converting a Visio file to a feature layer?

My ideas:

  • Simply load the VSD file into a Desktop GIS software and heads-up digitize the features (walls, doors, cubical's, network ports, etc)
  • Convert the Visio to Raster, then using ArcScan to help automate the generation of feature linework.

Another idea I found in the question: Transforming Visio polygon to shapefile? was to:

  • "export Visio Shapes (file, save as) to a .dxf (AutoCAD exchange file)", which seems like it might be the easiest method I have found so far.

My preference would be to use ArcGIS 10.0 tools to accomplish this task, but am open to other possibilities.

  • 3
    I would export a PNG, JPEG or TIFF out of Visio, georeference this raster in ArcGIS (expecting that you have a set of at least some 3-5 passing points at least) and digitize the things which I am interested in most. Messing around with rasterToVector Tools, if you don't know them costs you more time, than doing it this way. But perhaps someone does this task every now and then and its much easier than I would expect. – Jürgen Zornig Jul 9 '13 at 20:07
  • 1
    I recommend exporting Visio to .dxf. ArcGIS has a specific tool "CAD to Geodatabase" that imports dwg/dxf lines, points, polygons and text into a geodatabase. FYI, Text is not allowed in a Shapefile. Afterwards, you may need to create additional polygons using the tool "Feature to Polygon". – klewis Jul 9 '13 at 20:42
10

After doing a few tests, I came up with a solution that seems to work pretty well. I was fortunate that the Visio user put all of the objects in "Visio layers", so I could use a Definition Query to extract the pieces I wanted.

  1. Export Visio to DXF (as noted here: Transforming Visio polygon to shapefile?)
  2. I then created a model that:

    a) Starts with the Polygon layer of the DXF. In my case the "building walls" lines came in as double-line gaps.

    b) Used "Make Feature Layer" to assign a definition query to the polygon layer. The Definition Query extracted only the features in the "Building" Visio layer.

    c) Dissolved the DXF Polygon layer (to make nice clean "walls")

    d) Used "Feature to Polygon" to generate the "office" footprints.

    e) Saved the final results in an Esri Geodatabase (but it could be any format, really).

  3. I chose to convert the DXF Annotation to points in a separate process (which represented employees, network jacks, etc). That way when employees change office locations, all I have to do is drag their "point" to the new office location and update the point attributes (if needed). In my case, multiple employees share an office space, so attaching the data to the polygon was more trouble that it was worth. I also found that the "anchor points" of the annotation were off to the upper left of the text, so I would not be able to automatically assign the label properties to the Polygons, anyway, without some manual editing, or at minimum offseting all of the points a certain distance to get them back to where they belong.

Alternatively, and depending on your need and the quality of your data, if there is DXF annotation that has anchor points within the "office walls", you could even use the "Label Features" option in the "Feature to Polygon" tool to automatically apply the annotation label data to the individual polygons.

The end result came out looking something like this, where the offices (and walls, and hallways) are polygons, and the employees are points. All have attributes associated with them (I've just turned off the labels for privacy):

Converted Visio Drawing

5

One thing you may/want to do is to create the vectors with Z information, so that each polygon has it's height per floor, allowing for 3D floor stacking

  • 1
    It's a good idea if I ever wanted to go 3D, but not relevant in my case. Thanks for the suggestion. – RyanDalton Jul 10 '13 at 4:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.