Modeling feature classes

The following are some useful design tips for modeling geodatabase feature classes:

Task 1: Design simple feature classes.

Almost without exception, every geodatabase will contain feature classes. You might want only a simple geodatabase design that contains just a collection of feature classes. However, most users will find the need to develop a more comprehensive data model that adds advanced geodatabase elements. You will make the decision to extend your simple feature class designs based on your system needs and goals; you'll extend your design to support essential GIS functionality and behavior. This section introduces many of these feature class capabilities and points you to help topics where you can get more information on each option.

Start by defining the common properties of simple feature classes. You can add to this later as needed, but focus on defining your basic design first.

A feature class is a collection of geographic features with the same geometry type (such as point, line, or polygon), a common set of attribute columns, and the same coordinate system.

Example feature classes in ArcGIS

Feature class



Street centerlines


Street segments split at each intersection; usually contain address ranges and network properties



Soil types


Usually have many descriptive attributes in related tables



Topologically integrated with parcel boundaries and corners

Parcel boundaries*


Has coordinate geometry and dimension attributes; participates in a topology with parcels and corners

Parcel corners*


Surveyed corners of parcels; participates in a topology with parcel polygons and boundaries

Parcel annotation


Provides text labels for lot dimensions, taxation, and legal description information

Building footprints


Contains outlines of buildings and structures

Examples of feature classes used in ArcGIS

* The parcel fabric dataset provides parcel behavior and specialized parcel-based topology for these feature classes.

Once you settle on a proposed list of feature classes, try to define the following for each:

Sometimes, you'll load feature data as is into your GIS. If this is the case, you might not need to do any of the following additional design tasks. However, it is important to evaluate the advantages of adding further GIS capabilities to the features in your geodatabase. These additional capabilities can potentially make data use and maintenance much easier in the long term. They will help you maintain the integrity of your spatial information; increase the usability of your data; and, most important, help you understand how much confidence you can place in your data to meet your needs.

These are some common reasons for extending your simple features data model:

Task 2: Organize related feature classes into feature datasets.

Use feature datasets to organize spatially related feature classes into a common feature dataset. Feature datasets are necessary if you want to

A feature dataset is a collection of spatially or thematically related feature classes that share a common coordinate system. Feature datasets are used to hold feature classes that participate in a shared topology, network dataset, geometric network, or terrain.

Sometimes you will want to organize a collection of feature classes for a common theme into a single feature dataset. For example, you might have a feature dataset for water that contains hydro points (such as dams, bridges, and intakes), hydro lines (streams, canals, rivers), and hydro polygons (lakes, catchment areas, watersheds, and so forth).

In some situations, you might use feature datasets as folders to hold a collection of simple feature classes. This technique is primarily used to organize how you share datasets. However, it is not a useful data structure for editing.

You will need to go through tasks 3 and 4 to decide on a final design for what feature classes should be organized within each feature dataset.

Feature datasets play a key role in establishing permissions for data editing. All the feature classes in a feature dataset will have the same permissions. This means that you can set permissions on feature datasets to identify which organization or group will maintain its contents. If different permissions need to be set on each feature class, the feature classes should be organized in separate feature datasets (or feature classes), each with its own permission settings. In these cases, extract, transform, and load (ETL) or import/export procedures can be used to move data updates between each dataset.

When to use feature datasets

Use feature datasets to spatially or thematically integrate related feature classes. Their primary purpose is for building a topology, network dataset, terrain dataset, or geometric network.

You must use feature datasets to hold the set of feature classes that participate in any of the following geodatabase capabilities:

Task 3: Add geodatabase elements to facilitate data editing and manage data integrity.

The geodatabase includes some optional data modeling capabilities that add integrity rules and editing behavior to your GIS. These capabilities help you automate much of your data management work and integrity checks.

Task 4: Add capabilities for advanced data uses, analytic models (such as network analysis and geocoding), and advanced cartography.

With each dataset, you may want to consider adding additional geodatabase capabilities that help you to further leverage each dataset. A number of alternative options are available, and you can apply any of these to add capabilities to your geodatabase.

Related Topics