Title: Geographical Data Modeling UML and Data Modeling Elements Examples from the Marine Data Model and ArcHydro (Thanks to Dawn Wright)
1Geographical Data Modeling UML and Data
Modeling ElementsExamples from the Marine Data
Model and ArcHydro (Thanks to Dawn Wright)
2Models for GIS
- representation of reality --gt model
- GIS itself is based on a model of complexity and
used to model complexity - Not a full representation of reality even at 11
- data model limited representation of reality
- a discretization or partitioning of space
- finite, discrete nature of computing devices
3Data 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
43 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.)
5Object 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
6Georelational Data ModelClassic ArcInfo and
ArcView
Arc
Info
command line interface Unix, NT, Windows ArcView
as interface
7ArcInfo Coverage as a Data Structure
Image courtesy of Louisville/Jefferson County
Information Consortium, Kentucky
8Data Structure
- Not tied to process at all
- Concerned simply with what can be computed and
what cant - Way in which the data model is represented in the
GIS - DEM for grid or layer model (e.g. array)
- contour for isoline model
- TIN for Delaunay triangulation model
- coverages, shapefiles for geo-relational
- geodatabase for OO geodatabase
9ArcGIS 9 Icons
10Geodatabase
- Features and attributes as objects
- Relationships among features encoded
- Validation or editing rules, behaviors
- Container for
- Vector, raster, tabular data
- Relationships
- Topology
MS-Office
11Relationships for a feature
12ArcGIS Data Modelssupport.esri.com/datamodels.cfm
13ArcMarine dusk.geo.orst.edu/djl/arcgis
14Data 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
15What is Spatial Analysis (cont.)
- Methods for adding value to data
- in doing scientific research
- in trying to convince others
- A collaboration between human and machine
- How do we set up the framework for spatial
analysis? - Data model to data structure
16A 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 - Cant 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
17Purpose of ArcHydro, ArcMarine etc.
- Basic template for implementing GIS projects
- input, formatting, geoprocessing, creating maps,
performing analyses - Basic framework for writing program code and
maintaining applications - development of tools for the community
- Promote networking and data sharing through
established standards - common modelinteroperability
18 ArcMarine Design Strategy
Generic Marine Data Model
Inheritance
User Group Data Model
User Group Data Model
User Group Data Model
19Geodatabase Concepts
- ESRI'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
20Geodatabase Concepts ( cont. )
- Feature class
- stored in a relational table
- special field for geometric shape
- geometric data incorporated into the database
- Point, multipoint, segment, path, ring, polyline,
polygon
21Geodatabase Feature Class Geometries
22Modeling Process
Conceptual Model Lists, flow diagrams, etc
Real World Objects and relationships
Logical Model Diagram in CASE Tool
Physical Model
Database Schema (Object state)
Graphic courtesy of ESRI
23Data Model Levels
Reality
Human-oriented
Conceptual Model
Increasing Abstraction
Logical Model
Computer-oriented
Physical Model
24Specific 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
25( 1 ) Users View of Data
26( 1 ) Users View of Data cont.
27(No Transcript)
28(2)Select geographic rep.
29(No Transcript)
30Steps 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
31Unified Modeling Language
- Entity-relationship diagrams
- Design the methodologies, diagram notations
- UML
- Not a design methodology
- Just a diagrammatic notation based on methods
- Endorsed by leading software and database
companies
32UML ( 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
33UML 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
34Graphic courtesy of Maidment et al., ArcHydro
team
35UML 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
36Objects 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
37Relationships
- Links between classes, shown as lines
- One to one
- One to many
- Many to many
38Relationships (cont.)
- 11 - 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 - 1n - 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
39Relationships (cont.)
- mn - solid line with at both ends
- any 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
40(No Transcript)
41Graphic courtesy of Maidment et al., ArcHydro
team
42Type Inheritance
- White triangle
- Class B inherits the properties (attributes,
methods) of Class A - the class street inherits from the class
transportation network - Solid diamond
- the parts and the whole depend on each other
43Graphic courtesy of Maidment et al., ArcHydro
team
44(No Transcript)
45Steps 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
46(No Transcript)
47Steps 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