Title: Vector GIS GeoDatabases
1Vector GIS -- GeoDatabases
GeoDatabases Defined
A GeoDatabase is a generic model of geographic
information, consisting of topologically
integrated feature classes, roughly similar to
the ArcInfo coverage model The coverage model
is extended to support complex networks
connectivity topological rules can be specified
and to facilitate relationships between and among
feature classes shared and linked feature
geometry can also be specified
2Vector GIS Implementing GeoDatabases
GeoDatabases Implemented
GeoDatabases are implemented on any standard
Relational Database Management System using the
ArcSDE server ArcSDE defines an open interface
between ArcGIS and the RDBMS application,
allowing ArcGIS to manage the spatial data using
ORACLE, MS SQL Server, IBM DB2, INFORMIX,
etc. For small single-user applications, you can
design and implement a personal GeoDatabase that
is managed by the MS Access JET Engine without
the necessity of ArcSDE
3Vector GIS GeoDatabase Model Features
GeoDatabase Model Design
- Supports an object-oriented vector spatial data
model - All entities, including spatial features are
represented as objects, which are instances of
object classes - All objects have
- Properties name, length, etc.
- Behaviors can be modified, can have
descriptive attribute collections - Relationships when a node is moved, an arc
end-point also moves with it - Object types include
- Simple objects objects without locations
- Geographic features objects with locations
- Network features objects that are
geometrically integrated with other features,
such as nodes and arcs - Annotation features text or graphic objects
with location - You can define relationships between objects
and specify rules for maintaining referential
integrity among the objects
4Vector GIS GeoDatabase Objects and Classes
Objects and Object Classes
- Object Classes are generic objects that
encapsulate a set of properties and behaviors
for all instances of that object - Objects are instantiations of those parent
object classes that share all the properties and
behaviors of the object class - e.g. An Automobile is an object class, with
the properties Manufacture, Model, and Color,
and the behaviors Accelerate and Decelerate. A
red Gull-wing 2000 Ferrari that can reach 60
mph in 4 seconds and can stop as quickly is an
object! - In the context of ArcGIS, object classes are of
two general types - Spatial Feature Class polygon or Non-spatial
Object Class table - Every object class has a unique Identifier
property OID that is unique for every
instantiation of the class - All objects of a class must have the same
properties defined in the class, but the object
classes may have sub-types - Sub-types hold default values for class
properties color is a class property, w/
monochromatic, bichromatic and poly-chromatic
sub-types - Domains can be set for each sub-type the
monochromatic sub-type may be restricted to only
either Red or Yellow color domains
5Vector GIS Database Schema
GeoDatabase Schema
- The GeoDatabase Schema is defined as the
structure of a database or a database object
table, including all properties, behaviors and
relationships - The first step in designing the GeoDatabase is
designing its schema - Questions that lend themselves to schema design
include - What kind of data will be stored in the
database? - What projection / coordinate system will the
datasets have? - What rules will you have for modifying spatial
features? - What object classes will you have in your
database? - Will the object classes have sub-types?
- If there are sub-types, will there be
associated domains? - Will there be relationships between different
objects? - If there are shared geometric relationships
between feature object classes, will you set up
rules for modifying features?
6Vector GIS Creating GeoDatabases I
Steps in GeoDatabase Model Design
- Design the Schema of the GeoDatabase
- Create the geoDatabase and name it
- Create feature groups or features or objects
from scratch - or
- Import or migrate existing feature groups and
features from shapefiles, coverages, tables,
annotations, etc - Define sub-types for all necessary classes
- Define attribute domains for sub-types as
needed - Define relationships between object classes
sharing geometry between and among features, or
relationships between a feature table and an
attribute table - Define network rules for topology, if any
7Vector GIS GeoDatabase Object Class Typology
Non-spatial Object Class
Spatial Object Class
Simple Feature Class
Integrated Feature Class
Node Feature Dataset Arc Feature Dataset Poly
Feature Dataset
Polygon Feature Dataset
Table
Sub-types
Sub-types
Sub-types
Spatial Domains Attribute Domains
Spatial Domains Attribute Domains
Attribute Domains
8Vector GIS GeoDatabase Relationship Classes
- Relationships between objects are defined and
named - Relationships are stored in a special
Relationship Class - The Relationship Class contains the particulars
of the relationships between object classes
e.g. Cardinality Ratio - In the example below, note that an owner can
own more than one parcel - The relationship therefore has to be specified
between a non- spatial class Table and a
spatial feature class Polygon feature dataset
M
1
M
1
9Vector GIS GeoDatabase Relationship Classes
Implemented
- Parcel Number in the Parcel Polygon Feature
spatial Table Class is a foreign key in the
Owners Class non-spatial - Referential Integrity can thus be enforced
- If Donald Trump buys out John Smythe, John
Smythe disappears from the Owners Class, but
nothing happens to the feature class - If Parcels 0017 and 0018 are combined into a
new feature Parcel 0018, then referential
integrity constraints force the removal of John
Smythe from the Owners Class
10Vector GIS -- Editing Features on a Single Theme
Single Theme Spatial Editing Operations include
- Creating new features and adding relevant
attributes - Spatially editing/modifying existing features
- copying, moving, extending, trimming features
- resizing, buffering or mirroring features
- adding, deleting, moving vertices of features
- Setting snap options
- Appending adjacent polygons
- Splitting line or polygon features using lines
- Unioning or Merging features
- Intersecting features
- Creating/editing attributes of modified features
11Vector GIS Setting Snap Options during Editing
Setting SNAP Options
Whenever you make spatial edits to a theme, like
adding features or modifying features, you
cannot rely on visual judgment -- at a different
scale, a polygon feature might appear to be a
point! What you need to do is to set snap
options, so that every editing mouse click
jumps to the nearest vertex within a specified
distance, thereby eliminating judgment If no
vertex is found within the specified snap
distance, the point is placed at the location
specified by the mouse-click
Mouse-click at center of cross-hairs Actual point
jumps to vertex P
12Vector GIS Setting Snap Tolerance
Setting SNAP Options -- Tolerance
- Setting Snap Tolerance
- Snap Tolerance is the distance within which
automatic snapping occurs to another feature or
sub-feature objects location - The circle around the pointer represents the
snapping tolerance - If the location being snapped to is outside the
snapping tolerance, the snapping location stays
with the pointer - If the location being snapped to is inside the
snapping tolerance, the snapping location moves
away from the pointer and snaps to the target
location
13Vector GIS Setting Snap Properties
Setting SNAP Options -- Properties
- Setting Snap Properties
- You can choose any or all of the parts of
existing features -- vertex, edge, or endpoint
-- to which you want your new feature to snap by
setting the layer snapping properties - When the pointer comes within the snapping
tolerance of the vertex/edge/endpoint of an
existing feature, the vertex of the new feature
where you click snaps to the vertex/edge/endpoi
nt of the existing feature - If the pointer click event occurs outside the
snapping tolerance of any vertex/edge/endpoint
of an existing feature, the vertex of the new
feature is created at the location of the click
event
14Vector GIS Setting Snap Priorities
Setting SNAP Options -- Priorities
- Setting Snap Layer Priorities
- You can also set the snapping priority for
layers on your map - The order of layers listed in the Snapping
Environment options dialog determines the order
in which snapping will occur - Snapping occurs first in the layer at the top
of the list and then in each consecutive layer
down the list - You can easily change the snapping priority by
dragging the layer names to new locations within
the layer list
15Editing Vertices of Vector Features
Feature Vertex Editing
- In many instances, line or polygon shapes may
have to be altered - The shapes of the features are edited
individually, by adding, deleting or moving
vertices
moving vertices
adding vertices
deleting vertices
16Maintaining Topological Integrity during Polygon
Editing
Maintaining Adjacency while adding polygons
- Whenever polygons have to be added to an
existing data set of polygons, adjacency rules
must not be violated - While the GIS permits polygon features to
overlap (violating adjacency rules), area
calculations and overlay operations will lead to
erroneous results - The overlapping regions must be cleaned
and the topology rebuilt for the new, clean
theme, which may have sliver polygons - Instead of this process, if a little care is
taken during the process of adding polygons,
adjacency rules need not be violated, and
topology is built on the fly for the new
feature only
sliver polygon
Adjacency Rules Violated
Adjacency Rules Preserved
17Splitting Polygon or Line Features Using Lines
Splitting Lines or Polygons using Lines
- Line or Polygon features may be split using
graphic line objects, with input features
being deleted from the database - Before splitting, rules must be established
for the transfer of attributes from the original
features to the new features - Numeric attributes can be transferred in the
same ratio as output_feature_area to
input_feature_area, relying on the assumption
that the numeric attributes are distributed
uniformly throughout the extents of the input
feature only for GeoDatabases - String attributes are either copied or left
blank in the output features
ID - Poly_A Area - 58 Pop - 290
INPUT
OUTPUT
splitter
ID - Poly_A Area - 42 Pop - 210
Input_feature_ID - Poly_A Input_feature_Area - 1
00 Input_feature_Pop - 500
18Merging features in a theme
Merging Features in a single Theme
- The merge process combines several input
features into one output feature on the same
theme -- the input features are deleted from the
database - As in the split feature case, rules must be
established for the transfer of attributes from
the input features to the output features - Numeric attributes can be aggregated from
the input features and transferred to the result
feature - String attributes are either copied or left
blank
Pop 200
Pop 300
Pop 100
INPUT
OUTPUT
19Unioning features in a theme
Unioning Features in a single Theme
- The Union process is very similar to the Merge
process it combines several input features
into one output feature on the same theme -- the
input features are not deleted from the database
-- a new feature is created and the old input
features remain in the dataset
Pop
Pop 200
Pop 200
Pop 100
Pop 100
INPUT
OUTPUT
20Intersecting Features in a theme
Intersecting Features in a single Theme
The intersect process computes the geometric
intersection of selected input features and
produces new features without deleting the input
features
Note polygons in red will be not be deleted --
the red polygons are just shown for reference.
The blue polygon is the new resulting feature
INPUT
OUTPUT