LECTURE 6: UML, PRIMITIVE MODELING ELEMENTS
A visual language for representing a data model
drawings constructed in VisioThe steps in data modeling
tools to input a drawing to ArcGISinput data to the data model
1. Model the user's view of dataExample: the UNETRANS data modelthe "use case"2. Define objects and relationships
what are the basic items of information needed to solve the problem?
the data model will need to store everything neededthe MapQuest/cab driver example
draw a UML diagram3. Select the geographic representationpoints, lines, areas, rasters, TINs4. Match to geodatabase elementsspecify inheritance relationships5. Organize geodatabase structure
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 classlines 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 locationits 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
classes linked by common keysType inheritance
compare the relational modelmultiplicity
1:1one record in Class A linked to one record in Class B1:n
"is married to"
the class of state capitals linked to the class of statesshown as a solid line
one record in Class A linked to any number of records in Class Bm:n
"owns"
the class of states linked to the class of area codesshown 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 codeany 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 areasshown as a solid line with * at both ends
Class B inherits the properties (attributes, methods) of Class AAggregation
white triangle points from B to Ae.g., the class street inherits from the class transportation network link
Class A is the whole, Classes B, C, etc contain the partsComposition
open diamond points to Ae.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
a stronger form of aggregationExamples
closed diamond points to Athe 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
Feature classobjects
features
behaviors
stored in a relational table
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
see Zeiler Ch 6 and summary on p114
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 curvea sequence of connected segmentsringclosed, non-intersecting pathpolyline
a type of patha collection of pathspolygon
disjoint or connecteda collection of ringsenvelopecan be nested
cannot overlapminimum enclosing rectangle (mer)simple feature model
used to speed up processing
objects with geometry and attributes
point, multipoint
polylinepolygon
annotation
simple junction
complex junction
simple edge
complex edge