Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling...

38
ArcFM Energy Object Modeling Workshop Review of ArcGIS Object Modeling and UML

Transcript of Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling...

Page 1: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

ArcFM Energy

Object Modeling Workshop

Review of ArcGIS Object Modeling and UML

Page 2: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-2ArcGIS Object Modeling

Review object modeling processReview UML constructsReview UML conventions

Presentation Overview

Page 3: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-3ArcGIS Object Modeling

Review of TermsData model: UML-compliant object model created and maintained in a CASE tool.

Logical model: shows objects, properties, and relationships in graphic format.

Physical model: contains UML-compliant definition of model, can be used to generate schema.

Schema: an empty Geodatabase that contains the feature classes, relationships, and associated entities.

Repository: A database that contains the information required to generate a schema.

Page 4: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-4ArcGIS Object Modeling

Schema creation process

Tool:Tool: M

icrosoft Visio

Microsoft V

isio

Review Logical Review Logical Model with Model with

Project TeamProject Team

Modify ModelModify ModelTo fitTo fit

RequirementsRequirements

Export ModelExport ModelToTo

RepositoryRepository

MSRepositoryDatabase

Tool:Tool: ESR

I ArcC

atalogESR

I ArcC

atalog

Import ModelImport Model

Configure Configure SchemaSchema

Load DataLoad Data

ConfigureConfigureNetworkNetwork

Page 5: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-5ArcGIS Object Modeling

Pilot Data Migration Process

PrototypePrototypeModelModel VisioVisio

Workshop

ConversionPlanning

Data Conversion

ArcEnergyArcEnergyModelModel VisioVisio

ExistingExistingDatabasesDatabases Requirements

ArcCatalogArcCatalog

Repository

Generate Schema

Load Data ArcCatalogArcCatalog

Review Data ArcMapArcMap

Configure ArcCatalogArcCatalog

Page 6: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-6ArcGIS Object Modeling

Modify The Object Model

ESRI Classes::SimpleJunctionFeature

SimpleJunctionFeatures::GasValve

+CreationUser : esriFieldTypeString+DateCreated : esriFieldTypeDate+DateModified : esriFieldTypeDate+LastUser : esriFieldTypeString

Metadata Classes::ArcFMUserMetaData

Classes

Fields

Relationships

Domains

+Material : GasValveMaterial+ValveDiameter : GasValveDiameter<<SubtypeField>>ValveType : GasValveType+Depth : esriFieldTypeDouble

SimpleJunctionFeatures:: Gate Valve

Subtype

SimpleJunctionFeatures:: Ball Valve

ESRI Classes::Object

ObjectClass:: ValveInspection

+InspectDate : esriFieldTypeDate

1

0*

Page 7: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-7ArcGIS Object Modeling

Build physical model in Visio

Export from Visio using UML tool

Creates repository in MS Access or SQLServer (we’ll be using MS Access)

Export Schema

Page 8: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-8ArcGIS Object Modeling

Generating the Geodatabase SchemaReads information from repository

Creates schema(tables and relationships)

Can build schemain ArcSDE or personalGeodatabase

Page 9: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-9ArcGIS Object Modeling

Load data by feature class

RDBMS joins can beused for attributes

Establish relationships

Loading Data in ArcCatalog

Page 10: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-10ArcGIS Object Modeling

FeatureFeature Geographic ObjectGeographic ObjectRow in a DBMS Table,Row in a DBMS Table,e.g. Valve #V156e.g. Valve #V156

GeoDatabaseGeoDatabase Collection of Collection of FeatureDatasetsFeatureDatasetsLike a workspace or instance,Like a workspace or instance,e.g. CE Gas Geodatabasee.g. CE Gas Geodatabase

Feature DatasetFeature Dataset Collection of Collection of FeatureClassesFeatureClassesShare same spatial reference,Share same spatial reference,e.g. e.g. GasFacilitiesGasFacilities, Landbase, Landbase

Feature ClassFeature Class Collection of FeaturesCollection of FeaturesShare same attributes,Share same attributes,e.g. e.g. RegulatorStationsRegulatorStations

