LECTURE 5: UML, PRIMITIVE MODELING ELEMENTS
Data model
a comprehensive plan for an organization's data
Caltrans
a research organization
well documented
systematically organized
readily shared
a geodatabase
UML: a visual language for representing a data model
The steps in data modelingdrawings constructed in Microsoft Visio
tools to input a drawing to ArcGIS
input data to the data model
1. Model the user's view of dataExample: the UNETRANS data model2. Define objects and relationshipsthe "use case"
what are the basic items of information needed to solve the problem?
the data model will need to store everything needed
the MapQuest/cab driver example
is there a "slot" to store everything relevant to the problem?
draw a UML diagram3. Select the geographic representationpoints, lines, areas, rasters, TINs4. Match to geodatabase elements5. Organize geodatabase structurespecify inheritance relationships from ESRI classes
points, polylines, polygons, etc.
ESRI data model support siteUML notationscreen shots
whole modelimplementation in ArcGISreference network: edges
reference network: junctions
a class is shown as a boxObjecttop part contains the name of the class
middle part contains the attributes
lower part contains the methods associated with the class
lines connect boxes and indicate relationships
an instance of a classFeatureyet another meaning of the word "object"in ArcGIS data modeling an object is non-spatialit is not a point, line, or area
it has no geographic location
its geographic location is not knownit has no shape attribute in its table
an object that has geographic locationAbstract classa point, line, or area
a TIN or raster
cannot have instances, but can have subclassesname in italics
Links between classes, shown as lines
Several types of relationships
Association
Type inheritanceclasses linked by common keys
compare the relational model
multiplicity
1:11:none 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
shown as a solid line
m:none 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
shown as a solid line with a * at the B end
or 0...*if every A is linked to at least one B then use 1...*
a state must have at least one area code
any number of records in Class A linked to any number of records in Class B
"has visited"
"was ever married to"
the class of mountain lions linked to the class of wilderness areas
shown as a solid line with * at both ends
AggregationClass B inherits the properties (attributes, methods) of Class A
white triangle points from B to A
e.g., the class street inherits from the class transportation network link
CompositionClass A is the whole, Classes B, C, etc contain the parts
open diamond points to A
e.g., the class airport is an aggregation of the classes runway, hangar, terminal, etc.
if one part of an aggregation is deleted, the whole is not necessarily deleted
if the whole is deleted, the parts are not necessarily deleted
Examplesa stronger form of aggregation
closed diamond points to A
the parts and the whole depend on each other
e.g., a polygon and its component arcs and nodes
coverage
MapQuest/cab driver
ESRI's Geodatabase model
object-oriented
objects
features
behaviors
Feature class
stored in a relational table
an "object-relational" database
special field for geometric shape
geometric data incorporated into the database
no more division between ARC and INFO