Feature classes in a geodatabase in PostgreSQL
A feature class is a collection of geographic features, all of the same geometric type (point, line, polygon, multipoint, annotation, dimension, or multipatch). For example, you could store points for all the train depots along a railroad line in one feature class. In another feature class, you could store lines that represent all the railroad tracks.
This topic contains descriptions of the way a feature class appears in the Catalog window, in the database management system (DBMS), and in an XML document.
Feature classes in ArcGIS Desktop
There are seven types of feature classes you can create in ArcGIS Desktop: point, multipoint, line, polygon, annotation, dimension, and multipatch.
You can tell what type of feature class it is in the Catalog tree based on the icon. The following table shows the icon for each type of feature class.
Feature class icon |
Type of feature class |
---|---|
Point or multipoint |
|
Line |
|
Polygon |
|
Annotation |
|
Dimension |
|
Multipatch |
In PostgreSQL, the name of a feature class as it appears in the Catalog tree includes the name of the database the feature class is in, the name of the user who owns the feature class, and the name of the feature class itself.
For example, a feature class named parcels, owned by user harley, in a geodatabase named stegageo is listed as stegageo.harley.parcels in the Catalog tree.
For a description of the different types of feature classes, see Feature class basics.
Feature classes in a PostgreSQL database
Feature classes in PostgreSQL databases use one of two geometry storage types: ST_Geometry or PostGIS geometry.
All feature classes have a business table, which stores attribute information, an ObjectID, and a Shape field. The ObjectID and Shape fields can have different names, but they are required to be in the business table of a feature class.
Annotation and dimension feature classes have additional required fields in their business tables. See Managing annotation feature class properties for a list of these fields.
Feature classes in a PostgreSQL database using ST_Geometry storage
By default, feature classes created in geodatabases in a PostgreSQL database management system (DBMS) use ST_Geometry storage. That means an ST_Geometry column is added to the business table of the feature class to store the spatial attribute.
ST_Geometry is an abstract noninstantiable superclass, the subclasses of which are instantiable. See What is the ST_Geometry storage type? for more information.
When a feature class is created through ArcGIS using ST_Geometry storage, a business table with an ST_Geometry column is created in the owner's schema. Also, records are added to the sde_layers, sde_table_registry, sde_geometry_columns, sde_column_registry, sde_spatial_references (if a spatial reference was defined), and gdb_items tables in the sde user's schema to track information about the feature class. The gdb_itemtypes table in the sde user's schema defines the type of data it is, in this case, feature class.
Once you have loaded data, you will have several i tables and stored procedures in your database. These stored procedures and i tables are used for generating feature IDs for feature classes. The i tables contain a number in their name. This number corresponds to the registration_id of the feature class in the sde_table_registry table. Editing these tables or stored procedures is not supported and highly discouraged.
View a diagram of a feature class using ST_Geometry storage in PostgreSQL.
You need Adobe Acrobat Reader to open the file.
Dashed lines indicate implicit relationships between columns; solid lines indicate explicit relationships between columns.
Feature classes in a PostgreSQL database using PostGIS geometry
If you install PostGIS and your database is created using the PostGIS template, you can use its extended well-known text (EWKT) and extended well-known binary (EWKB) spatial types to create feature classes. When you use this, a geometry column is added to the business table to store the feature geometry. In the geodatabase, this geometry storage type is referred to as PG_GEOMETRY.
By default, the GEOMETRY_STORAGE parameter under the DEFAULTS DBTUNE configuration keyword is set to ST_GEOMETRY. If you want to use PG_GEOMETRY storage for most of your feature classes instead, you can alter the GEOMETRY_STORAGE parameter under the DEFAULTS keyword, setting it to PG_GEOMETRY. (Use the sdedbtune command to alter DBTUNE parameter settings.) Or you can specify the PG_GEOMETRY keyword when you create feature classes through ArcGIS or using ArcSDE commands. Feature classes created in ArcGIS using PG_GEOMETRY storage create a business table with a geometry column in the owner's schema. Records are added to all the same tables in the SDE schema as feature classes using ST_GEOMETRY storage. In addition, a record is added to the geometry_columns table in the public schema. For this reason, any user who creates data that uses PG_GEOMETRY storage must have SELECT, INSERT, UPDATE, and DELETE privileges on the public.geometry_columns table.
Because there is no PostGIS function to update the table name stored in the public.geometry_columns table, you cannot rename feature classes created using PG_GEOMETRY storage. Renaming the feature class would leave an orphaned row in the public.geometry_storage table.
View a diagram of a feature class using PostGIS geometry storage in PostgreSQL.
You need Adobe Acrobat Reader to open the file.
Dashed lines indicate implicit relationships between columns; solid lines indicate explicit relationships between columns.
For more information on PostGIS geometry storage in the geodatabase, see ArcGIS and the PostGIS geometry type.
Feature classes stored in an XML workspace document
Feature classes are defined within DataElement elements. The DataElement tags for a feature class are set to type esri:DEFeatureClass. Within the feature class DataElement are other elements that define the feature class, such as Field, Domain, ConfigurationKeyword, and SpatialReference elements.
<DataElement xsi:type="esri:DEFeatureClass"> <CatalogPath>/V=sde.DEFAULT/FC=stegageo.harley.parcels</CatalogPath> <Name>stegageo.harley.parcels</Name> <DatasetType>esriDTFeatureClass</DatasetType> <DSID>13</DSID> <Versioned>true</Versioned> <CanVersion>true</CanVersion> <HasOID>true</HasOID> <OIDFieldName>objectid</OIDFieldName> <Fields xsi:type="esri:Fields"> <FieldArray xsi:type="esri:ArrayOfField"> <Field xsi:type="esri:Field"> <Name>objectid</Name> <Type>esriFieldTypeOID</Type> <IsNullable>false</IsNullable> <Length>4</Length> <Precision>10</Precision> <Scale>0</Scale> <Required>true</Required> <Editable>false</Editable> <AliasName>OBJECTID</AliasName> <ModelName>OBJECTID</ModelName> </Field>
All other elements defining the feature class
</DataElement>