GIS shapefile stores the geometric location and attribute information of geographic features. In GIS shapefiles, the field names that you can use while working with the attribute table may contain some restrictions. These restrictions can be the length of the field name, the characters used in the name, and the words used in the name. Restrictions can also vary depending on the organization’s specific format.
The following are guidelines used to avoid invalid field names in GIS shapefiles:
- Restrictions on Name Relative to Characters Selected
- Restrictions on Name Relative to Length
- Restrictions on Name Relative to Word Choice
Restrictions on Name Relative to Characters
The shapefile field name can contain letters, numbers, dashes, underscores, apostrophes, and periods. In general, field names should always start with a letter, not a number, space, punctuation mark, or a special character. Therefore, it is advised to keep the initial characters of the field name limited to letters of the alphabet (a to z, A to Z) to avoid problems with the English character set. After that, the user can use the numbers (0 to 9), underscores (_), and hyphens (-).
The following special characters are not allowed (and may not be limited to those that appear below) in the field name:
Restrictions on Name Relative to Length
The length of the field name depends on the format of the table. The longest field names can be up to 64 characters for both file and geodatabases, 31 characters for SQL Server and SQLExpress database, 16 characters for INFO database, and 10 characters for dBASE files (stores the attribute information of geographic features).
See your organization documentation to find out the length restrictions for the particular table formats you are using.
Restrictions on Name Relative to Word Choice
When naming a field, make certain that the name is not the same or similar to a property or other element used by the CivilGEO software. This may create confusion within the application and generate an unexpected error.
The following keywords are not allowed for the field name: