The shapefile format is now a common format for storing vector GIS data. Shapefiles store non-topological vector data along with related attribute data. Developed by Esri, shapefiles are now an open format and is a popular option for data transfer. For example, shapefiles can be directly read by a number of GIS software programs such as ArcGIS and QGIS.
Despite its name indicating a singular file, a shapefile is actually a collection of at least three basic files: .shp, .shx and .dbf. All three files must be present in the same directory for them to be viewable. There may be additional files such as a .prj with the shapefile’s projection information. Commonly, shapefiles are compressed in a .zip file for transfer such as emailing as an attachment or via a web site download.
What File Extensions are Associated with a Shapefile?
All shapefile files must have the same name but have different extensions. There are three required files that, at a minimum, make up a shapefile. For example, a water GIS data set must have the minimum set of files: water.shp, water.shx, and water.dbf.
These three minimum files are:
- shp — Main file (mandatory); a direct access, variable-record-length file in which each record describes a shape with a list of its vertices.
- shx — Index file (mandatory). In the index file, each record contains the offset of the corresponding main file record from the beginning of the main file. The index file (.shx) contains a 100-byte header followed by 8-byte, fixed-length records.
- dbf — dBASE Table file (mandatory); a constrained form of DBF that contains feature attributes with one record per feature. The one-to-one relationship between geometry and attributes is based on record number. Attribute records in the dBASE file must be in the same order as records in the main file.
Other file extensions that may be part of a shapefile are:
- sbn — Part 1 of spatial index for read-write instances of the Shapefile format. If present, essential for correct processing.
- sbx — Part 2 of spatial index for read-write instances of the Shapefile format. If present, essential for correct processing.
- atx — Created by ArcView 3.x for each instance of the Shapefile format or dBASE attribute index created in ArcCatalog. ArcView GIS 3.x attribute indexes for shapefiles and dBASE files are not used by later versions of ArcGIS as a new attribute indexing model has been developed for shapefiles and dBASE files.
- fbn — One of the files that store the spatial index of the features for instances of the Shapefile format that are read-only.
- fbx — The other file (besides .fbn) that stores the spatial index of the features for instances of the Shapefile format that are read-only.
- ain — One of the files that stores the attribute index of the active fields in a table or a theme’s attribute table.
- aih — The other file (besides .ain) that stores the attribute index of the active fields in a table or a theme’s attribute table
- ixs — Geocoding index for read/write shapefiles. If present, essential for correct processing.
- mxs –Geocoding index for read-write shapefiles (ODB format).
- prj — Projections Definition file; stores coordinate system information.
- xml — contains metadata, as used by ArcGIS.
- cpg — An optional file that can be used to specify the codepage for identifying the character set to be used.
When was the Shapefile First Developed?
The shapefile was created by Esri, the software vendor that makes the ArcGIS suite of GIS software. The shapefile was first introduced in the early 1990s with the debut of ArcView 2.
Technical Specifications of Shapefiles
This white paper published by Esri in 1998 provides a detailed technical overview of the shapefile: ESRI Shapefile Technical Description [PDF].