670 likes | 831 Views
Object Modeling in ArcInfo 8. GIS in Water Resources Consortium February 23-25, 2000 Dale Honeycutt ESRI. Topics. Whirlwind overview of ArcInfo 8 GeoDatabase overview Data modeling and data model extensions Network. Brief Overview of ArcInfo 8. Arc. ArcEdit. Workstation. ArcPlot.
E N D
Object Modeling in ArcInfo 8 GIS in Water Resources Consortium February 23-25, 2000 Dale Honeycutt ESRI
Topics • Whirlwind overview of ArcInfo 8 • GeoDatabase overview • Data modeling and data model extensions • Network
Arc ArcEdit Workstation ArcPlot Arc Catalog Arc Map Desktop Arc Toolbox ArcInfo 8 Servers ArcStorm ArcSDE GIS Admin License Manager User Setup UNIX & Windows NT UNIX & Windows NT Windows NT
Suggested reading • Modeling our World • Building a Geodatabase
Arc Catalog Arc Map Arc Toolbox GeoObjects Arc SDE Personal SDE Files ArcInfo 8 Architecture
Arc Catalog Arc Map Arc Toolbox ArcInfo 8 Desktop Focus Spatial Data Management Editing, Analysis Map Development Arc/Info Tools
ArcCatalog • Browse data (Graphical or textual) • Manage data • Create Access databases • Define tables, add fields • Set object properties • validation rules • relationships • etc. • Set, view Metadata
Arc Map • Perform map-based tasks • Mapping • Editing • Queries • Analysis • Charting • Reporting
Coverage Shapefile Geodatabase Editing in Arc Map • Display andedit in thesameenvironment
ArcToolbox • GUI for ARC commands • Tools • Wizards • Import/export GeoDatabases • Arc server client
GeoDatabase • New format for storing spatial data • Think of it as a new kind of coverage • Features are seen as objects with behavior, stored in an RDBMS
Oracle, Informix, Sybase SQL Server MS Access The Geodatabase is Scaleable Large - high performance Needs SDE "Personal SDE" "Arc SDE"
Fire Hydrants Main Lines Valves Fittings Water Layers GIS data is organized into layers
Coverages • Each layer stored in a separate coverage • Coverages based on planar graph topology
Coverages –behavior • With coverages, behavior based on topology • Very powerful, but limiting… • An arc is both a river and a state boundary – they have the same behavior • But… move a powerpole (a point), the powerline (an arc) does not move • Behavior encapsulated in the application • I.e., AML, ODE • All users must use the same application
GeoDatabase • Layers are organized in a single file (Access) or enterprise database • Features in layers can have user-defined behavior • Majority of behavior provided – very little customization needed • No external application needed
Geodatabase organization Data Organized in a Single GeoDatabase Instance
GeoDatabase features are objects • Example: powerpole object with properties and behavior versus a point with some attributes • Users can define objects, their relationships, and their behavior with ArcCatalog and with CASE tools
= Identity + State + Behavior Basic Object Stuff Object
Must Have Object = Identity Identity + State + Behavior Identity Provides a way to distinguish an object from others Unique Name
Must Have May Have Object = Identity + State + State Behavior State All of information or data of an object at a given time Attributes
Must Have May Have May Have Object = Identity + State + Behavior Behavior Behavior All of the abilities of an object Describe the actions and reactions of the object Methods (Operations)
Must Have May Have May Have Object = Identity + State + Behavior Name Meter accountNumber accountType accountAddress serialNumber manfacture model size serialNumber Attributes isActive() computeUse() Methods Representing objects
Spatial Data Models • A spatial data model is a data structure with methods • Vector geometry, network graph, raster, TIN, planar graph • All spatial data models filter information on a map • The map is the penultimate data model
Spatial Data Models • GeoDatabase is a FRAMEWORK for exposing the vector data model and the network data model as extensible objects • Rasters and TINs are currently served “holistically” • Operations on the whole data structure (raster: “create drainage basins” as opposed to individual cells
Framework A framework is a set of cooperating classes that make up a reusable design for a specific class of software...
Framework… • When you use a toolkit (or conventional subroutine library), you write the main body of the application and call the code that you want to reuse. • When you use a framework, you reuse the main body and write the code it calls.
Framework… • You customize a framework by creating application specific sub-classes of abstract classes from the framework. • Not only can you build applications faster as a result, but the applications have similar structures. They are easier to maintain, and they seem more consistent to their users. • On the other hand, you lose some creative freedom, since many design decisions have been made for you.
GeoDatabase Framework Core Objects Data Modeling Behavior Object Classes Inheritance Attribute Domains Relationships Feature Classes Connectivity Rules Subtypes Network Feature Classes Merge/Split Rules
Core Objects -Object • Rows in a database • Have unique ID assigned by the Geodatabase • Non-spatial Object Classes Feature Classes Network Feature Classes
Core Objects -Object • Objects with geometry (shape) • Points, Lines, Polygons Object Classes Feature Classes Network Feature Classes
Core Objects - Network Object Classes • Provide network connectivity between feature classes • A “kind of” feature • Much more on networks later! Feature Classes Network Feature Classes Simple junctions Simple edges Complex junctions Complex edges
Data Modeling - Inheritance Inheritance • Objects and features can inherit behavior • A “reach” is a kind of “flow line” which is a kind of “network edge” Relationships Subtypes
Data Modeling - Inheritance Inheritance Relationships Subtypes
Data Modeling - Relationships Inheritance • Peer-to-peer • Composite • 1:1, 1:m, m:1, m:m Relationships Subtypes
Data Modeling - Relationships Inheritance Relationships Subtypes
Class1 Class1 Class2 Class2 Both directions Origin to destination Destination to origin Method1() in Class1 uses the relationship to Class2 to find and start method2() Class1 Class2 method1() method2() Data Modeling - Relationships • An association between objects • Related objects can message each other • Can trigger behavior (cascade delete, move to follow, custom…)
* 1..* Class1 Class2 Class1 Class2 Data Modeling - Relationships Association (peer to peer) Composite (lifetime control) Many to 1 or More • Objects exist independent of each other • An association (UML terminology) • Destination object can’t exist without origin features • Destination features move with origin features
Data Modeling - Subtypes Inheritance • Allows an attribute determine behavior of other attributes • Example: water transmission vs. distribution pipes have different allowable PSI and pipe diameters Relationships Subtypes
Behavior – Attribute Domains • Describe the legal values of a field type • Used to ensure attribute integrity • Can be shared among object and feature classes • Types of domains • Range • Coded value Attribute Domains Connectivity Rules Merge/Split Rules
Behavior – Connectivity Rules Attribute Domains Connectivity Rules Merge/Split Rules
Behavior - Connectivity Rules • Help you maintain a valid network • Connectivity rules include: • Edge-junction rules • cardinality • Edge-edge rules • permissible junction types • default junction type Attribute Domains Connectivity Rules Merge/Split Rules
Behavior – Connectivity Rules JunctionST1 Conn Rule EdgeST1 EdgeST2 Default JunctionST3 JunctionST3 EdgeST1 ConnRule • Edge connectivity rules • n-ary association • Junction connectivity rules
Behavior - Merge/Split Rules Attribute Domains Connectivity Rules Merge/Split Rules
Behavior -Validation • Attribute domains and Connectivity rules are used to validate features during data entry and editing.
Metadata • Everything in a GeoDatabase can have Metadata • Stored as XML, viewed and edited in ArcCatalog • Easily extensible
3rd Party CASE Tool UML Object Model Building Data Modeling Mechanics LandBase.DLL Code Generation MS Repository GeoDatabase Building FClass Schema Creation