Ever wonder what the difference between a shapefile and a geodatabase is in GIS and why each storage format is used for different purposes? It is important to decide which format to use before beginning your project so you do not have to convert many files midway through your project.
Basics About Shapefiles:
Shapefiles are simple storage formats that have been used in ArcMap since the 1990s when Esri created ArcView (the early version of ArcMap 10.3). Therefore, shapefiles have many limitations such as:
- Takes up more storage space on your computer than a geodatabase
- Do not support names in fields longer than 10 characters
- Cannot store date and time in the same field
- Do not support raster files
- Do not store NULL values in a field; when a value is NULL, a shapefile will use 0 instead
Users are allowed to create points, lines, and polygons with a shapefile. One shapefile must have at least 3 files but most shapefiles have around 6 files. A shapefile must have:
- .shp – this file stores the geometry of the feature
- .shx – this file stores the index of the geometry
- .dbf – this file stores the attribute information for the feature
All files for the shapefile must be stored in the same location with the same name or else the shapefile will not load. When a shapefile is opened in Windows Explorer it will look different than when opened in ArcCatalog.
Basics About Geodatabases:
Geodatabases allow users to thematically organize their data and store spatial databases, tables, and raster datasets. There are two types of single user geodatabases: File Geodatabase and Personal Geodatabase. File geodatabases have many benefits including:
- 1 TB of storage limits of each dataset
- Better performance capabilities than Personal Geodatabase
- Many users can view data inside the File Geodatabase while the geodatabase is being edited by another user
- The geodatabase can be compressed which helps reduce the geodatabases’ size on the disk
On the other hand, Personal Geodatabases were originally designed to be used in conjunction with Microsoft Access and the Geodatabase is stored as an Access file (.mdb). Therefore Personal Geodatabases can be opened directly in Microsoft Access, but the entire geodatabase can only have 2 GB of storage.
To organize your data into themes you can create Feature Datasets within a geodatabase. Feature datasets store Feature Classes (which are the equivalent to shapefiles) with the same coordinate system. Like shapefiles, users can create points, lines, and polygons with feature classes; feature classes also have the ability to create annotation, and dimension features.
In order to create advanced datasets (such as add a network dataset, a geometric network, a terrain dataset, a parcel fabric, or run topology on an existing layer) in ArcGIS, you will need to create a Feature Dataset.
You will not be able to access any files of a File geodatabase in Windows Explorer. When you do, the Durham_County geodatabase shown above will look like this:
- When you copy shapefiles anytime, use ArcCatalog. If you use Windows Explorer and do not select all the files for a shapefile, the shapefile will be corrupt and will not load.
- When using a geodatabase, use a File Geodatabase. There is more storage capacity, multiple users can view/read the database at the same time, and the file geodatabase runs tools and queries faster than a Personal Geodatabase.
- Use a shapefile when you want to read the attribute table or when you have a one or two tools/processes you need to do. Long-term projects should be organized into a File Geodatabase and Feature Datasets.
- Many files downloaded from the internet are shapefiles. To convert them into your geodatabase, right click the shapefile, click “Export,” and select “To Geodatabase (single).”