Skip navigation
All Places > Enterprise Architect > Blog

I had the opportunity to model a geodatabase using Enterprise Architect with the Extension for ArcGIS.   Base on this experience, I wish to share my thoughts on the product:



  • Provides capability to abstract object, which is great to define common attributes but comes with some limitation (see Cons)
  • Drag-and-drop fields from one object/feature class to the other
  • Copy-Paste package/dataset/object/feature class within, or between, EA project



  • No schema validation tool.  Some error or not event detectable by ArcGIS Diagrammer or X-Ray for ArcCatalog) (Recommendation: Use Save project copy, and test importing schema in a geodatabase... often)
  • Although the abstraction is convenient, it as the following limitation:
    • The attribute in the feature class are grouped by the abstraction
    • Field with domain on the feature class must be added to each subtype
  • Can’t define a custom spatial domain in the spatial reference
  • Can’t create attribute indexes (i.e. import fail)
  • Can’t store field’s description in the ArcGIS tag

   Only for EA 9 and below...

  • Although the HazM and HasZ are set to false in EA, the XML export has them set to true (Solution: Perform a find-and-replace in Notepad).
  • Field data type definition are not converted automatically (e.g. string with length of 0, doesn’t become 255).  This seem to be problematic when loading into ArcSDE geodatabase (Solution: Import XML in file geodatabase first, then export new XML file).


I didn’t have a need to design topology or network classes in EA, so I won’t comment on those.


Overall I had to follow the following steps for designing a geodatabase:

  1. Design in EA, with the extension for ArcGIS
    1. Save project copy, repetitively
    2. Export to XML
    3. Import to geodatabase using ArcCatalog (to ensure the schema is valid)
  2. Export final XML
  3. Find-and-Replace HazM and HasZ from true to false, in text editor [Only for EA 9 and below]
  4. Import to file geodatabase using ArcCatalog
  5. Add attribute indexes with geoprocessing tool
  6. If using abstarct objects on an ArcGIS 10.2 geodatabase:
    1. Export to XML from file geodatabase
    2. Order fields in ArcGIS Diagrammer


Please share your finding in the comments below.

Prior to ArcGIS 10.0, the tool of choice for geodatabase design was Microsoft Visio.  But with the drop of support for the DLL, this is no more a valid option, since UML diagrams cannot be translated into ArcGIS geodatabase anymore.  Although, tools such as ArcGIS Diagrammer (for 10.2 and below) and X-Ray for ArcCatalog provide useful functionalities; they don’t offer a viable solution when dealing with IT industry, which demand computer-aided software engineering (CASE) tool.


Comes Enterprise Architect (EA) by Sparx System to the rescue!  This software offer modeling, visualization and design platform based on the UML 2.4.1 standard, at a significantly better price tag then Microsoft Visio.  It has proven remarkably popular across a wide range of industries in modeling and managing complex information.  It is often used for software development and IT system design and deployment, but also to business analysis and business process modeling.  More important, it includes an extension for ArcGIS.  This extension has been available since EA 9.3 and has been actively maintained by Sparx System ever since.


One of the best features of EA is complete traceability, which allows tying dependencies between elements.  For example, with EA I can have my business requirements linked to geodatabase’s objects, such as feature classes and domain coded value.   This facilitates the justification of decisions made during the geodatabase design when reviewing the schema with stakeholders.


For a video tutorial about modeling ArcGIS geodatabase using Enterprise Architect, visit:


UPDATE 2015-06-02: Richie Carmichael pointed out that ArcGIS Diagrammer is not an option anymore at ArGIS 10.3 (source: ArcGIS Diagrammer 10.3). 


UPDATE 2016-09-13: ArcGIS Help for 10.3 provides A note about the use of UML for geodatabase design