Shapefile vs. Geodatabase

18970
26
10-16-2014 09:37 AM
ThomasDowling
New Contributor

     I am considering building a geodatabase that would contain a series of polygon shapefiles. I was curious about the advantages of storing polygon data in a geodatabase vs a shapefile? Also where would I begin in building this database? Something to keep in mind is that all the shapefiles are constantly being edited individually and some may not relate or have different parameters than others. Thoughts on this process and is it worth doing?

26 Replies
DanPatterson_Retired
MVP Emeritus

Then we agree that your workflow is suited to the geodatabase and mine to shapefiles and arrays

DarrenWiens2
MVP Honored Contributor

My personal opinion is that if you don't have a reason to use a geodatabase, don't. There are many special reasons to use GDBs (domains, networks, etc.), but the hassles of sharing data with unknown users (with unknown ArcGIS version, or none at all) is prohibitive for me.

0 Kudos
JohnPapageorgiou
New Contributor III

I think the manual Tim suggested sums it up nicely.  File geodatabases will allow you to use more tools available in the toolbox than shapefiles.  Topology is one I can think of right away.  You mentioned you wanted to create/edit polygons, if it's parcel data for example and you don't want polygon overlap, topology will help you set rules to clean up any previous work and help you check your future work.  As for creating a file geodatabase, open up arc catalog, navigate to the folder where you want to save it, right-click, new, file geodatabase, name it accordingly and your done.  You can follow the same procedure for creating feature classes or datasets within the file geodatabase.  If you just want to transfer all of the pre-existing shapefiles to your new file geodatabase, right-click, import, add all the desired shapefiles to the list and they will be converted to feature classes. 

In general I  tend to favor geodatabases, but they do have one drawback, if one person has an *.mxd open that is accessing a feature class in a dataset, another user will not be able edit any of the feature classes within that dataset.

Hope this helps.

John

Mapperzmap
New Contributor III

Shapefiles are much easier to share and edit without the need to know arcgis version (and sharing with different GIS eg QGIS, the 2 gb limit can be over-come by joining attributes to a csv (no limit) only the geometry has the shapefile stopping at 2gb.

Still use them today along with MapInfo TAB files. The original product Maplex (A Standalone product by ESRI UK) only excepts shapefile this still used in production as the Maplex Label Engine in ArcGIS today is still not fully functional as the original application an output is still better than ArcGIS outputs.

Have used Geodatabase for Domain and Subtypes (Annotation) but have had issues with different versions of ArcGIS even patched versions.

Yes there are limitations for both - but because getting the work done (an invoiced) shapefile have less impact so still use them day to day.

TheoFaull
Occasional Contributor III

The major problem I found with geodatabases is you can only have one user at a time editing one.

ie. I used to work in a company where we had 100 feature classes all stored in one geodatabase. I wasn't able to edit a feature class if someone else was currently editing another one from the this same geodatabase.

We eventually had to split all the feature classes into 5 geodatabases to minimise this problem. Splitting it into more would undermine the point of using them in the first place!

shapefiles are also a lot easier to just copy and paste into folders to email to clients. With a geodatabase if you want to send a single feature class, you have to right click-export data to shapefile.

0 Kudos
XanderBakker
Esri Esteemed Contributor

I prefer a File Geodatabase over Shapefiles. There are many additional benefits like using Domains (A quick tour of attribute domains—ArcGIS Help | ArcGIS for Desktop very handy when editing, since this will provide drop down boxes with the options to choose from). I also use Relationshipclasses (Relationships and ArcGIS—Help | ArcGIS for Desktop ) a lot and of course there are representations (What are representations?—Help | ArcGIS for Desktop ), subtypes (A quick tour of subtypes—Help | ArcGIS for Desktop ) and other things that might be useful. It completely depends on what you specific use case is.

DanPatterson_Retired
MVP Emeritus

Chevy...Ford...Dodge...etc

But... all data format have their uses and one needs to familiarize yourself with their advantages and disadvantages.  If your needs are for mapping, there are one group of options.  If your needs are purely for analysis, there is other alternatives.  For example, for attribute data (and sometimes geometry) there is nothing less limiting than a *.npy (single) or *.npz file format for ease of storage and recovery.  I will leave people to investigate those as well as other more common ones...

FreddieGibson
Occasional Contributor III

This is old, but should still be true for the most part.

The Top Nine Reasons to Use a File Geodatabase

http://www.esri.com/news/arcuser/0309/files/9reasons.pdf

As far as training you can do at your own page I'd suggest reading the following books if you really want to get into geodatabase concepts.

Learning ArcGIS Geodatabases

https://www.amazon.com/Learning-ArcGIS-Geodatabases-Hussein-Nasser-ebook/dp/B00LB6DKAY/ref=sr_1_1?ie...

Modeling Our World: The ESRI Guide to Geodatabase Concepts

https://www.amazon.com/Modeling-Our-World-Geodatabase-Concepts/dp/1589482786/ref=sr_1_4?ie=UTF8&qid=...

ChrisDonohue__GISP
MVP Alum

As others have stated, the biggest factor boils down to which format will fulfill your needs the best.  In general, shapefiles are "quick and dirty", while geodatabases offer more capabilities but require more effort to set up.  This article has some good points:

Geoprocessing considerations for shapefile output—Appendices | ArcGIS for Desktop

For me, the main points that I find that keep me from using shapefiles that often are:

  • They can't store NULLS.
  • No topology.
  • They don't automatically update length and area.
  • Lack of parametric curves (shapefiles produce many small straight lines instead of a parametric curve.  Bringing shapefile geometry into a geodatabase produces zillions of slivers).

That said, shapefiles are still useful in many cases.

  • They are easy to set up.
  • In geoprocessing, they run fast.
  • They are easier to share with others than geodatabases due to their open format.
  • A collection of feature classes in one geodatabase only allows one person to be viewing and editing them (exception:  unless you have an enterprise geodatabase).  However, with shapefiles, each one is available to be viewed and edited by a different person.

So it all boils down to what will work given your needs and the advantages/disadvantages of each format.  I'd look into each and then see how they stack up to your needs.

Chris Donohue, GISP

RichardFairhurst
MVP Honored Contributor

I have one item you mentioned in favor of shapefiles where me experiences show geodatabases to be equal to or better than shapefiles.

File geodatabases are always the fastest for geoprocessing and cursor access in my experience over shapefiles and that is one reason I never use shapefiles for geoprocessing.

Edit: I reread your last point more carefully and realized my experience did not contradict your point about single user editing.