Object Modeling in ArcInfo 8 GIS in Water Resources Consortium February 23-25, 2000 Dale Honeycutt...
-
Upload
toby-whitehead -
Category
Documents
-
view
219 -
download
5
Transcript of Object Modeling in ArcInfo 8 GIS in Water Resources Consortium February 23-25, 2000 Dale Honeycutt...
Object Modeling in Object Modeling in ArcInfo 8ArcInfo 8
Object Modeling in Object Modeling in ArcInfo 8ArcInfo 8
GIS in Water Resources GIS in Water Resources ConsortiumConsortium
February 23-25, 2000February 23-25, 2000
Dale HoneycuttDale Honeycutt
ESRIESRI
TopicsTopicsTopicsTopics
• Whirlwind overview of ArcInfo 8Whirlwind overview of ArcInfo 8
• GeoDatabase overviewGeoDatabase overview
• Data modeling and data model Data modeling and data model extensionsextensions
• NetworkNetwork
Brief Overview of Brief Overview of ArcInfo 8ArcInfo 8
Brief Overview of Brief Overview of ArcInfo 8ArcInfo 8
Des
kto
pD
eskt
op
Wo
rkst
atio
nW
ork
stat
ion
ArcInfo 8ArcInfo 8ArcInfo 8ArcInfo 8
Arc
ArcEdit
ArcPlot
Arc Catalog
Arc Map
Arc Toolbox
ServersServersArcStormArcStormArcSDEArcSDE
GIS AdminGIS AdminLicense ManagerLicense Manager
User SetupUser Setup
UN
IX &
Win
dow
s N
TW
ind
ows
NT
UNIX &Windows NT
Suggested readingSuggested readingSuggested readingSuggested reading
• Modeling our WorldModeling our World
• Building a GeodatabaseBuilding a Geodatabase
ArcInfo 8 ArchitectureArcInfo 8 ArchitectureArcInfo 8 ArchitectureArcInfo 8 Architecture
Arc CatalogArc Catalog Arc MapArc Map Arc ToolboxArc Toolbox
FilesFiles PersonalPersonalSDESDE
GeoObjectsGeoObjects
Arc SDEArc SDE
ArcInfo 8 Desktop FocusArcInfo 8 Desktop FocusArcInfo 8 Desktop FocusArcInfo 8 Desktop Focus
Arc CatalogArc Catalog Arc MapArc Map Arc ToolboxArc Toolbox
Arc/InfoArc/InfoToolsTools
Editing, AnalysisEditing, AnalysisMap DevelopmentMap Development
Spatial DataSpatial DataManagementManagement
• Browse data (Graphical or Browse data (Graphical or textual)textual)
ArcCatalogArcCatalogArcCatalogArcCatalog
• Manage dataManage data• Create Access databasesCreate Access databases• Define tables, add fieldsDefine tables, add fields
• Set object propertiesSet object properties• validation rulesvalidation rules• relationshipsrelationships• etc.etc.
• Set, view MetadataSet, view Metadata
Arc MapArc MapArc MapArc Map
• Perform map-based tasksPerform map-based tasks• MappingMapping• EditingEditing• QueriesQueries• AnalysisAnalysis• ChartingCharting• ReportingReporting
Editing in Arc MapEditing in Arc MapEditing in Arc MapEditing in Arc Map
• Display andDisplay andedit in theedit in thesamesameenvironmentenvironment
CoverageGeodatabase Shapefile
ArcToolboxArcToolboxArcToolboxArcToolbox
• GUI for ARC commandsGUI for ARC commands• ToolsTools• WizardsWizards
• Import/export Import/export GeoDatabasesGeoDatabases
• Arc server clientArc server client
GeoDatabase OverviewGeoDatabase OverviewGeoDatabase OverviewGeoDatabase Overview
GeoDatabaseGeoDatabaseGeoDatabaseGeoDatabase
• New format for storing spatial New format for storing spatial datadata
• Think of it as a new kind of Think of it as a new kind of coveragecoverage
• Features are seen as objects Features are seen as objects with behavior, stored in an with behavior, stored in an RDBMSRDBMS
MSAccess
Large - high performanceNeeds SDE
The Geodatabase is The Geodatabase is ScaleableScaleable
The Geodatabase is The Geodatabase is ScaleableScaleable
Oracle,Informix,Sybase
SQL Server
Fittings
Valves
Main Lines
Fire Hydrants
Water Layers
GIS data is organized GIS data is organized into layersinto layers
GIS data is organized GIS data is organized into layersinto layers
CoveragesCoveragesCoveragesCoverages
• Each layer stored in a separate Each layer stored in a separate coveragecoverage
• Coverages based on planar Coverages based on planar graph topologygraph topology
Coverages –behaviorCoverages –behaviorCoverages –behaviorCoverages –behavior
• With coverages, behavior based on With coverages, behavior based on topologytopology• Very powerful, but limiting…Very powerful, but limiting…
• An arc is both a river and a state boundary – An arc is both a river and a state boundary – they have the same behaviorthey have the same behavior
• But… move a powerpole (a point), the But… move a powerpole (a point), the powerline (an arc) does not movepowerline (an arc) does not move
• Behavior encapsulated in the Behavior encapsulated in the application application • I.e., AML, ODEI.e., AML, ODE• All users must use the same applicationAll users must use the same application
GeoDatabaseGeoDatabaseGeoDatabaseGeoDatabase
• Layers are organized in a single Layers are organized in a single file (Access) or enterprise file (Access) or enterprise databasedatabase
• Features in layers can have user-Features in layers can have user-defined behaviordefined behavior• Majority of behavior provided – Majority of behavior provided –
very little customization neededvery little customization needed
• No external application neededNo external application needed
Data Organized in a
Single GeoDatabase
Instance
Geodatabase organizationGeodatabase organizationGeodatabase organizationGeodatabase organization
GeoDatabase features GeoDatabase features are objectsare objects
GeoDatabase features GeoDatabase features are objectsare objects
• Example: powerpole object with Example: powerpole object with properties and behavior versus a properties and behavior versus a point with some attributespoint with some attributes
• Users can define objects, their Users can define objects, their relationships, and their behavior relationships, and their behavior with ArcCatalog and with CASE with ArcCatalog and with CASE toolstools
ObjectObject == IdentityIdentity StateState++ BehaviorBehavior++
Basic Object StuffBasic Object StuffBasic Object StuffBasic Object Stuff
IdentityIdentityObjectObject == StateState BehaviorBehavior++ ++
Must Have
Provides a way to Provides a way to distinguish an object distinguish an object
from othersfrom others
IdentityIdentity
Unique Name
IdentityIdentityIdentityIdentity
ObjectObject == IdentityIdentity StateState BehaviorBehavior++ ++
Must HaveMust Have May HaveMay Have
All of information or All of information or data of an object at a data of an object at a
given timegiven time
AttributesAttributes
StateState
StateStateStateState
ObjectObject == IdentityIdentity StateState BehaviorBehavior++ ++
All of the abilities of an All of the abilities of an objectobject
Describe the actions and Describe the actions and reactions of the objectreactions of the object
Behavior
Must HaveMust Have May HaveMay Have May HaveMay Have
Methods Methods (Operations) (Operations)
BehaviorBehaviorBehaviorBehavior
Representing objectsRepresenting objectsRepresenting objectsRepresenting objects
ObjectObject == IdentityIdentity StateState++ BehaviorBehavior++
MeterMeter NameNameaccountNumberaccountNumberaccountTypeaccountTypeaccountAddressaccountAddressserialNumberserialNumbermanfacturemanfacturemodelmodelsizesizeserialNumberserialNumber
AttributesAttributes
isActive()isActive()computeUse()computeUse() MethodsMethods
Must HaveMust Have May HaveMay Have May HaveMay Have
Spatial Data ModelsSpatial Data ModelsSpatial Data ModelsSpatial Data Models
• A A spatial data modelspatial data model is a data is a data structure with methodsstructure with methods• Vector geometry, network graph, Vector geometry, network graph,
raster, TIN, planar graphraster, TIN, planar graph
• All spatial data models filter All spatial data models filter information on a mapinformation on a map
• The map is the penultimate data The map is the penultimate data modelmodel
Spatial Data ModelsSpatial Data ModelsSpatial Data ModelsSpatial Data Models
• GeoDatabase is a FRAMEWORK for GeoDatabase is a FRAMEWORK for exposing the vector data model and exposing the vector data model and the network data model as extensible the network data model as extensible objectsobjects
• Rasters and TINs are currently Rasters and TINs are currently served “holistically”served “holistically”• Operations on the whole data structure Operations on the whole data structure
(raster: “create drainage basins” as (raster: “create drainage basins” as opposed to individual cellsopposed to individual cells
FrameworkFrameworkFrameworkFramework
A framework is a set of A framework is a set of cooperating classes that make cooperating classes that make up a reusable design for a up a reusable design for a specific class of software... specific class of software...
Framework…Framework…Framework…Framework…
• When you use a toolkit (or When you use a toolkit (or conventional subroutine library), you conventional subroutine library), you write the main body of the write the main body of the application and call the code that you application and call the code that you want to reuse. want to reuse.
• When you use a framework, you When you use a framework, you reuse the main body and write the reuse the main body and write the code it calls. code it calls.
Framework…Framework…Framework…Framework…
• You customize a framework by creating You customize a framework by creating application specific sub-classes of abstract application specific sub-classes of abstract classes from the framework.classes from the framework.
• Not only can you build applications faster as Not only can you build applications faster as a result, but the applications have similar a result, but the applications have similar structures. They are easier to maintain, and structures. They are easier to maintain, and they seem more consistent to their users. they seem more consistent to their users.
• On the other hand, you lose some creative On the other hand, you lose some creative freedom, since many design decisions have freedom, since many design decisions have been made for you.been made for you.
GeoDatabase FrameworkGeoDatabase FrameworkGeoDatabase FrameworkGeoDatabase Framework
Object ClassesObject ClassesObject ClassesObject Classes
Feature ClassesFeature ClassesFeature ClassesFeature Classes
Network Feature Network Feature ClassesClasses
Network Feature Network Feature ClassesClasses
RelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
Attribute Attribute DomainsDomainsAttribute Attribute DomainsDomains
Connectivity Connectivity RulesRules
Connectivity Connectivity RulesRules
Core Core
ObjectsObjects
Core Core
ObjectsObjects BehaviorBehaviorBehaviorBehavior
InheritanceInheritanceInheritanceInheritance
Data Data
ModelingModeling
Data Data
ModelingModeling
Merge/Split Merge/Split RulesRules
Merge/Split Merge/Split RulesRules
Core Objects -ObjectCore Objects -ObjectCore Objects -ObjectCore Objects -Object
• Rows in a databaseRows in a database• Have unique ID Have unique ID
assigned by the assigned by the GeodatabaseGeodatabase
• Non-spatialNon-spatial
Object ClassesObject ClassesObject ClassesObject Classes
Feature ClassesFeature ClassesFeature ClassesFeature Classes
Network Feature Network Feature ClassesClasses
Network Feature Network Feature ClassesClasses
Core Objects -ObjectCore Objects -ObjectCore Objects -ObjectCore Objects -Object
• Objects with Objects with geometry (shape)geometry (shape)
• Points, Lines, Points, Lines, PolygonsPolygons
Object ClassesObject ClassesObject ClassesObject Classes
Feature ClassesFeature ClassesFeature ClassesFeature Classes
Network Feature Network Feature ClassesClasses
Network Feature Network Feature ClassesClasses
Core Objects - NetworkCore Objects - NetworkCore Objects - NetworkCore Objects - Network
• Provide network Provide network connectivity between connectivity between feature classesfeature classes
• A “kind of” featureA “kind of” feature
• Much more on Much more on networks later!networks later!
Object ClassesObject ClassesObject ClassesObject Classes
Feature ClassesFeature ClassesFeature ClassesFeature Classes
Network Feature Network Feature ClassesClasses
Network Feature Network Feature ClassesClasses
Simple junctionsSimple junctions
Simple edgesSimple edges
Complex junctionsComplex junctions
Complex edgesComplex edges
Data Modeling - Data Modeling - InheritanceInheritance
Data Modeling - Data Modeling - InheritanceInheritance
• Objects and Objects and features can inherit features can inherit behaviorbehavior• A “reach” is a kind A “reach” is a kind
of “flow line” which of “flow line” which is a kind of “network is a kind of “network edge”edge”
RelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
InheritanceInheritanceInheritanceInheritance
Data Modeling - Data Modeling - InheritanceInheritance
Data Modeling - Data Modeling - InheritanceInheritance
RelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
InheritanceInheritanceInheritanceInheritance ESRIClasses:: ComplexEdgeFeature
-Com_id : esriFieldTypeInteger-Rch_code : esriFieldTypeInteger-Rch_date : esriFieldTypeString-Level : esriFieldTypeInteger-Meters : esriFieldTypeDouble-Gnis_id : esriFieldTypeString-Name : esriFieldTypeString-Wshd_code :esriFieldTypeInteger
Reach
-ArcHydroID : esriFieldTypeInteger-Wshed_ID : esriFieldTypeInteger-Wbody_ID : esriFieldTypeInteger
FlowLine
Data Modeling - Data Modeling - RelationshipsRelationships
Data Modeling - Data Modeling - RelationshipsRelationships
• Peer-to-peerPeer-to-peer
• CompositeComposite
• 1:1, 1:m, m:1, m:m1:1, 1:m, m:1, m:mRelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
InheritanceInheritanceInheritanceInheritance
Data Modeling - Data Modeling - RelationshipsRelationships
Data Modeling - Data Modeling - RelationshipsRelationships
+OBJECTID : esriFieldTypeOID
ESRI Classes::Object
+Shape : esriFieldTypeGeometry
ESRI Classes::Feature
-ParcelValue : esriFieldTypeInteger-CombinedBuildingValue : esriFieldTypeInteger
Parcel-Stories : esriFieldTypeInteger-Height : esriFieldTypeInteger-BuildingValue : esriFieldTypeInteger-ParcelID : esriFieldTypeInteger
Building
Contains
RelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
InheritanceInheritanceInheritanceInheritance
Data Modeling - Data Modeling - RelationshipsRelationships
Data Modeling - Data Modeling - RelationshipsRelationships
• An association between objectsAn association between objects
• Can trigger behavior (cascade delete, Can trigger behavior (cascade delete, move to follow, custom…)move to follow, custom…)
Class1 Class2
• Related objects can message each otherRelated objects can message each other
Class1 Class2
Origin to destination
Destination to origin
Both directions
Class1
method1()
Class2
method2()
Method1() in Class1 uses the relationship to Class2 to find and start method2()
Data Modeling - Data Modeling - RelationshipsRelationships
Data Modeling - Data Modeling - RelationshipsRelationships
CompositeComposite(lifetime control)(lifetime control)
Class1 Class2
AssociationAssociation(peer to peer)(peer to peer)
1..*1..***Class1 Class2
Many to 1 or MoreMany to 1 or More
• Objects exist independent Objects exist independent of each otherof each other
• An association (UML An association (UML terminology)terminology)
• Destination object can’t Destination object can’t exist without origin featuresexist without origin features
• Destination features move Destination features move with origin featureswith origin features
Data Modeling - Data Modeling - SubtypesSubtypes
Data Modeling - Data Modeling - SubtypesSubtypes
• Allows an attribute Allows an attribute determine behavior determine behavior of other attributesof other attributes
• Example: water Example: water transmission vs. transmission vs. distribution pipes distribution pipes have different have different allowable PSI and allowable PSI and pipe diameterspipe diameters
RelationshipsRelationshipsRelationshipsRelationships
SubtypesSubtypesSubtypesSubtypes
InheritanceInheritanceInheritanceInheritance
Behavior – Attribute Behavior – Attribute DomainsDomains
Behavior – Attribute Behavior – Attribute DomainsDomains
• Describe the legal Describe the legal values of a field typevalues of a field type
• Used to ensure attribute Used to ensure attribute
integrityintegrity
• Can be shared among Can be shared among object and feature object and feature classesclasses
• Types of domainsTypes of domains• RangeRange• Coded valueCoded value
Attribute Attribute DomainsDomainsAttribute Attribute DomainsDomains
Connectivity Connectivity RulesRules
Connectivity Connectivity RulesRules
Merge/Split Merge/Split RulesRules
Merge/Split Merge/Split RulesRules
Behavior – Connectivity Behavior – Connectivity RulesRules
Behavior – Connectivity Behavior – Connectivity RulesRules
+FieldType : <unspecified> = esriFieldTypeInteger+MergePolicy : <unspecified> = esriMPTDefaultValue+SplitPolicy : <unspecified> = esriSPTDefaultValue+Code1 : <unspecified> = 1+Code2 : <unspecified> = 2+Code3 : <unspecified> = 3
«CodedValueDomain»TemplateCodedValueDomain
+FieldType : <unspecified> = esriFieldTypeInteger+MergePolicy : <unspecified> = esriMPTDefaultValue+SplitPolicy : <unspecified> = esriSPTDefaultValue+MinValue : <unspecified> = 1+MaxValue : <unspecified> = 100
«RangeDomain»TemplateRangeDomain
Attribute Attribute DomainsDomainsAttribute Attribute DomainsDomains
Connectivity Connectivity RulesRules
Connectivity Connectivity RulesRules
Merge/Split Merge/Split RulesRules
Merge/Split Merge/Split RulesRules
Behavior - Connectivity Behavior - Connectivity RulesRules
Behavior - Connectivity Behavior - Connectivity RulesRules
• Help you maintain a Help you maintain a valid networkvalid network
• Connectivity rules Connectivity rules include:include:• Edge-junction rulesEdge-junction rules
• cardinalitycardinality
• Edge-edge rulesEdge-edge rules• permissible junction permissible junction
typestypes• default junction typedefault junction type
Attribute Attribute DomainsDomainsAttribute Attribute DomainsDomains
Connectivity Connectivity RulesRules
Connectivity Connectivity RulesRules
Merge/Split Merge/Split RulesRules
Merge/Split Merge/Split RulesRules
ConnRule
Behavior – Connectivity Behavior – Connectivity RulesRules
Behavior – Connectivity Behavior – Connectivity RulesRules
• Edge connectivity rulesEdge connectivity rules• n-ary associationn-ary association
• Junction connectivity rulesJunction connectivity rules
EdgeST1 EdgeST2
JunctionST3
JunctionST3 EdgeST1ConnRule
JunctionST1
Default
Behavior - Merge/Split Behavior - Merge/Split RulesRules
Behavior - Merge/Split Behavior - Merge/Split RulesRules
Attribute Attribute DomainsDomainsAttribute Attribute DomainsDomains
Connectivity Connectivity RulesRules
Connectivity Connectivity RulesRules
Merge/Split Merge/Split RulesRules
Merge/Split Merge/Split RulesRules
Behavior -ValidationBehavior -ValidationBehavior -ValidationBehavior -Validation
• Attribute domains and Attribute domains and Connectivity rules are used to Connectivity rules are used to validate features during data validate features during data entry and editing.entry and editing.
MetadataMetadataMetadataMetadata
• Everything in a GeoDatabase can Everything in a GeoDatabase can have Metadatahave Metadata
• Stored as XML, viewed and Stored as XML, viewed and edited in ArcCatalogedited in ArcCatalog
• Easily extensibleEasily extensible
Data ModelingData ModelingData ModelingData Modeling
Data Modeling MechanicsData Modeling MechanicsData Modeling MechanicsData Modeling Mechanics
Code Generation
Code Generation
MSRepository
SchemaCreationSchemaCreation
3rd Party CASE Tool
UML Object Model
Building
LandBase.DLL
GeoDatabase
Building FClass
ChemicalInjectorAerator Motor
AveragePowerUsagePeakPowerUsagePhasesRatedPowerRPMVariableSpeedVoltage
Object
*
Valve
DiameterJointType
SamplingStationInterconnectPoint Hydrant
StationIDProviderRecipientSource
Meter
DiameterFlowRangeMeasurementDate
ScadaSensor
CurrentValueIDMeasurementType
LineProtector
Casing Anode
*
IndividualTrayAreaRiserCountTotalTrayAreaTrayCount
SluiceGate
CurrentElevationHeightNormalElevationWidth
ChemicalType
MeasurementTypes are Amperage,ChlorineResidual,ChlorineTankWeight, Depth,DischargePressure, Elevation, Flow,Pressure, SuctionPressure,TankLevel, Temperature, Turbidity,Velocity, Voltage, and WellLevel.
UndergroundEnclosure
CoverMaterialCoverTypeDepthFrameMaterialFrameTypeInvertElevationMeasurement[2]
1..* 1..*
SurgeReliefTank
PressureSettingCapacity
Types include Anchor,Blocking, Deadman, andKicker.
StandByPower
PhasesVoltageAmperage
Types are Casement,ConduitBridge,ProtectiveTunnel,AccessTunnel.
DiameterMaterialRecordedLength
ThrustProtection
AirGap
GapMeasureOutletDiameter
WarehouseEquipment
WarehouseHydrant
BarrelDiameterMainValveTypeNozzelDiameter[4]OutletConfigurationSeatDiameter
WarehouseMeter
FlowRangeDiameter
WarehouseValve
Diameter
WarehouseSystemValve
BypassValveClockwiseToCloseMotorizedTurnsToClose
Types include Ball, Butterfly,Cone, Gate, and Plug.RegulationTypes are Flowand Pressure.
WarehouseControlValve
Types are Air, AirRelease,Combination, Vacuum, andVacuumRelease.
BarrelDiameterMainValveTypeNozzelDiameter[4]OutletConfigurationSeatDiameter
WarehouseHydrant
0..1
SystemValve
BypassValveClockwiseToCloseCurrentlyOpenMotorizedNormallyOpenPercentOpenPressureSettingRegulationTypeTurnsToClose
ControlValve
WarehouseSystemValve
0..1
WarehouseControlValve
0..1
LateralPoint
AccountIDCriticalCustomerDiameterLocationDescriptionMaterial
AnalysisPoint
RecordIDRecordedValueType
Fitting
JoiningMethodMaterialSize[4]
Types include Bend, Cap,Cross, Coupling,ExpansionJoint, Offset,Reducer, Riser, Saddle,Sleeve, Tap, Tee, Weld,and Wye.
SpatialOperationsRecord
DateID
OperationsRecord
DateIDLocationDescriptionType
WarehouseIDWarehouseStatusWarrantyDate
ClearWell
CapacityDepthOperatingRangeStationIDWidth[2]
WarehouseMeter
0..1
Types include Leak,Maintenance, Repair,and Inspection.
CountMaterialWeight
ArcFMFacility
SimpleJunctionFeature
AdministrativeAreaFacilityIDInstallDateLocationDetailOperationalAreaRotationStatusTypeWorkorderID
ArcFMFeature
Feature
WaterFeature
ElevationLocationDescriptionWaterType
AdministrativeAreaFacilityIDInstallDateOperationalAreaStatusTypeWorkorderID
NetworkStructure
NameOperationalDateReferenceIDSourceUsage
WaterFacility
ElevationWaterType
ArcFMEquipment
EquipmentIDInstallDateManufacturerModelSerialNumberStatusType
Types areAirControl,Altitude, andBackflowControl
Manhole
AccessTypeGroundTypeHighPipeElevationInteriorDropInvertElevationAccessDiameterRimElevationWallMaterial
Types areEnclosedStorageFacility,ProductionWell, PumpStation,StorageBasin, TreatmentPlant.
MainLine
PressurizedMain GravityMain
BarrelCountCrossSectionShapeDownstreamInvertMeasurement[2]NominalSizeSlopeUpstreamInvert
DepthDiameterGroundSurfaceTypePressureRating
LateralLine
LocationDescriptionSize
0..1
ExteriorCoatingJointType[2]LiningTypePipeClassRoughness
Types include BlowOff, Bypass,AirRelease, ChemicalInjection,DistributionMain, Interconnect,PipeBridge, SamplingStation,and TransmissionMain.
Types include: Domestic,Fire, Combination,Commercial, Irrigation,IndustrialServices, andHydrant laterals.
WaterTypes areCombinedWastewater,PotableWater, RawWater,ReclaimedWater, SaltWater,Sewage, StormRunoff, andWastewaterEffluent.
Types are Carrier,InlineStorage, andTransportPipe.
AdministrativeAreaFacilityIDInstallDateMaterialOperationalAreaStatusTypeWorkorderID
ComplexEdgeFeature
ArcFMLine
FlowMeasurementIDWaterType
WaterLine
Types are MeterBox,ValveVault, and Vault.
WaterStructure
OperationalDateStatus
Water DistributionObject Model
Analysis Model
ArcFM Water 8ESRI Confidential
8.0.1 Release
NOTE: Most relationships will be specified in thedetailed-design UML model. Accessors and mutatorsare implicit in the design.
Color Key
Lines
Facilities and Structures
Equipment
Features
Pump
InletSizeDischargeSizeType
Types include AxialFlow,Centrifugal, Jet, Reciprocating,Rotary, Screw, and Turbine.
WHPump
0..1
Types include AxialFlow,Centrifugal, Jet,
Reciprocating, Rotary,Screw, and Turbine.
WarehousePump
InletSizeDischargeSizeRatedFlowRatedPressureTotalDynamicHeadType
Types areEnclosedStorageFacility,ProductionWell, PumpStation,StorageBasin, TreatmentPlant.
Example UML Example UML ModelModel
Example UML Example UML ModelModel
Data ModelingData ModelingData ModelingData Modeling
• Time spent data modeling is very Time spent data modeling is very beneficial in the long runbeneficial in the long run
• Use ArcCatalog for tactical control of Use ArcCatalog for tactical control of simpler systemssimpler systems
• Use CASE (UML and schema wizard) Use CASE (UML and schema wizard) for modeling complex systemsfor modeling complex systems
• Both tools will simplify your lifeBoth tools will simplify your life
Data Model ExtensionData Model ExtensionData Model ExtensionData Model Extension
• A documented data model (Visio A documented data model (Visio UML) for a domain (water UML) for a domain (water resources)resources)
• A book explaining the modelA book explaining the model
• A data dictionary for salient A data dictionary for salient propertiesproperties
Data Model ExtensionData Model ExtensionData Model ExtensionData Model Extension
• Ideally created and supported by Ideally created and supported by a group of stakeholdersa group of stakeholders• Such as this groupSuch as this group
A Data Model Extension A Data Model Extension is NOTis NOT
A Data Model Extension A Data Model Extension is NOTis NOT
• An applicationAn application• It plugs into the Geodatabase It plugs into the Geodatabase
frameworkframework
• ProprietaryProprietary• Whoever can buy the bookWhoever can buy the book
Data Model ExtensionData Model ExtensionData Model ExtensionData Model Extension
• Provides a published standard Provides a published standard so that domain-specific software so that domain-specific software can be developed with can be developed with confidenceconfidence• OpenOpen
• For feeFor fee
Data Model ExtensionData Model ExtensionData Model ExtensionData Model Extension
• Remember – “any dang fool can get Remember – “any dang fool can get complicated, it takes a genius to be complicated, it takes a genius to be simple” simple” • Keep your models simple and to the Keep your models simple and to the
pointpoint
• Largely a fence building exerciseLargely a fence building exercise• Deciding what to model is more Deciding what to model is more
important then how to modelimportant then how to model
Data Model ExtensionData Model ExtensionData Model ExtensionData Model Extension
• Continuum between general Continuum between general interest and application specific interest and application specific refinementsrefinements
Water Resources ModelWater Resources ModelWater Resources ModelWater Resources Model
High-level systemsHigh-level systemsWatershedsWatersheds
ChannelsChannels
X-sectionsX-sections
Temporal ObservationsTemporal Observations
Modeling Linear Modeling Linear FeaturesFeatures
Modeling Linear Modeling Linear FeaturesFeatures
Modeling Linear Modeling Linear FeaturesFeatures
Modeling Linear Modeling Linear FeaturesFeatures
• Linear ReferencingLinear Referencing• Using river mile systemsUsing river mile systems
• NetworksNetworks• !!!!!!!!
Linear ReferencingLinear ReferencingLinear ReferencingLinear Referencing
• All coordinates have <X,Y>All coordinates have <X,Y>• Optionally a Measure <M> and an Optionally a Measure <M> and an
Elevation <Z>Elevation <Z>• A linear feature that has A linear feature that has
Measures and an identifier is Measures and an identifier is referred to as a ROUTE (a reach referred to as a ROUTE (a reach in hydro terms)in hydro terms)
Linear ReferencingLinear ReferencingLinear ReferencingLinear Referencing
• EVENTS are EVENTS are objects that objects that contain linear contain linear referencesreferences
• Events are Events are points or linespoints or lines
• Lots of hydro Lots of hydro applications – applications – river reachriver reach
EventsEventsEventsEvents
• Events can be objects (linear Events can be objects (linear reference only) or features reference only) or features (calculate and store the shape)(calculate and store the shape)
• When displaying objects with a When displaying objects with a linear reference, the shape is linear reference, the shape is dynamically computed (hence dynamically computed (hence “Dynamic Segmentation”)“Dynamic Segmentation”)
Linear ReferencingLinear ReferencingLinear ReferencingLinear Referencing
• Host of methods to create routes and Host of methods to create routes and CALIBRATE their measuresCALIBRATE their measures• The only restriction is that measures are The only restriction is that measures are
real numbersreal numbers• Linear interpolation between measuresLinear interpolation between measures
• Host of methods to display EVENTSHost of methods to display EVENTS
NetworksNetworksNetworksNetworks