UML ( cont. )

Preview:

DESCRIPTION

UML ( cont. ). Diagrammatic notation = “visual language”... For constructing a data model Drawings, relationships constructed in Visio Tools to input a drawing to ArcGIS input data to the data model . UML Notation Zeiler pp. 97-99. a class is shown as a box - PowerPoint PPT Presentation

Citation preview

UML ( cont. )• Diagrammatic notation = “visual

language”...• For constructing a data model• Drawings, relationships constructed in

Visio• Tools to input a drawing to ArcGIS

– input data to the data model

UML NotationZeiler pp. 97-99

• a class is shown as a box

• top part contains the name of the class

• lower part contains the attributes

• lines connect boxes and indicate relationships

• methods/rules associated with the class

Graphic courtesy of Maidment et al., ArcHydro team

Objects and Features• Object (abstract class, real world)

– in ArcGIS an object is non-spatial – it is NOT a point, line, or area – it has no geographic location– it has no shape attribute in its table– Drainage network, ship, vehicle, … customer,

lake, house, etc.• Feature (feature class, spatial context)

– an object that has geographic location– a point, line, area, TIN, raster

UML Notation ( cont. )• Abstract class

– specify subclasses underneath

– Mammals w/human or dog feature classes

– Numbers w/integer or float feature classes

– Extremely generic • Feature Class

– Specify subtypes underneath

Graphic courtesy of Maidment et al., ArcHydro team

-PointID : esriFieldTypeInteger-ColumnJ : esriFieldTypeInteger-ColumnK : esriFieldTypeInteger-ColumnZ : esriFieldTypeInteger-Depth : esriFieldTypeDouble

Model Objects::GridLocation

11

• GridPoints has GridLocation

Marine Data Model• Model Mesh Points

-MarineID : DomainIDField-MarineCode : esriFieldTypeString-CruiseID : esriFieldTypeInteger

MarineFeatures::MarineFeature

«SubtypeField» -PointType

MeshPoint{GeometryType = esriGeometryPoint}

-PointType : esriFieldTypeInteger = 1

GridPoint

-PointType : esriFieldTypeInteger = 2

NodePoint

*

*

*

*

SubType

-Node1ID : esriFieldTypeInteger-Node2ID : esriFieldTypeInteger-Node3ID : esriFieldTypeInteger-Node4ID : esriFieldTypeInteger

MeshElements{GeometryType = esriGeometryLine}

Relationships• Links between

classes, shown as lines

• One to one• One to many• Many to many

Relationships (cont.)

• 1:1 - solid line– one record in Class A linked to one record in

Class B• “is married to”• the class of state capitals linked to the class of

states

• 1:n - solid line with * at one end– one record in Class A linked to any number of

records in Class B• "owns" • the class of states linked to the class of area codes

Relationships (cont.)

• m:n - solid line with * at both ends– any number of records in Class A linked to any

number of records in Class B• "has visited”• "was never married to" • the class of mountain lions linked to the class of

wilderness areas

Graphic courtesy of Maidment et al., ArcHydro team

Type Inheritance• White triangle• Class B inherits the

properties (attributes, methods) of Class A

• the class street inherits from the class transportation network

• Solid diamond• the parts and the whole

depend on each other

Graphic courtesy of Maidment et al., ArcHydro team

MDeviceIDEastNorthSpeedDirection112.110.88.6121111.312.57.922019.3-3.57.5130114.015.13.923417.312.09.1115MeasuredData

InstantaneousPoint (ex: CTD)InstantaneousPoint (ex: CTD)

Measurement

XX

YY

TimeStampTimeStamp

MeasuringDevice

MDeviceIDNameTypeMeasurementID1Bob12Poncho13Juanita14Mia25Anita2 MeasuringDevice

MTypeIDVarNameVarDescVarUnitsMDeviceID1Oranges12Bananas13Cubic cm24Rocks25Limes3MeasuredType

ZZ

MarineIDMarineCodeSeriesIDIPointTypeRecordedTime1AAA1105/04/58 12:00 002BBB1105/04/58 12:30 003CCC1105/04/58 13:00 00InstantaneousPoints

MeasurementMeasureIDMarineIDZLocXlocYlocServiceTripSeviceDesc11-0.821-1.531-3.542-0.852-1.5

Michael Blongewicz

Marine Data Model GdbGeodatabase

Feature Class

FeatureDatasetTable

RelationshipClass

Steps in Data Modeling(1) Conceptualize the user's view of data

– what are the basic features needed to solve the problem?

(2) Select the geographic representation – points, lines, areas, rasters, TINs

(3) Define objects and relationships – draw a UML diagram, specify relationships,

“behaviors”(4) Match to geodatabase elements

– Refine relationships, “behaviors”(5) Organize geodatabase structure, add data

Data Model Levels

IncreasingAbstraction

Reality

Conceptual Model

Logical Model

Physical Model

Human-oriented

Computer-oriented

Real World Objects and relationships

DatabaseSchema

(Object state)

Physical Model

Modeling ProcessConceptual Model

Lists, flow diagrams, etc

Logical ModelDiagram in CASE

Tool

Graphic courtesy of ESRI

Steps in Data Modeling(1) Conceptualize the user's view of data

– what are the basic features needed to solve the problem?

(2) Select the geographic representation – points, lines, areas, rasters, TINs

(3) Define objects and relationships – draw a UML diagram, specify relationships,

“behaviors”(4) Match to geodatabase elements

– Refine relationships, “behaviors”(5) Organize geodatabase structure, add data

– e.g., Alyssa Aaby’s talk yesterday, and subsequent marine GAP analysis

Resulting Analysis - ArcHydro

From Arctur and Zeiler, Case Studies in GIS Data Modeling, ESRI Press, in prep.

Data Model Exercise• Part 1 - Required - due Apr. 28, 6:00 p.m.• Part 2 - Extra credit - turn in before end of

term• Exercise and data on web and on server

Marine Data Model

-MeasureID : esriFieldTypeInteger-FeatureID : esriFieldTypeInteger-ZLocation : esriFieldTypeDouble-XLocation : esriFieldTypeDouble-YLocation : esriFieldTypeDouble-ServiceTrip : esriFieldTypeDate-ServiceDesc : esriFieldTypeString

Measurements:: Measurement

-RecordedTime : esriFieldTypeDate-SeriesID : esriFieldTypeInteger

MarineFeatures:: LocationSeriesPoint

1

*

-RecordedTime : esriFieldTypeDate

MarineFeatures:: InstantaneousPoint

1

*

MarineFeatures:: TimeSeriesPoint

1

*

Recommended