Overview of the Geodatabase
Goals
Understanding of• Geodatabase data model• Designing and building geodatabases• Editing, long transactions, and versioning • ArcInfo 9.0 enhancements
The ArcInfo 8.3 Geodatabase
A new object-oriented geographic data modelAll relational data storage using ArcSDEVersioning and long transactionsNew data access objects for application software developersComponent-based technology for developing custom objects and features
Database captures more domain object behavior
Ability to declare domain-specific rules and constraints
Better modeling of relationshipsBetter messaging and communication between features
Geodatabase Advantages
Summary: Why Geodatabase?
Stored in an RDBMSFeatures with behavior
Specialized features (e.g., dimension features)Relationships
Feature-linked annotationTopological relationships
Geometric networksPlanar topologies
Summary: Why Geodatabase?
Multiuser editing with versioning and long transactionsObject-oriented geographic data modeling using UML and CASE toolsA set of “business objects” and “business rules” for GIS data
Geodatabase Advantages
Better data integrity All relational storageData model captures more rules
Continuous databasesNetwork tracing while editing
Better multiuser support No check in/check out or long transactions
Scalability and enterprise integration
Why DBMS for GIS?
All corporate data centralizedBackup/recoveryAdministrationSharing
IndexingQuery optimizationSecurityTransactions
GIS in an Institutional Setting
MSMSAccessAccess
SQLSQLServerServer
Oracle,Oracle,DB2, DB2,
InformixInformix
Easy/Inexpensive/No Administration
Large/High Performance
Standard RDBMS
Geodatabase model
Stores geographic coordinates as one attribute (shape) in a relational database tableUses MS Access for “Personal Geodatabase” (single user)
Smaller projects (2GB size limit)Single-editor environmentRequires no additional software
Uses Oracle, Sybase, Ingress or other commercial relational databases for “Enterprise Geodatabases” (many simultaneous users)
Shape
Migrating to ArcGIS
Change in ESRI technology forces us to changeGeodatabases provide domains and custom topology, used to validate featuresArcGIS is not restricted to coverages model, various formats from various sourcesArcGIS provides connections to databasesOpen development for customizing ArcMapTiered license: ArcView, ArcEditor, ArcInfo
What is a Geodatabase?
ArcGIS HelpESRI press
Publications: Modeling Our WorldResources available from www.esri.com
Download sample geodatabases
GeodatabaseCase Studies
Objects, object classesFeatures, feature classesRelationships, relationship classesGeometric networksFeature data setsValidation rules, domainsSpatial referencesRasters and other data set types in the future
Geodatabase
Feature datasets
Spatial reference
Geometric networks
Topologies
Domains
Raster datasets
Rasters
Feature classes, subtypes
Object classes, subtypes
Relationship classes
can beinside oroutside
offeature
datasets
Elements of a Geodatabase
ArcGIS Geodatabase
GeodatabaseFeature DatasetFeature Class
Geometric Network
Object ClassRelationship
Workspace
Feature data set
Feature class
Relationship class
Geometric network
Annotation class
Object class
Elements of a Geodatabase
WorkspaceWorkspace
Geodatabase Data Model
FeaturesFeatures are objects with spatial and non-spatial attributes.Spatial attributes are represented using ‘vector’geometry.
RastersDiscrete cells with thematic attributes
SurfacesContinuous spatially varying properties Represented as tins or lattices
Objects and Object Classes
Objects: Entities with properties and behavior.An object is an instance of an object class.All objects in an object class have the same properties and behavior.An object can be related to other objects via relationships.
A row stores an Object
NameOID Address . . .518 Bob 38 Oak St.
OWNER
A table stores an ObjectClass
Object Class
An object class is a collection of objects in tabular format that have the same behavior and the same attributes.
An object class is a table that has a unique identifier (ObjectID)for each record
Features and Feature Classes
A feature is a spatial object.A feature is an instance of a feature class.Features have location.
A spatial attribute of type geometry
Features can participate in network and topological relationships.
Feature (row)
ShapeOID524 X,Y,Z,M, ...
PARCELTypePrivate
. . .
. . .
FeatureClass (table)
Feature Class
A feature classis a collection of geographic objects in tabular formatthat have the same behavior and the same attributes.
Feature Class = Object class + spatial coordinates
Feature Data Sets
A container for feature classes with the same spatial referenceAnalogous to a coverage
Less restrictiveCan also contain relationship classes and geometric networks
Object Behavior
End user canInstantiate classes with predefined behaviorControl the default value and acceptable values for any attribute in a classPartition the objects in a class into like groups (subtypes)Control default and acceptable values by subtypeControl the general and network relationships in which an object can participate
Configurable, no programming required
Object Behavior
Developers can use COM to develop custom objects based on ESRI objects.• Custom drawing• Custom inspection• Custom validation• Domain-specific methods• Custom message responses• Examples:
– ESRI annotation feature class– “XYZ switchgear”
Validation Rules
Store attribute, connectivity, and spatial rules on objects as part of the geodatabasePredefined, parameter driven
Attribute range ruleAttribute set ruleConnectivity rule
Perform custom validation by writing code
Feature datasets
Validation Rules
Editor provides tools to test object validity.Rules are evaluated during object editing.
Create a new selection showing all invalid objects within a specified areaRestrict the current selection to invalid objects only
DomainsDescribe the legal values of a field type.
Used to ensure attribute integrity
Can be shared among classes.Types of domains.
Range* A tree can have a height between 0 and 300 feet* A road can have between one and eight lanesCoded value (e.g., a set)* A tree can be of type oak, redwood, or palm* A road can be made of dirt, asphalt, or concrete
fid geom subtype width lanes name
103 asphalt 75.9 4 Calle Petra
101 asphalt 85.3 4 Chimayo Highway102 concrete 45.1 2 Acequia de Isabel
104 gravel 35.2 2 Maximilian Road
Subtypes
Partition the objects in an object class into like groups.Defined by the value of a subtype field.All subtypes
Have the same attribute schemaHave the same behavior schemaCan have different default values and domains for each field
A relationship class is an association between two object classes.An object class may participate in multiple relationship classes.Related objects can message each other.
Origin to destination, destination to origin, both, neither.Can trigger behavior (cascade delete, move to follow, custom, etc.)
Relationship Classes
Simple (peer-to-peer)Objects exist independent of each other.
CompositeDestination objects cannot exist without origin objects.Destination features move with origin features.
Relationship Classes
Inside or outside a feature data setProperties
Origin and destination classesSimple or compositeCardinality (1:1, 1:M, M:N)AttributesPrimary and foreign keys
Relationship Classes
What types of objects from the origin can be related to the destination (with cardinalities)Property of the relationship class
Relationship Rules
Check each subtype that
can be related
Specify valid cardinality ranges
Relationship
A relationship is an association or link between two objects in a database.A relationship can exist between spatial objects (features in feature classes), non-spatial objects (objects in object classes), or between spatial and non-spatial objects.
Relationship
Relationship between non-spatial objects
Water QualityData
Water Quality Parameters
Relationship classes
Relationship
Relationship between spatial and non-spatial objects
Water quality data(non-spatial)
Measurement station(spatial)
Relationship
Relationship between spatial objects
Rivers that lie withinCalifornia
Two spatial objects: rivers and California
Using relationship classes
Geodatabase and Feature Dataset
A geodatabase is a relational database that
stores geographic information.
A feature dataset is a collection of feature
classes that share the same spatial reference frame.
feature class annotation feature classcomposite
relationship class
Topanga Canyon
Sacramento
Placerville
94 Sacramento
95 Topanga Canyon
92 Placerville41434749
929495
414347
212327
An example of a graphic feature class.Annotation feature classes may be
Feature-linkedNonfeature-linked
Composite relationship manages link.Can store text as well as other graphics.
Lines, arrows, boxes, etc.
Annotation
Used to model network systems.Topological relationship between feature classes.Each feature class has a topological role in the network (i.e., junction or edge).A network may have multiple feature classes in the same topological role.Topology based on geometric coincidence, always live.Feature classes must be in the same feature data set.
Geometric Networks
Network features live in a geometric networkDirectly support network analysisTypes:
Simple junctionSimple edgeComplex junctionComplex edge
Integrity constraintEdge must have a junction at each endpoint
Edge Junction2..**
Network Features
A geometric network is associated with a logical network.Each network feature is associated with one or more elements in the logical network.Trace solvers on the logical network provide
Connectivity tracingCycle detectionEstablishment of flow directionsUpstream and downstream tracingIsolation tracingTrouble call tracing
Network Model
Help you maintain a valid networkConstrain permissible connectivity
Default GN behavior allows any edge to connect to any junction.
Connectivity rules includeEdge-junction rules* Cardinality* Default junction typeEdge-edge rules* Permissible junction types* Default junction type
Connectivity Rules
Properties of a geometric network
Click the connectable
edge and junction
types
Edge-junction rules specify valid cardinality range
Edge-edge rules specify valid junction types and default junction type
Connectivity Rules
Default junction for free end of new edge features
Hydrant water lateral is automatically capped with a fire hydrant junction.Property of an edge-junction rule.
Connectivity Rule
True dynamic segmentation (DynSeg)Display table or route events as layer in map.Interactively find a location along a route.
Event tables can be INFO, DBASE, Geodatabase, or OLE DBRoute data can be coverage route system, PolyLineMshapefile, or PolyLineM feature class
Route A
Route C
Route B
Route D
Route E
Dynamic Segmentation
Dynamic segmentation ArcObjects:RouteLocator: Intelligent object that knows how to find positions along routes (i.e., events)RouteEventSource: A feature class whose features are created by a dynamic segmentation process that matches rows in an event table to against a RouteLocator.
A RouteEventSource can be the source of a layer in ArcMap.
Dynamic Segmentation
Topology
Feature classes in an integrated feature data set participate in a planar topology.Features share boundaries.Editor tools allow you to edit and maintain shared boundaries.
Use the Integrate command to ensure coincident boundaries.Use shared edge edit tool to edit shared boundaries and maintain topological relationships.
Topology
Topology
No safeguards against the features in a planar topology being edited to break the topological relationships.All simple feature classes in a integrated feature data set are assumed to participate in the topology.
Designing and Building Geodatabases
Levels of Database Design
Import coverages and shapefiles, and/or
Use ArcCatalog to refine and extend existing classes and to define new classes,
orUse CASE and UML for a ground-up redesign of large system.
Data Importing/Loading Tools
ArcCatalog and ArcToolbox-basedWizards and tools to import shapefiles and coveragesSimple data loadersBuild geometric network wizard
ArcMap/Editor-basedObject loaders
Data Conversion
Coverage to geodatabase wizardCreates a feature data set with one feature class for each coverage feature class
Shapefile to geodatabase wizardCreates a feature class within a new or existing feature data set
GDB Import/Export
Copy/Paste data between geodatabasesDomainsRelationship classes and related object classesNetwork topology
Maintains object identitySubtypes and default valuesValidation rulesFeature-linked annotation
UML/CASE Tools Approach
Use UML to define your model based on the generic geodatabase model.Use a CASE tool to capture your model.
For example, Visio 2000UML requirements are very modest.
Learnable in an afternoon using tutorialNo need to buy books or UML training
UML/CASE Tools Approach
Begin with the geodatabase object model.Specify all domain-specific object and relationship classes in UML.For each class, specify
PropertiesMethodsSubtypes
Specify relationship and connectivity rules.
UML/CASE Tools Approach
Use the Schema Generation wizard to generate the database classes.Use the Code Generation wizard to generate stubs for COM behavior classes (optional).
ObjectPropertiesDatabase Schema
Object Behavior
ComponentDevelopment
CASETool
ModelAnalysis
and Design
CASE Tools
SecondaryCircuitPrimaryCircuit
Building
Feature
CircuitXformerMeter
SimpleEdgeSimpleJunction
NetworkFeature
JunctionFeature EdgeFeature
Object
Tennant Object Class
Feature Class
Feature Class and Geometric Network
ESRI Feature
User Feature
Example UML Model
CASE Tools
Support for feature data setsModeled as UML packages
Support for stand alone feature classesSupport for multiple geometric networks
Modeled as UML classes
Semantics checker
Schema Wizard
Start wizard from within ArcCatalog.Connect to the repository.Select the object model.Select object classes.Define additional properties for each feature class (for example, grid size).Generate schema.* May be reapplied
Long Transactions and Versioning
Classic DBMSShort transactions
Spatial DBMS Long transactionsMultiversioned
Short transactionscash machinetransactions
stock market exchange
updating personnelrecords
accessauthorization
hospital records
time measured in seconds
Long transactions
time measured in hours, days, or months
engineering analysis
construction designscenarios
demographic projections marketing studies
environmental restoration
Transaction Models
Existing Transaction Models
Coverages/ShapefilesSingle user access while being modified.
LibrarianLock and extract tiles for local workspace editing.
ArcStormDefine a selection set to lock and extract for local workspace editing (feature level locking).
Versioning
Versioning provides the functionality to create persistent alternative representations of the database for executing short or long transactions.
Without data extraction or duplication.
Versioning Benefits
Simplifies the editing experience- No locking (ArcStorm/Librarian)- No check outA centralized, seamless databaseNo data extraction or duplicationShared server/client processing
Versions
Always have a DEFAULT or root versionAdditional versions can represent
Work ordersAlternative engineering designs Alternative land use plans
Default:Default:As BuiltAs BuiltUser 1User 1User 1
User 2User 2User 2
User 3User 3User 3
Version:Version:Plan 1Plan 1
User 4User 4User 4
User 5User 5User 5
Version:Version:Design 1Design 1
User 6User 6User 6
Version:Version:Design 2Design 2
Electric NetElectric Net
A Multiversioned Database
Geodatabase and Feature Dataset
Why geodatabases?
To establish and store relationships based on
tabular information.
Why feature datasets?
To establish and store relationships based on
geographic information.
Network
A network is a set of edges (lines) and junctions (points) that are topologically connected to each other.Each edge knows which junctions are at its endpointsEach junction knows which edges it connects to