Читать книгу Designing Geodatabases for Transportation - J. Allison Butler - Страница 31
The geodatabase
ОглавлениеThe geodatabase is a collection of ArcObjects, but that simple definition does not really tell you what it does. ArcObjects interact with each other. If you establish a topological relationship between two lines, a change in one line can produce changes in the other line. Or you could create a connectivity rule that says a surface street may not connect directly to a limited-access highway, only to an exit ramp. You can control the direction of one-way streets or ensure that water always flows downhill. You can specify a particular map appearance for a given situation, such as label placement that does not overlap another feature. You can click on a feature and have a form appear. All of these functions are possible because the components of a geodatabase interact with each other and the user.
Figure 3.1 ArcGIS geodatabase feature dataset An ArcGIS geodatabase feature dataset can contain different class types. The more common types are discussed here.
A geodatabase consists of feature datasets, domains, validation rules, raster datasets, TIN datasets, survey datasets, metadata documents, and locators. A feature dataset can have a spatial reference that is shared by all the feature classes in the dataset. Transportation networks, geometric networks, and planar topology rules can be in a feature dataset.
Transportation data users are most concerned with four geodatabase class types: tables, features, relationships, and transport networks. ArcGIS supplies a uniform appearance for all these class types regardless of the database management system environment you implement.
A table is a class for which you can specify attributes and behaviors to represent an entity in the real world. It looks just like a relational table. ArcGIS even creates a primary key field, called OBJECTID, for you. Of course, you can create another field that can also uniquely identify each row in the table in order to support association relationships.
Although the OBJECTID field supplied by ArcGIS for all tables and feature classes is the primary key used by the software, it is not really a good foreign key for you to rely upon. The problem with OBJECTID is that it has values that can change as a result of certain database operations. For example, if you merge members of two tables into one, the OBJECTID values can change. Any foreign key relationships that you had constructed using OBJECTID no longer would work because those OBJECTID values are now gone or (worse) apply to other rows.
You create a candidate primary key in each of the classes that you will want to link to another class through a foreign key, whether it is implicit or instantiated in a relationship class. Some ways to do that are presented later.
Most ArcGIS documentation describes a feature class as a table class with a shape column. But a feature class also has all the added software required to work with geometry.
A transportation network uses feature classes as the source for information to construct a logical topology of the system and its behaviors. For example, you can define sign features to guide users who perform pathfinding analyses, or turn tables to express the temporal restrictions of movement by particular vehicle types at junctions.
Relationship classes manage associations between classes, although you can also rely upon on-the-fly relates and joins to tie classes together using foreign keys. Relationship classes are an important part of many best practices for transportation database design.