Document 15759878

advertisement
Object-Orientation
Gateway to the Literature
• Balram, S. and S. Dragicevic, 2006. Modeling
collaborative GIS processes using soft systems
theory, UML, and object oriented design.
Transactions in GIS, 10(2): 199-218.
• Whiteaker, T.L., D.R. Maidment, J.L. Goodall and
M. Takamatsu, 2006. Integrating Arc Hydro
features with a schematic network. Transactions
in GIS, 10(2): 219-238.
Gateway to the Literature
An, L., M. Linderman, J. Qi, A. Shortridge and
J. Liu, 2005. Exploring complexity in a
human-environment system: An agentbased spatial model for multidisciplinary and
multiscale integration. Annals of the
Association of American Geographers,
95(1): 54-79.
Object-Oriented Data Modeling
• Objects in the real world
– have “natural” rules and relationships in the
computer world
•
•
•
•
Rivers flow downstream
Roads handle levels of traffic
Land parcels respect landuse laws
How to build this intelligence into data
structures?
OO Principles
• things in the world are instances of
classes
– John Smith - human being
– Harrison Blvd. - street
– Corvallis - city
– Mary’s Peak - mountain (Hugh Grant’s hill??)
• Identity, Inheritance, Encapsulation
OO Principles ( cont. )
Identity
• classes form hierarchies
– John Smith is an instance of the class male
human beings
– male human beings are a subclass of human
beings
– human beings are a subclass of mammals
– mammals are a subclass of fauna
MarineFeature
-MarineID : esriFieldTypeInteger
-MarineCode : esriFieldTypeString
-CruiseID : esriFieldTypeInteger
MarinePoint
Measurement
-MeasureID : esriFieldTypeInteger
-FeatureID : esriFieldTypeInteger
-FeatureClass : esriFieldTypeString
-ZLocation : esriFieldTypeDouble
-XLocation : esriFieldTypeDouble
-YLocation : esriFieldTypeDouble
MeasurementPoint
• each subclass shares the properties of
the class
TimeSeriesPoint
{GeometryType = esriGeometryPoint}
*
*
OO Principles ( cont. )
Identity
• geographic objects often group into
complex objects
– an airport is composed of runways, hangars,
terminals
– a state is composed of counties
– an area coverage is composed of polygons,
arcs, nodes
OO Principles ( cont. ):
Inheritance
• Object can inherit properites
– old hierarchical database concept
• objects can inherit properties that are
true of all objects of that type
– e.g., for all polygons
– new county in Oregon, still can’t pump gas there
• and can also add new properties
– e.g., properties true only of a certain class
– rural county, always has diesel gas
Inheritance in Arc Marine
MeasurementPoint
-CruiseID : esriFieldTypeInteger
TimeSeriesPoint
{GeometryType = esriGeometryPoint}
InstantaneousPoint
{GeometryType = esriGeometryPoint}
-TimeValue : esriFieldTypeDate
-ZValue : esriFieldTypeDouble
-SurveyID : esriFieldTypeInteger
-SeriesID : esriFieldTypeInteger
«SubtypeField» -PointType : esriFieldTypeInteger = 1
Instant
Subtype
Sounding
-PointType : esriFieldTypeInteger = 1
-PointType : esriFieldTypeInteger = 2
Survey
LocationSeries
-PointType : esriFieldTypeInteger = 3
-PointType : esriFieldTypeInteger = 4
OO Principles ( cont. ):
Encapsulation ( Behavior )
• Object can encapsulate behavior
(functions)
• what kinds of behavior?
• editing rules
– e.g, corners of a building must be square
• might apply to all buildings but not all polygons
• might apply only to some buildings
– two adjacent objects must have the same
common boundary
Object-Orientation Graphic
From An et al., 2005, Annals of the AAG
Behavior ( cont. )
• attribute rules
– e.g., range of possible numbers
• dates in numerical format (only 1 to 12)
• split and merge rules
– 1 feature split or 2 features merged, what
happens to attributes?
– e.g., split a street, the lengths of two parts are
shares of the total
– e.g., merge two polygons, their population
counts are summed for the combined polygon
– e.g., merge two polygons, their population
densities are averaged, weighted by area
Example Merge Rule
Behavior ( cont. )
• editing, attribute, split and merge rules
• special procedures
– e.g., procedure to measure areas of polygons
• associated with polygon object type
– e.g., procedure to annotate contours
• specific interaction rules between objects
– e.g., a liquor store cannot be within 500 m of a
school
– an offramp is required if a street and a freeway
intersect
– at least one stream must flow out of every stream
junction
Object-Orientation Graphic
From An et al., 2005, Annals of the AAG
A “Smarter” Data Model/Data Structure
• ArcInfo 7 coverage
– geometric information stored in database
• ArcGIS geodatabase
– stores geometric information as "shape" attribute
(better)
– Links to object tables of “rules/behaviors”
• Identity, Inheritance, Encapsulation
(Behavior)
Arc Marine Data Model
MarineFeature
FeatureClass:
TimeSeriesPoint
-MarineID : esriFieldTypeInteger
-MarineCode : esriFieldTypeString
-CruiseID : esriFieldTypeInteger
MarinePoint
ObjectClass:
Measurement
Measurement
-MeasureID : esriFieldTypeInteger
-FeatureID : esriFieldTypeInteger
-FeatureClass : esriFieldTypeString
-ZLocation : esriFieldTypeDouble
-XLocation : esriFieldTypeDouble
-YLocation : esriFieldTypeDouble
MeasurementPoint
TimeSeriesPoint
{GeometryType = esriGeometryPoint}
*
*
TimeSeriesPoint with Measurements
1
*
Relationships
DHI TimeSeries Manager
Data
Access
Bridges
dfs
ASCII
DB
GeoDatabase Bridge
...
GDB
...
XML
DHI TimeSeries Manager
TS Editor
TS Plot
TS Tabular
Data
Access
Component
Data
Access
Bridges
Data Access Bridges
dfs
TimeSeries Controls
TS Object
ASCII
TS Toolbox
Gap
Gap
Filling
Filling
Gap
Filling
Transform
Regression
Double
Mass
DB
......
Extrapolate
XML
Functionality
Timeseries
Data
DHI TimeSeries Manager
Arc Atmosphere
Arc Hydro
MIKE 21
MIKE GIS
MIKE Basin
Data Access Bridges
MIKE 11
TimeSeries Manager
ArcGIS
Arc Marine
Geodatabase
dfs0
Data Model Review
• A practical working template
• A starting point for creating a geodatabase
• An aid to simplify the integration of similar datasets
• A way to facilitate the exchange of data
• A support to existing standards
Geodatabase
Point
Feature
ObjectID
Geometry
Measurement
Computation
LandObject
LandObjectID
TransactionID
SystemStartDate
OfficialStartDate
OfficialEndDate
*
*
*
SurveyPoint
*
SurveyBoundary
Coordinate
Project
Use of a Data Model in
an Analysis Model
Model Builder geoprocessing diagrams for workflow
3D Interpolation tool
Sample resulting from collaboration between data
models and ESRI developer Network (EDN)
New tools
based on
data model
prototypes
and case
study testing.
3D points displayed in volume space
ArcGIS Data Models Web site
http://support.esri.com/datamodels
• Over 25 industry-specific data models
• Conceptual and logical diagrams
• Case studies, Tips and Tricks documents
Thematic Content - layer stack
Thematic groupings of oceanographic data sets
Arc Marine Thematic Layers
Arc Marine Thematic Layers
Download