Monday, April 22, 2013

"Coincidentally" the Geodatabase, Part 1


Over the years, I've noticed that many people have yet to explore the power of an ArcGIS geodatabase. What I mean is that some users are still strong-arming their way with shapefiles (sigh) because they are comfortable with them or are simply loading their data into a geodatabase as a feature class. COME ON! Geodatabases have been around since about 2001. It's time to capitalize on that powerful tool you have with ArcGIS.

The plan

This series of blogs is going to focus on feature coincidence. To get there will take a number of weeks of blogs to fully post this series. Here's my plan:
Part 1 -- introduce the feature dataset and how to add your shapefiles
Part 2 -- introduce topology and two very useful rules: Must Not Overlap and Must Not Have Gaps
Part 3 -- introduce working with coincidence and Area Boundary Must Be Covered By Boundary Of
Part 4 -- editing Area Boundary Must Be Covered By Boundary Of errors

This information is taken in part from my ArcGIS Desktop: Geodatabase Power User class. For more in-depth detail, you can sign up for my class. More information at Web Classes.

Required software: 

Standard or Advanced version of ArcGIS Desktop (it used to be called ArcEditor and ArcInfo) version 10.1. (Much of this can be done with older versions of the software. I cannot keep track of what all works and doesn't work with the older versions.)  Since we will be building geodatabases in this series, Basic ArcGIS (ArcView) users don't have all the capabilities.


I assume you know what a feature class is. Also, how to make a geodatabase and some of the basic functionality of one. If not, the ArcGIS Desktop: Managing Data class is a great way to get all the foundations about geodatabases and editing and managing feature data. Again, more information about my classes can be found at Web Classes.

The Feature Dataset (FD):

This geodatabase contains four feature datasets.
  • Is a collection of feature classes (GirdD FD contains two)
  • Is the environment for spatial reference
  • Is the environment for topology (GirdD FD contains one)
  • Is the environment for coincident geometry (topologic rules)
  • Feature classes stored within an FD inherit it's spatial reference properties
  • Feature data loaded into an FD can be projected on the fly
The FD provides the user with the “framework” to organize logical collections of feature classes (even different feature types – point, line, poly) together to represent the behavior and topologic relationships that the individual feature classes share. The extent of the flexibility delivered in using FD's is very exhaustive and efficient, but it does take some practice to capitalize on these capabilities. FD's contain “user grouped” feature classes. This allows the user to more accurately and efficiently model real world entities as “feature groupings” and establish topological relationships between those feature classes that participate in the topology. All of this is accomplished as a structured collection of tables in the RDBMS, thus exploiting the performance benefits of the database.

The FD can be interpreted as the “container” for feature classes. Benefit can be reaped from having a spatial reference defined for the FD so when new feature classes are loaded into an existing FD, the data will “project on the fly” (if necessary) into the spatial reference of the FD.

Creating a Feature Dataset:

Creating a feature dataset is quite easy. Using ArcCatalog or the Catalog Window in ArcMap, simply right-click on your geodatabase and choose New > Feature Dataset... 

There are some properties you will need to set when creating one: name, coordinate systems, and tolerance. I'm assuming you know how to work with feature classes, so I won't go through coordinate systems or tolerance as these are basic pieces of knowledge for feature classes. If you are unsure of these properties, now is the time to make certain you know exactly what is going on. These properties will affect the outcome of all feature classes within your FD.

Importing and Projecting Feature Data:

You now have a template (your FD) for importing shapefile or other feature data. Right-click on the FD and choose Import > Feature Class (single)... or Import > Feature Class (multiple)...

Simply use the tool to browse to and choose your shapefile. By the way, it is VERY easy to import 10, 20 or 100 shapefiles this way. 

You may choose a shapefile that is in the same coordinate system as your FD. It imports easily and quickly. You may also choose a shapefile that is NOT in the same coordinate system as your FD. In this case, it will project 'on the fly' as long as your input shapefile's coordinate system is correctly defined. If you are working with different datum's  I suggest projecting/transforming your shapefile before importing so you can easily keep track of all the properties. 

Here's the Feature Class to Feature Class tool populated with my example shapefile. 

The result:

So there you have it! A shapefile loaded into a feature dataset. 

In Part 2, I'll introduce topology and two very useful rules: Must Not Overlap and Must Not Have Gaps. I'll actually be using two real-world examples of parcels and zoning. 

As always, I appreciate your comments, suggestions, and even spelling correcetions!

Until then... Happy Geodatabasing! 


  1. For many years I have quit the spreadsheet and gone to using databases for just about everything, but I am one of the guilty ones who works exclusively with shapefiles on the odd occasions when using some flavor of 'ArcMap', due to lack of compatibility between older and newer versions of .gdb databases, and transfer of information between other GIS packages notably MapInfo.

  2. I fully understand the challenge of keeping up with changes in versions of geodatabases. ESRI is always improving (or fixing) the model. Sometimes I want to give up, as it's a hassle. BUT, after taking a little time, I often find out new powers and am glad I took on the new challenge. I enjoy learning and knowing that I'm using the tool to it's potential. I might also say here, if you don't enjoy learning new things, then GIS is probably NOT an area you want to work in. It's a very quickly evolving discipline!

    I have seen users just stick with shapefiles for just this reason. It's sad that they miss out on all the powerful capabilities of a geodatabase. Towards the end of this series I will cover some very cool editing techniques to clean up non-coincident data (that should be coincident). You cannot do this with shapefiles!

    I know people who have spent hundreds of hours of editing using what I call "the shapefile logic", then I show them "the geodatabase logic" which takes importing the data into a geodatabase and learning the tools (sometimes taking only an hour to learn). In one user's case, each edit task took about 1/5th the amount of time he was putting in with the old logic. In his case, had he learned the geodatabase tools at the front end of his project, it would have saved him about 150 hours of work! Additionally, he worked for a large agency and he could then have shown others needing the same editing task.

    As far as integrating with MapInfo via shapefiles, it is VERY simple to export a feature class to a shapefile. I also understand that this duplicates your spatial data and this adds to what I call "data mayhem". You want to keep multiple copies of your data to a minimum. Having a plan for data management of copies is most important in the overall scheme of things, as sometimes they are necessary to capitalize on the efficiencies of your software and your skill set.