Geodatabase Structure

Page 11: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-11ArcGIS Object Modeling

Configuring Behavior in ArcCatalog

• ArcCatalog Tools1. Feature Class Properties: In

ArcCatalog, you can set the properties for a feature class, including defining which domains go with which fields.

2. Connectivity Rules: In ArcCatalog, you can define a geometric network the properties of it. The properties include what feature classes participate in the network and what can connect to what (and how).

3. User Roles: Using ArcCatalog, you can define user access by dataset. (You can also use Oracle roles.)

Page 12: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-12ArcGIS Object Modeling

Connect to Geodatabase

Load layers into document

Define display settings and save

Symbology

Labels

Set up templates

View, query, trace

Viewing Data in ArcMap

Page 13: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-13ArcGIS Object Modeling

Basic UML ConstructsUML: Unified Modeling Language

A notation to express a design or modelStandard for ESRI and industry

Syntax based, not process-based

Visio 5.0 Enterprise / Visio 2000 (also Rational Rose, MSVisualModeler)

(Data) ModelsLogical – Graphic representation of objects, properties, relationships

Physical – ‘Smart’ representation that specifies objects, properties, relationships, relationship classes, and domains

Page 14: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-14ArcGIS Object Modeling

AbstractClass

Class Class

Aggregation

Generalization

Association1..*

Multiplicity

Wormhole

An AbstractClass cannot be used to create objects,but is a specification for instances of subclasses.

A Class can create new objects.

Associations represent relationships beween classes.

An Association has Multiplicity which is an indicationof how many objects may participate in the givenrelationship.

Generalization defines similar properties andmethods among classes

Aggregation defines a relationship where one of theobjects is consdered the 'whole' and objects from theother class are considered 'parts.'

UML Class Diagrams

Page 15: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-15ArcGIS Object Modeling

Object Model Concepts

ESRI Defined Class*

Abstract Class

Defined subtypes

Wormhole toAbstract Class

(italicized)

Property1Property2

Concrete Class1 Concrete Class2

Property1Property2

Wormhole toConcrete Class

(non-italicized)

Notes

Property1Property2

Page 16: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-16ArcGIS Object Modeling

UML GeneralizationsConnection between abstract and concrete class

Promote inheritance

Attributes in abstract are inherited by subclass

Page 17: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-17ArcGIS Object Modeling

AssociationsTypes

Binary (or Peer-to-Peer)Simple AggregationComposite Aggregation

Cardinality1:11:MM:N

KeysPrimary/foreign keysDestination/Source

Page 18: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-18ArcGIS Object Modeling

Break down concrete class into more specific categories

Don’t have overhead of adding more classes

Must share properties and methods of concrete class

Example: Distribution Main

Subtypes

Distribution Main

Bare Steel MainCast Iron MainCoated Steel MainCopper MainPlastic Main

Page 19: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-19ArcGIS Object Modeling

ESRI Object ClassesArcInfo provides a hierarchy of object classes ready for use:

Object (Non-spatial)

Feature (Spatial, non-networked, point, line, or polygon)

Simple junction (Spatial, networked, point)

Complex junction

Simple edge (Spatial, networked, line)

Complex edge

Page 20: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-20ArcGIS Object Modeling

Features are spatial objects (classes)

Geometry, location are properties

Attributes (e.g., height, nominal voltage) are properties

How feature behaves is determined by methods defined for it

Display, edit, query, etc.

Data structures defined as part of object

ESRI Features

Page 21: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-21ArcGIS Object Modeling

ESRI Object Classes

Feature Geometryshape

NetworkFeature

Object

EdgeFeature JunctionFeature

SimpleEdgeFeature

ComplexEdgeFeature

SimpleJunctionFeature

ComplexJunctionFeature

Page 22: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-22ArcGIS Object Modeling

Network FeaturesSimpleJunctionFeatureFeatures represented at a single insertion point that have a single point of connection with the logical network.

