No Slide Title

Download Report

Transcript No Slide Title

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
• 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
Marine Data Model
• Model Mesh Points
MarineFeatures::MarineFeature
• GridPoints has GridLocation
MeshElements
{GeometryType = esriGeometryLine}
-Node1ID : esriFieldTypeInteger
-Node2ID : esriFieldTypeInteger
-Node3ID : esriFieldTypeInteger
-Node4ID : esriFieldTypeInteger
-MarineID : DomainIDField
-MarineCode : esriFieldTypeString
-CruiseID : esriFieldTypeInteger
MeshPoint
{GeometryType = esriGeometryPoint}
«SubtypeField» -PointType
*
SubType
NodePoint
*
-PointType : esriFieldTypeInteger = 2
Model Objects::GridLocation
-PointID : esriFieldTypeInteger
-ColumnJ : esriFieldTypeInteger
-ColumnK : esriFieldTypeInteger
-ColumnZ : esriFieldTypeInteger
-Depth : esriFieldTypeDouble
*
1
1
GridPoint
-PointType : esriFieldTypeInteger = 1
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
InstantaneousPoint (ex: CTD)
Michael Blongewicz
X
InstantaneousPoints
MarineID
1
2
3
MarineCode
AAA
BBB
CCC
SeriesID
1
1
1
IPointType
1
1
1
RecordedTime
05/04/58 12:00 00
05/04/58 12:30 00
05/04/58 13:00 00
TimeStamp
Y
Measurement
MeasureID
1
2
3
4
5
MarineID
1
1
1
2
2
ZLoc
-0.8
-1.5
-3.5
-0.8
-1.5
Xloc
Yloc
ServiceTrip
SeviceDesc
Measurement
MeasuringDevice
MeasuringDevice
MDeviceID
1
2
3
4
5
Name
Bob
Poncho
Juanita
Mia
Anita
MeasuredType
MTypeID
VarName
1
2
3
4
5
Type
VarDesc
MeasurementID
1
1
1
2
2
VarUnits
Oranges
Bananas
Cubic cm
Rocks
Limes
Z
MDeviceID
1
1
2
2
3
MeasuredData
MDeviceID
1
1
1
1
1
East
12.1
11.3
9.3
14.0
7.3
North
10.8
12.5
-3.5
15.1
12.0
Speed
8.6
7.9
7.5
3.9
9.1
Direction
121
220
130
234
115
Marine Data Model Gdb
Geodatabase
Feature
Class
Feature
Dataset
Table
Relationship
Class
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
Humanoriented
Reality
Conceptual Model
Increasing
Abstraction
Logical Model
Computeroriented
Physical Model
Modeling Process
Conceptual Model
Lists, flow diagrams, etc
Real World
Objects and
relationships
Logical Model
Diagram in
CASE Tool
Physical
Model
Database
Schema
(Object state)
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
Measurements::Measurement
-MeasureID : esriFieldTypeInteger
-FeatureID : esriFieldTypeInteger
-ZLocation : esriFieldTypeDouble
-XLocation : esriFieldTypeDouble
-YLocation : esriFieldTypeDouble
-ServiceTrip : esriFieldTypeDate
-ServiceDesc : esriFieldTypeString
**
1
MarineFeatures::TimeSeriesPoint
1
MarineFeatures::LocationSeriesPoint
-RecordedTime : esriFieldTypeDate
-SeriesID : esriFieldTypeInteger
1
MarineFeatures::InstantaneousPoint
-RecordedTime : esriFieldTypeDate