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 new data 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
Feature dataset
contains feature classes
defines topological role of features
has a coordinate system
Geodatabase
collection of feature datasets, rasters, TINs
all data in relational tables
span contiguous extents
behavior is coupled with features through rules
Feature geometries
OGC specification
pointa zero-dimensional feature
coordinates, attributes
multipointTypes of featuresan unordered collection of pointssegmentabstract classpathline connecting two points
straight line
arc of a circle
arc of an ellipse
Bezier curve
a sequence of connected segmentsringpolylineclosed, non-intersecting path
a type of path
polygona collection of paths
disjoint or connected
envelopea collection of rings
notice the conflict - a polygon's sides do not have to be straight
can be nested
cannot overlap
simple feature modelminimum enclosing rectangle (mer)
used to speed up processing, searching
objects with geometry and attributes
point, multipoint
polylinepolygon
annotation