Post on 15-Jan-2016
Geographical Data Modeling
UML and Data Modeling ElementsExamples from the Marine Data Model and ArcHydro
(Thanks to Dawn Wright)
Longley et al., ch. 8
Models for GISrepresentation of reality --> model
GIS itself is based on a model of complexity and used to model complexity
Not a full representation of reality: even at 1:1
data model = limited representation of reality a discretization or partitioning of space finite, discrete nature of computing devices
Data Model
Representation of information about a form or a process
E.g. a weather map with isotherms
FIELD … “grid”
OBJECT … “isoline”
A good model allows us to infer process
FIELD or OBJECT … “geo-relational”
3 Data Models
geo-relational coverage (object view; from classic ArcInfo polys)
geo-relational shapefile (object view; from ArcView)
geodatabase (object-oriented; new in ArcGIS 8,9 etc.)
Object Oriented GIS (p. 191)
Object: a self-contained package of information describing an entity
Collection of objects – class
Objects can have behavior – encapsulation
Inheritance – reusable objects
Polymorphism-objects can have their own implementation for application-e.g. create, draw, delete
A
B
command line interfaceUnix, NT, WindowsArcView as interface
Georelational Data Model:“Classic” ArcInfo and ArcView
ArcInfo Coverage as a Data Structure
Image courtesy of Louisville/Jefferson County Information Consortium, Kentucky
Data StructureNot tied to process at allConcerned simply with what can be computed and what can’tWay in which the data model is represented in the GISDEM for grid or layer model (e.g. array)contour for isoline modelTIN for Delaunay triangulation modelcoverages, shapefiles for geo-relationalgeodatabase for OO geodatabase
ArcGIS 9 Iconsyellow coverage
gray geodatabase
green shapefile
Geodatabase
Features and attributes as objectsRelationships among features encodedValidation or editing rules, behaviors“Container” for Vector, raster, tabular
data Relationships Topology
MS-Office
Relationships for a feature
ArcGIS Data Modelssupport.esri.com/datamodels.cfm
ArcMarine dusk.geo.orst.edu/djl/arcgis
Data Modeling for Spatial Analysis
What is spatial analysis? "a set of methods whose results change when the
locations of the objects being analyzed change"
Methods for working with spatial data to detect patterns, anomalies to find answers to questions to test or confirm theories
deductive reasoning-general to specific to generate new theories and generalizations
inductive reasoning-specific to general
What is Spatial Analysis (cont.)
Methods for adding value to data in doing scientific research in trying to convince others
A collaboration between human and machineHow do we set up the framework for spatial analysis? Data model to data structure
A Georelational to a Geodatabase Model
Coverage and shapefile data structures homogenous collections of points, lines, and
polygons with generic, 1- and 2-dimensional "behavior" as operations
Can’t distinguish behaviors Point for a marker buoy, same as point for
observation“smart features” in a geodatabase lighthouse must be on land, marine mammal siting must be in ocean
Objects can “self-police”
Basic template for implementing GIS projects input, formatting, geoprocessing, creating
maps, performing analyses
Basic framework for writing program code and maintaining applicationsdevelopment of tools for the community
Promote networking and data sharing through established standardscommon model=interoperability
Purpose of ArcHydro, ArcMarine etc.
ArcMarine Design Strategy
“Generic”
Marine Data Model
User Group
Data Model
User Group
Data Model
User Group
Data Model
Project
Data Model
Project
Data Model
Project
Data Model
Inh
erit
ance
Geodatabase ConceptsESRI's data object-oriented data model objects, features, behaviors
Geodatabase collection of feature data sets, rasters, TINs all data in relational tables behavior is coupled with features through rules
(object-orientation) Supports model-builder for processes
Feature data set contains feature classes defines topological role of features has a coordinate system
Geodatabase Concepts ( cont. )
Feature classstored in a relational tablespecial field for geometric shape geometric data incorporated into the
databasePoint, multipoint, segment, path, ring, polyline,
polygon
Geodatabase Feature Class Geometries
Real World Objects and relationships
DatabaseSchema
(Object state)
Physical Model
Modeling ProcessConceptual Model
Lists, flow diagrams, etc
Logical ModelDiagram in CASE
Tool
Graphic courtesy of ESRI
Data Model Levels
IncreasingAbstraction
RealityReality
Conceptual ModelConceptual Model
Logical ModelLogical Model
Physical ModelPhysical Model
Human-oriented
Computer-oriented
Specific 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, features, and relationships draw a UML diagram, specify relationships,
“behaviors”
(4) Match to geodatabase elements Refine relationships, “behaviors”
(5) Organize geodatabase structure, add data
( 1 ) User’s View of Data
( 1 ) User’s View of Data cont.
(2)Select
geographic rep.
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
Unified Modeling LanguageEntity-relationship diagramsDesign the methodologies, diagram notations
UMLNot a design methodologyJust a diagrammatic notation based on
methodsEndorsed by leading software and database
companies
UML ( cont. )
Diagrammatic notation = “visual language”...
For constructing a data model
Drawings, relationships constructed in Visio (other tools available)
Tools to input a drawing into ArcGIS input drawing to the data model
UML Notation
a class is shown as a box
top part contains the name of the class
lower part contains the attributes
methods associated with the class
lines connect boxes and indicate relationships
Graphic courtesy of Maidment et al., ArcHydro team
UML Notation ( cont. )
Abstract class specify subclasses
underneath Mammals w/human or
dog feature classes no new instances
Feature Class Specify subtypes
underneath Human, dog, cat
Objects and Features
Object (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 (spatial context) an object that has geographic location a point, line, area, TIN, raster
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 endsany 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 triangleClass B inherits the properties (attributes, methods) of Class A
the class street inherits from the class transportation network
Solid diamondthe parts and the whole depend on each other
Graphic courtesy of Maidment et al., ArcHydro team
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
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., Marine Data Model tutorial