ComplexJunctionFeatureFeatures represented at a single insertion point that may have many points of connection with the logical network.

SimpleEdgeFeatureLinear features to which network connectivity may be established at either endpoint.

ComplexEdgeFeatureLinear features to which network connections may be made at multiple locations along its length.

Page 23: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-23ArcGIS Object Modeling

Feature Geometryshape

NetworkFeature

Object

EdgeFeature JunctionFeature

SimpleEdgeFeature

ComplexEdgeFeature

SimpleJunctionFeature

ComplexJunctionFeature

InspectionAlcoholInjextor Service Main Valve Reg Station*

Defining the model

Page 24: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-24ArcGIS Object Modeling

Data Model Review: Features

PressureMonitoringDevice

CompanyPaidTelephoneDurationPermanentCDPSIRatingRecordingMethodSCADASerialNumberTelephoneNumberTempRatingUsageType

GasDevice

CommentsEquipmentIDFacilityIDGasTraceWeightInServiceDateLocationDescriptionManufacturerModelOwnerPropertyUnitCodeSubtypeSymbolRotationWorkOrderID

GasLamp

HeightGasUsageUsageRate

SimpleJunctionFeature

RuralTap

GasTraceWeightOdorizerIndicatorOwnerPipeLineOperatorPipeLineStationPropertyUnitCodeShutOffValveDiameterShutOffValveTypeSubtypeSymbolRotationTapDiameterTapType

ReliefValve

CapacityCFHDiameterRegStationObjectIDSetPressureEnteredSetPressureStandardSetPressureUnitOfMeasureTBSObjectIDOperatingType

ESRI Object Class

Abstract ClassCannot be used tocreate new objects but itis a specification forsubclasses

ConcreteClass:Objects that arecreated.

Generalization:Defines specialized classes whichshare properties and methods withthe superclass and have additional

properties and methods.

Page 25: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-25ArcGIS Object Modeling

CapacitorBank

ConnectionConfigurationNominalVoltageReactanceSwitchedGrounded

SeriesCapacitor

PFCorrectingEquipment

ControlTypeFacilityIDLocationIDPhaseDesignationOverheadOrUndergroundRatedKVAR

CapacitorControl

LowerVoltageSettingDeactivateSaturdayDeactivateSundayTime[On,Off]UpperVoltageSettingSCADAControlledSCADAMonitoredCurrentLevel[On,Off]Temperature[On,Off]VoltageLevel[On,Off]KVARLevel[On,Off]

CapacitorUnit

FluidTypeRatedKVAR

UnitObject

ManufacturerModelSerialNumber

Object

CompositonObjects from the'whole' class controlthe lifetime of theobjects from the 'part'class.

Data Model Review: Objects

Page 26: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-26ArcGIS Object Modeling

Relationship(From The Wormhole)

Wormholes

GasPipe

ActualInternalDiameterCoatingTypeCriticalIndicatorCrossingTypeCPSystemObjectIDCPSystemStatusDesignPressureEnteredDesignPressureStandardDesignPressureUnitOfMeasureElectricSurveyIndicatorEmerIsolationSysObjectIDGasPressureSystemObjectIDGasSystemObjectIDGasTraceWeightInServiceDateInstallationMethodLastLeakSurveyLeakSurveyFrequencyLengthSourceManufacturerMaterial(subtype field for DistributionMain)MeasuredLengthNominalDiameterNominalDiameterUnitsOwnerPipeStatusIndicatorPipeTestDatePipeTestDurationPipeTestPressurePipeTestTypePipeTypePlasticTypePropertyUnitCodeSOPEnteredSOPRangeSOPStandardSOPUnitOfMeasureSubtypeWallThicknessWorkOrderID

ComplexEdgeFeature

CPSystem

1

Drip

LeakReport

PipeExposure

0..*

0..*

0..*

1

1..*

Page 27: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-27ArcGIS Object Modeling

Subclasses and SubtypesSubtype whenever possible

Reduce the total number of classesIncrease performance

Better organization

Differentiate within an object classSame attributes and behavior

