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