Feature classes are homogeneous collections of common features, each having the same spatial representation, such as points, lines, or polygons, and a common set of attribute columns, for example, a line feature class for representing road centerlines. The four most commonly used feature classes in the geodatabase are points, lines, polygons, and annotation (the geodatabase name for map text).
In the illustration below, these are used to represent four datasets for the same area: (1) manhole cover locations as points, (2) sewer lines, (3) parcel polygons, and (4) street name annotation.
In this diagram, you might also have noted the potential requirement to model some advanced feature properties. For example, the sewer lines and manhole locations make up a storm sewer network, a system with which you can model runoff and flows. Also, note how adjacent parcels share common boundaries. Most parcel users want to maintain the integrity of shared feature boundaries in their datasets using a topology.
Types of feature classes in the geodatabase
Vector features (geographic objects with vector geometry) are versatile and frequently used geographic data types, well suited for representing features with discrete boundaries, such as wells, streets, rivers, states, and parcels. A feature is simply an object that stores its geographic representation, which is typically a point, line, or polygon, as one of its properties (or fields) in the row. In ArcGIS, feature classes are homogeneous collections of features with a common spatial representation and set of attributes stored in a database table. For example, a line feature class for representing road centerlines.
Generally, feature classes are thematic collections of points, lines, or polygons, but there are seven feature class types:
- Points— Features that are too small to represent as lines or polygons as well as point locations (such as a GPS observations).
- Lines— Represent the shape and location of geographic objects, such as street centerlines and streams, too narrow to depict as areas. Lines are also used to represent features that have length but no area such as contour lines and boundaries.
- Polygons— A set of many-sided area features that represent the shape and location of homogeneous feature types such as states, counties, parcels, soil types, and land-use zones.
- Annotation— Map text including properties for how the text is rendered. For example, in addition to the text string of each annotation, other properties are included such as the shape points for placing the text, its font and point size, and other display properties. Annotation can also be feature-linked and can contain subclasses.
- Dimensions— A special kind of annotation that shows specific lengths or distances, for example, to indicate the length of a side of a building, a land parcel, or the distance between two features. Dimensions are heavily used in design, engineering, and facilities applications for GIS.
- Multipoints— Features that are composed of more than one point. Multipoints are often used to manage arrays of very large point collections such as LIDAR point clusters which can contain literally billions of points. Using a single row for such point geometry is not feasible. Clustering these into multipoint rows enables the geodatabase to handle massive point sets.
- Multipatches— A 3D geometry used to represent the outer surface, or shell, of features that occupy a discrete area or volume in three-dimensional space. Multipatches comprise planar 3D rings and triangles that are used in combination to model a three-dimensional shell. Multipatches can be used to represent anything from simple objects, such as spheres and cubes, or complex objects, such as iso-surfaces and buildings.
Feature geometry and feature coordinates
Feature classes contain both the geometric shapes of each feature as well as their descriptive attributes. Each feature geometry is primarily defined by its feature type (point, line, or polygon). But additional geometric properties can also be defined. For example, features can be single part or multipart, can have 3D vertices, can have linear measures (called m-values), and can contain parametrically defined curves. This section provides a short overview of these capabilities.
Single-part and multipart lines and polygons
Line and polygon feature classes in the geodatabase can be composed of single parts or multiple parts. For example, a state can contain multpile parts (Hawaii's islands) but is considered to be a single state feature.
Vertices, segments, elevation, and measurements
Feature geometry is primarily composed of coordinate vertices. Segments in lines and polygon features span vertices. Segments can be straight edges or can be parametrically defined curves. Vertices in features can also include z-values to represent elevation measures and m-values to represent measurements along line features.
Segment types in line and polygon features
Lines and polygons are defined by two key elements: (1) an ordered list of vertices that define the shape of the line or polygon and (2) the types of line segments used between each pair of vertices. Each line and polygon can be thought of as an ordered set of vertices that can be connected to form the geometric shape. Another way to express each line and polygon is as an ordered series of connected segments where each segment has a type: straight line, circular arc, elliptical arc, or Bezier curve.
The default segment type is a straight line between two vertices. However, when you need to define curves or parametric shapes, you have three additional segment types: circular arcs, elliptical arcs, and Bezier curves that can be defined. These shapes are often used for representing built environments such as parcel boundaries and roadways.
Vertical measurements using z-values
Feature coordinates can include x,y and x,y,z vertices. Z-values are most commonly used to represent elevations, but they can represent other measurements such as annual rainfall or measures of air quality.
Linear measurements using m-values
Linear feature vertices can also include m-values. Some GIS applications employ a linear measurement system used to interpolate distances along linear features, such as along roads, streams, and pipelines. You can assign an m-value to each vertex in a feature. A commonly used example is a highway milepost measurement system used by departments of transportation for recording pavement conditions, speed limits, accident locations, and other incidents along highways. Two commonly used units of measure are milepost distance from a set location, such as a county line, and distance from a reference marker.
Vertices for measurements can be either (x,y,m) or (x,y,z,m).
Support for these data types is often referred to as Linear Referencing. The process of geolocating events that occur along these measurement systems is referred to as Dynamic Segmentation.
Measured coordinates form the building blocks for these systems. In the linear referencing implementation in ArcGIS, the term route refers to any linear feature, such as a city street, highway, river, or pipe, that has a unique identifier and a common measurement system along each linear feature. A collection of routes with a common measurement system can be built on a line feature class as follows:
Locational accuracy and support for a high-precision data management framework are critical in GIS data management. A key requirement is the ability to store coordinate information with enough precision. The precision of a coordinate describes the number of digits that are used to record the location. This defines the resolution at which spatial data is collected and managed.
Since geodatabases can record high-precision coordinates, users can build datasets with high accuracy levels and with greater resolution as data capture tools and sensors improve over time (e.g., data entry from survey and civil engineering, cadastral and COGO data capture, increased imagery resolution, LIDAR, building plans from CAD).
The geodatabase records its coordinates using integer numbers and can handle locations with very high precision. In various ArcGIS operations, feature coordinates for the geodatabase are processed and managed using some key geometric properties. These properties are defined during the creation of each feature class or feature dataset.
The following geometric properties help define coordinate resolution and processing tolerances used in various spatial processing and geometric operations:
- XY resolution: The precision with which coordinates within a feature class are recorded.
- XY tolerance: A cluster tolerance used to cluster features with coincident geometry. Used in topology, feature overlay, and related operations.
- Z tolerance and Z resolution: The tolerance and resolution properties for the vertical coordinate dimension in 3D datasets (e.g., an elevation measure).
- M tolerance and M resolution: The tolerance and resolution properties for measures along line features used in linear referencing datasets (e.g., the distance along a road in meters).
Feature class storage in the geodatabase
In the geodatabase, each feature class is managed in a single table. A Shape column in each row is used to hold the geometry or shape of each feature.
In the feature class table:
- Each feature class is a table.
- Individual features are held as rows.
- Feature attributes are recorded in columns.
- The Shape column holds each feature's geometry (point, line, polygon, and so forth), or a reference to the geometry.
- The Object ID column holds the unique identifier for each feature.
In ArcSDE geodatabases, relational databases hold feature classes as tables in the DBMS. ArcSDE is supported on five RDBMSs: Oracle, DB2, Informix, SQL Server and PostgreSQL.