Can set default values, edit tasks, domains by subtype

Can configure relationships and connectivity rules at subtype level

Page 28: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-28ArcGIS Object Modeling

Describe the legal values of a field typeUsed to promote attribute integrity

Types:Range: Pipe Length can be 1 to 1,000,000

Coded Value: Gas Valve Use Type can be Bypass, Isolation, Purge, or Relief

Can be shared among classes

Can be defined at the feature class or subtype level

Domains

Page 29: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-29ArcGIS Object Modeling

Feature class called Gas Pipe

Assign Domains by Subtype:Plastic – Domain for Diameter: ¾”, 1”, 1 ¼”, 2”, 3”, 4”, 6”, 8”, 10”, 12”

Copper – Domain for Diameter: 3/8”, ½”, ¾”, 1”, 1 ¼”, 1 ½”

Cast Iron – Domain for Diameter: 3”, 4”, 6”, 8”, 10”, 12”, 16”

Coated Steel – Domain for Diameter: Values from ¼” to 36”

Steel – Domain for Diameter: Values from ¼” to 36”

Domains and Subtypes

Page 30: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-30ArcGIS Object Modeling

Default ValuesCan be established at the feature class or subtype level

Enable default initialization of objects once a feature class or subtype is selected

Example: NonControllable FittingDefault Subtype: Coupling

Default Material: Plastic

Default Insulated Indicator: 1 (True)

Default Bonded Indicator: 0 (False)

Page 31: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-31ArcGIS Object Modeling

RelationshipsCan Relate:

Feature class to a object class

Feature class to a feature class

Object class to an object class

Can Define by:Concrete class to concrete class

Subtype to subtype

Page 32: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-32ArcGIS Object Modeling

Geometric NetworksTopological relationship between feature classes

Used to model network systems

Traceable

Feature classes in a network must all be in the same feature dataset

Features can only participate in one network

Enabled field controls flow for simple traces – Trace Weights store information for more complex traces

Page 33: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

ArcFM Energy

Object Modeling Workshop

Questions?

Page 34: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-34ArcGIS Object Modeling

Association (or Relationship) ClassUsed with M..N associations

Is an object (table in DB)

Stores keys relating the two classes

Can store other attributes as well

Is Invisible to user

Parcel

AddressArea

Owner

NameAddress

Deed #DateParcelObjectIDOwnerObjectID

Parcel_Owner

1..M 1..N

Relationship Classes

Page 35: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-35ArcGIS Object Modeling

Configuring Behavior in ArcCatalog• ArcFM Tools

1. Properties Manager: The Properties Manager assists you in determining field display order, feature behavior, and field behavior.

2. Snapping Manager: Configure snapping preferences, priorities, and tolerances for the each feature class.

3. Favorites Manager: Favorites allow you to create a system-wide (Geodatabase) library of frequently used new features which will be added to your map documents while editing in ArcMap.

Page 36: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-36ArcGIS Object Modeling

Build on ESRI hierarchy: Model real world facilities

Define as subclasses to ESRI classes

Odorizers – point features

Pipes – complex edges

Valves – junctions

Inspection -- objects

Parcels – polygon features

Define lowest differentiation for methods and properties

Custom Object Classes

Page 37: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-37ArcGIS Object Modeling

UML ClassesEncapsulation

Data hiding, encapsulate internal details and present higher level of structure

InheritanceConsolidation of attributes, operations -- inherit behavior and properties of parent class(es)

PolymorphismObjects can take different forms, methods may be re-used

Page 38: Review of ArcGIS Object Modeling and UML€¦ · Basic UML Constructs UML: Unified Modeling Language A notation to express a design or model Standard for ESRI and industry Syntax

1-38ArcGIS Object Modeling

Validation OptionsDomains – restrict values user can enter in field

Can be defined at class or subtype level

Relationship Rules – restrict cardinality, subtypesCan be defined at class or subtype level

Association must already exist between feature classes

Connectivity Rules – define network connectionsCan be defined at class or subtype level

Edge/edge rules

Edge/junction rule