I’ve been looking for a better way to design, diagram, and document my geodatabase designs.
Visio is my tool of choice for database design. It is easy to use and allows me to visualize and demonstrate the capabilities and limitations of my data model before actually creating the geodatabase. Using Visio, I can generate a UML schema and export it to XMI. From there, it is possible to generate all of the objects that exist in the data model into a geodatabase. There are other tools available, in addition to Visio. I haven’t yet experimented with them, though.
For diagramming geodatabases that weren’t designed in Visio, I use Geodatabase Diagrammer, which is available for download on ArcScripts. This sweet little utility allows you to export a diagram straight out of a geodatabase (with the newest release, it supports both personal and enterprise) into Visio. It was initially developed as an internal ESRI tool, but was released to the public to help in the documentation of geodatabases. One problem that the tool has, though, is that it uses the default ESRI layout for the diagrams – which probably isn’t that big of a deal for most. Another weakness that I see is that, like Geodatabase Designer 2, you have to export the entire geodatabase schema. This likely isn’t much of a problem with personal geodatabases (or maybe it is for some???), but it can be a pain to export an entire SDE geodatabase schema out and then pick through the Visio model to get just the elements that you want in your diagram. I usually have more than one “data model” in my enterprise geodatabases, and would like to be able to select the feature classes that are associated with a particular model and get only those relationships classes and related tables that are tied to the model.
For documentation of geodatabases, I use Richie Carmichael’s (ESRI) Geodatabase Designer 2, and it works well for what it was designed to do. It allows you to import and export Geodatabase XML schemas and documents all of the tables (spatial and otherwise), subtypes, domains, relationships, and networks that exist in a geodatabase in both HTML and XML. One shortcoming that the tool has is the fact that, like the geodatabase diagrammer, you cannot pick and choose “parts” of a geodatabase to export. On the positive side, though, this is obviously a valuable tool. It would be really valuable if I could figure out how to convert the XML into a Visio model. If only we could reverse engineer an SDE geodatabase!
Bottomline from what I’ve found is that if you didn’t use UML to initially design your geodatabase, there is no single tool or method that will allow you to easily diagram your model. If you, however, did design your initial data model in Visio, you can then use that model as a visual tool and generate your geodatabase from it. To document all of the contents of the model, use Geodatabase Designer 2.
I would love to hear about other methods of designing and documenting geodatabases. Any ideas?
Helpful Links:
Listening to Neil Young – After the Gold Rush…
{ 8 comments… read them below or add one }
Take a look at Perceptory, its a conceptual modeling tool for geospatial databases. A few years ago, it was tied to Visio (it probably still is).
http://sirs.scg.ulaval.ca/perceptory/english/enewindex2.asp
Cheers,
Alex
slashgeo.org
I just had a couple of posts about geodatabases and designing with UML and how I think it is actually a pain in the rump. Check out my blog Aug-15th and before to see some of my thoughts on the tools and process you mentioned.
The nice part of Richies tool is that it is XML underneath, so you can delete the elements that you are not interested in from the XML and the HTML will update. I find that helpful when I want someone else to focus on just a piece of the Geodb
A definite improvement for the diagrammer tool would to place feature classes in their feature datasets rather than just putting all the pictures on the page. Still pretty nice for making diagrams.
What I’d like to see (from ESRI or an ISV) is a movement towards GDB design tools that export/import Xml workspaces. Perhaps it could be done via Visio UML, but there would need to be a lot of extra stuff added to the Uml to handle projections, topologies, loading domain values from tables etc etc. This way we’d have a single model storage format that could be round-tripped.
Dave
Alex,
Perceptory definitely looks interesting. Reading from the site’s home page, though, it looks like starting with the Winter 2006 version it will no longer plugin to Visio. I am still going to try it out and see what I think.
Steve and Dave,
I definitely agree that what we really need is to be able to work with XML from end-to-end. Until this happens, it looks like multiple unconnected products are the only viable option.
Hi Nate,
A few weeks back “ArcGIS Diagrammer” was released by ESRI’s Prototype Lab. It is a free download (with source code) from ArcScripts. James Fee writes about it here:
http://www.spatiallyadjusted.com/2007/07/23/arcgis-diagrammer-92-beta/
Richie
Do you have any tips for how to get the UML to XMI Export tool to work? I installed it per Microsoft’s directions (dropped the .dll file into the visio install dir) but it still isn’t showing up in the Tools>Add-Ons>Run Add-On list. Is there another step that is needed? Any help would be greatly appreciated!
Sorry, Hannah. Not off the top of my head, and it has been awhile since I dove into this…
Thanks for the article, I too am looking at making a geodb again. I had forgotten how horrible ESRI makes it for their users. I have to identify the geometry before the feature type? WTF? Why cant a well have a point and a line? Sigh….old ideas in a modern world….
Sure would be nice if we could get rid of this silly notion of a Geodatabase and just model data that happens to have a spatial element or attribute. Then we could use standard data modeling tools and get this done the right way.