Overview of the Geodatabase - CE Meeting- Mohawk College

Post on 12-Sep-2021

1 views 0 download

Transcript of Overview of the Geodatabase - CE Meeting- Mohawk College

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