Integrating Heterogeneous Geospatial Data Repositories Using Geospatial Modeling and Geospatial Web Services. Vivek Chaure [07CS6006] Under the guidance of
Prof. S. K. Ghosh (School of I.T.) and Prof. J. Mukhopadhyay(Dept. of C.S.E.) Indian Institute of Technology, Kharagpur May 6,2009
Outline
Introduction
Problem Statement
Related Work
Architecture of the framework
Geospatial Data Modeling
Modeling Temporal Dimension
Model Checker
Service Based Interoperable Framework
Conclusion and Future Work
Introduction GIS : An Information System which captures, stores, and analyzes data that refers to geographic location.
GIS applications : A collection of tools that allow users to create
interactive queries, analyze spatial information, edit data, maps, and present the results of all these operations.
EGIS : A geographic information system that is integrated
through an entire organization so that a large number of users can manage, share, and use spatial data and related information
EGIS Scenario
Figure: An EGIS scenario (Spatial Data Provider’s Repositories: R1, R2, R3. All data models should confirm to the Global Data model specified by the EGIS.)
Heterogeneity
Characteristics of Geospatial data: Hydrology Infrastructure Soil Land Use Geodetic Framework
Figure: Land Suitable for farming
Represent geographic locations with coordinates.
Has spatial and non-spatial attributes
Spatial relationship with other entities in a data set.
Temporal property - evolution over time.
Interoperability
The ability of two or more systems or components to exchange and share information.
Problems in sharing Geospatial information: −
Political, Institutional and Economic Problems: Copyright , Sensitive data etc.
−
Technical Problems: Heterogeneity
Reasons for heterogeneity: −
Layers created under different contexts.
−
Different access mechanism [flat file/database]
−
Diverse Data Formats
−
Storage mechanisms [disk / tapes]
Interoperability
Types of Heterogeneity −
Syntactic Heterogeneity - Proprietary Packages use proprietary internal representation which is sharable among proprietary organizations.
−
Structural Heterogeneity - “Water bodies overlapping a city” or “water bodies within a city”
−
Semantic Heterogeneity - “Mauza” or “Village”
A model driven framework can overcome the technical problems of Syntactic and Structural Heterogeneity involved in achieving interoperability. A model driven framework guarantees security of underlying geospatial data.
Problem Statement
A geospatial interoperable framework has to be implemented using a relational database with spatial capabilities. The framework shall support spatial and spatio-temporal data. In order to achieve interoperability, the framework uses data exchange standards such as Geography Markup Language(GML), and web service specifications such as Web Map Service (WMS) and Web Feature Service (WFS) as specified by the Open Geospatial Consortium (OGC).
Problem Statement
Objectives : −
Design of Geospatial Data Model using UML based on the spatial features.
−
Generation of GML Application schema from the UML data model and populating the database with data provided in GML form conforming to the Application Schema. – A standard encoding scheme.
−
Extension of Geospatial model to support spatiotemporal properties. Design the geospatial model to represent spatiotemporal features, by extending UML.
−
Integration of heterogeneous geospatial repositories in a geospatial services based interoperable framework.
Approach −
Geospatial Data Modeling for Village connectivity is designed. And the standard encoding scheme is used to populate data sources.
−
Extended UML notations are used to design a model for the domain of Education.
−
The service based interoperable framework is designed based on the models for village connectivity and settlements.
−
Tools and Standards: −
IBM Rational Rose – For modeling spatial / spatiotemporal models.
−
Shapechange – For generation of application schema.
−
Oracle 10g Spatial Database
−
OGC Standards for Geospatial web Services.
Related Work
Geospatial Data Modeling : −
Climate Science Modeling Language [Woolf , 2006]
−
Dept. of Homeland Security Geospatial Data Model(DHSGDM) [2]
Modeling Temporal Dimension −
TimeDB [Carvalho, 2006]
−
Spatio-temporal E-R diagrams (STER) or Spatio-temporal UML diagrams (STUML) [Wang,2000]
−
Aeronautical Information Exchange Model (AIXM) -2007 [5]
−
Online and offline UML Model Comparison [Girschick ,2006], [Xing,2005]
Related Work
Geospatial Standards −
A modeling approach based ISO rules of application schema [ISO,2001] has been specified in [Jang,2006] .
−
Geography Markup Language (GML) as a standard means for encoding[GML,1980]
−
The OGC has developed a specification for a software framework which involves Web Map Service, Web Feature Service and Web Coverage Service are classified as transmitted data style.[Hyun2000]
Architecture
yes
MM = Model Matcher QM = Query Model
Oracle Database
yes Match?
Geospatial Data Modeling
Achieves Syntactic and Structural interoperability in geospatial data sources. <<enumeration>> RoadCategory
AdministrativeBoundary <>+NSDIThemes NSDIThemes
Bidirectional Association
Realization
(from Bl ockRoad)
(from BlockRoad)
Metalled : Unmetalled :
(from BlockRoad)
+NSDIThemesMember
Block (from BlockRoad)
+BlockMember
Block_id : string Block_name : string
Village_name : string
+NSDIThemesMember
+contain +in
Communication (from Bl ockRoad)
Settelement (from BlockRoad)
1
Aggregation
Village_id : string
+CommunicationMember +CommunicationMember
Unidirectional Association
Village (from BlockRoad)
School +connect
*
Road (from BlockRoad)
raip_roads : string roads_type : RoadCategory linearGeometry : GM_Curve
(from BlockRoad)
School_name : string
Standard Encoding Scheme <<ApplicationSchema>> Village Connectivity
Fig: Creating UML Schema using IBM Rational Rose. <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SoI="http://www.nrdms.gov.in" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" targetNamespace="http://www.nrdms.gov.in" version="1.0">
Export XMI
XMI
Road Road_id : number Road_type : RoadType Conversion Rules linearGeometry
Fig: Creating GML Application Schema Using rules of conversion
GML <extension base= “gml:AbstractFeatureType”> <sequence> <element name=“Road_id” type= “string”/> <element name=“Road_type” type= “string”/> <element name=“linearGeometry”type= “gml:LineStringPropertyType”/>
Standard Encoding Scheme
The GML schema generated from UML Class diagram is further mapped into object oriented database along with GML data by using a GMLtoOracle parser.
Fig. Tables created using Standard Encoding Scheme.
Fig. Standard Encoding Scheme
Modeling Temporal Dimension
Spatiotemporal features : −
Objects with continuous motion: moving objects like sea creatures being tracked by GPS.
−
Discrete changes of and among objects; landparcels, rivers change their position discretely.
−
Motion as well as changes of shape. storms.
Benefits : −
Improved support for Time variant geo-referenced information.
−
Can provide snapshot view or history of evolution of a spatial feature.
−
Event based or State based temporal analysis can help in decision making.
Modeling Temporal Dimension
Limitation of UML Notations: −
It is possible to enter each temporal attribute of a class into a separate associated class with the timestamps and spatial extents as attributes.
−
creation of artificial constructs to convey temporal semantics which would significantly complicate the schema diagram.
School
SchoolType
Schoolid : Integer Name : String
Purpose : Stri ng
Purpose SchoolId : Intege r TypeId : Integer Pu rpose : Stri ng From : Date To : Date
Modeling Temporal Dimension
Remedy - Create symbols which adds spatio-temporal semantics to traditional UML notations. Temporal database concepts of Valid time and transaction time are required to be implemented. We use the semantic notations from Spatio Temporal UML (STUML) to represent the spatio-temporal characteristics of attributes. A specification Box – describes nature of time interval.
Fig: Basic Constructs
Modeling Temporal Dimension
Fig: Primitives Used in Modeling Spatiotemporal Data
Modeling Temporal Dimension •
Spatiotemporal Model of Education domain: •
•
Yearly school grading based on number students passed in each year. The schools are used for other purposes such as election booths, relief camps during flood drought etc.
Grading is done depending on the number of students passed in each year Grading TotalStudent : number StudentPassed : number Year : string Grade : string SpecificationBox Grading: TimeDimen:transaction Time Model: regular (yearly)
School SchoolId : number SchoolName : string +near +has > Shape : point established : date SchoolType : > * +from state1 +inside <s> +to state2
Road RoadType : string RoadName : string FNode : int TNode : int RoadLink : string
+used as +has +has
District DistrictName : string 1 +contain * Block BlockName : string +contain
Purpose FromDate : date ToDate : date PurposeType : purposetype details : string SpecificationBox Purpose TimeDimen:transaction Time Model:irregular
Students StudentRollNo : number StudentName : string DOB : date Address : string SpecificationBox Students Time Model:irregular
Teacher TeacherID : number TeacherName : string DOB : date joinedOn : date RetirementOn : date Address : string SpecificationBox Teacher Time Model:irregular
1
* Village VillageName : string Population : >> 1
Specification Box for population: Time Dimen:valid Time Model:regular(Yearly)
Modeling Temporal Dimension
Representing Spatio-temporal Features in Database: −
History Table for each temporal feature.
−
History of association named “near” between School and Road features.
School SchoolID: integer SchoolName : string Established :Date SchoolType : > Operation Near
Road RoadName : string RoadType : string Operation
SID Sname Shp est
Stype
RdNear TKey
Tkey Stype RdNear TI
S1 SBC
1,1
12/06/06 H
R2
T1
T1
S2 AGT
4,6
23/01/07 H
R2
T2
T1
R1
t1-t4
T2
R2
t1-t3
:
:
Sn ..
:
:
:
:
:
..
..
..
..
Tn
School Table RdName
Rtype
R1
Type1
R2
Type2
R3
Type1 Road Table
P
t1-t2
School History Table
Modeling Temporal Dimension
Sample Queries −
Query 1 : Count of schools in “village 1” and “village 2” between years 2000 to 2005.
−
Query 2 : Grades of school 1 between years 2001 to 2004.
Fig: Results of Query 1
School Name Grade
Year
School1
A
2001
School1
B
2002
School1
A
2003
School1
A
2004
Fig: Results of Query 2
Model Checker
Need: −
The service provider’s models are to be harmonized with the global data model.
−
Equivalence check
M2 is said to be equivalent to M1 if M2 ⊆ M1.
Automata design tools can be used for checking properties of models.
Model Checker
Simple PROMELA Interpreter (SPIN) has been used for checking properties of models. A model is simulated as a procedure say Global() and Submodel()
School SchoolId : Integer SchoolName : String
School SchoolName : String
+inside
Village VillageName : String
+inside
Village
proctype Global(){ atomic { run School(0,1,1); //feature inside[1]=true; // association run Village(1); //feature } } proctype Submodel(){ atomic { run School(1,0,1); //feature inside[1]=true; // association run Village(1); //feature } }
Model Checker
Classes , Attributes and associations are also modeled as procedures. Sc[0] and v[0] are Boolean variables indicating presence of a class in model 0 i.e. Global model. a LTL formula Fɸ or symbolically, <> ɸ meaning that Property ɸ eventually holds somewhere in subsequent path in automata. Properties to verify:
#define match ((sc[0] | sc[1])==true && (v[0] & v[1]) == true)
#define unmatch ((!sc[0] & sc[1])==true || (!v[0] & v[1])== true) ..[2]
..[1]
To verify the match with respect to associations the following property is defined: #define asso (inside[0] & inside[1]==true)
..[3]
Model Checker
Results of model comparison:
If a UML model could be represented as an automata, such a Model checking tool can be integrated into the proposed framework.
Service Oriented Architecture
Web Service - a software interface that describes a collection of operations that can be accessed over the network through standardized XML messaging. Allows applications to communicate with each others in a platform independent manner.
Figure: Web Service Model
Geospatial Web Services
Figure: Geospatial Web Services
Service Based Interoperable Framework
The aim of this design is to be able to be able to integrate services representing isolated data repositories at a central location called a Registry Service. OGC Client
Registry Service
Geospatial Repository1
Geospatial Repository2
Figure: Design Aim of framework
Service Based Interoperable Framework
The IITKGP Geoservice is an implementation of basic services WMS and WFS. Apart from these basic services a Registry service is to be introduced in order to implement the central location.
Service Based Interoperable Framework
Web Registry Service (WRS) - run-time discovery and evaluation of resources - maintains a directory or metadata information about each Data provider.
Service metadata includes location, point of contact information and other keyword information that uniquely identify the service. Operation metadata specifies the operations which are offered by a service.
WRS requests :
GetCapabilities :
RegisterService - for registration of a service and
GetDescriptor - for handling client queries this request harvests metadata from other services.
Service Based Interoperable Framework Integrated Client
WRS
getCapabilities() return XML getRecordRequest() return XML getCapabilities() return XML
Figure: Interface Diagram for proposed framework
W*S
Application Scenario All the Web feature and Web map services advertise their metadata to the Web Registry Service through a interface for catalog service. •
An assumption is made that other data providers follow the global schema. •
Catalog Service (CSW) Requests:
•
• •
•
GetRecordById() GetRecords() - GetDescriptor() of WRS Transaction() - RegisterService() of WRS
Application Scenario WFS_Settlements
WFS_transport
Fig: WFS_Base Data Model
Application Scenario Standard encoding scheme is used to populate transport and settlement data at respective Data Sources.
Fig: GML Application Schema
Fig: GML Data
Service Based Interoperable Framework We use the metadata in catalog service to implement functionality of a registry service.
Service Metadata
Operation Metadata
Application Scenario
1. Data Providers Advertise Service Metadata
3. Query Results
2. Client determines service to be contacted using metadata and redirects query
Application Scenario
Queries
Query Model1: “Which schools are inside Block1”
Query Model2 : “Which railway line is crossed by NH1”
Application Scenario
Queries
Query Model4: “Which bridge can Be taken to cross railway line code 1034”
Query Model3: “Which are the resorts in Block1”
Application Scenario
Figure: Results for Query 1
Application Scenario
Figure: Results for Query 2
Application Scenario
Figure: Results for Queries 3 and 4
Conclusion and Future Work
Sharing geospatial information has become an issue to be addressed because of its heterogeneity. A standard data model is essential for data sharing to be effective. We have addressed the problem of syntactic heterogeneity. An Object oriented modeling approach for geospatial data and demonstrates a standard encoding scheme takes the structured geospatial data (GML) into an object relational database (Oracle 10g Spatial).
Conclusion and Future Work
we used additional constructs to UML model that represent the semantics of spatio-temporal data. These features were also represented in the database using additional tables to maintain feature history. The proposed framework is based on the service-based computing paradigm and adheres to the OGC specified interface standards. Future Work: −
Loosely Coupled Web Services
−
Model Checking
References [Hyun,2002] Do-Hyun ,Kim M. K., “Web GIS Service Component Based On Open Environment” ,IEEE ,2002. [Woolf , 2006] A. Woolf, B. Lawrence, R. Lowry, K. Kleese van Dam, R. Cramer, M. Gutierrez, S. Kondapalli, S. Latham, D. Lowe, K. O’Neill, and A. Stephens, “Data integration with the climate science modelling language,” Advances in Geosciences, vol. 8, pp. 83–90, 2006. [Online]. Available: http://www.adv-geosci.net/8/83/2006 [Carvalho, 2006] A. S. A. Carvalho, C. Ribeiro, “A spatio-temporal database system based on timedb and oracle spatial,” in Proceedings of the IFIP International Federation for Information Processing, 2006, pp. 11–20.
References [Wang,2000] X. Wang, X. Zhou, and S. Lu, “Spatiotemporal data modeling and management: A survey,” in TOOLS ’00: Proceedings of the 36th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-Asia’00). Washington, DC, USA: IEEE Computer Society, 2000, p. 202. [Girschick ,2006]T. D. Martin Girschick, “Difference detection and visualization in uml class diagrams,” TUD-CS-2006-5, 2006. [Online]. Available: http://www.mm.informatik.tudarmstadt.de/staff/girschick/publications/2006 umldiffcld.pdf [Xing,2005] Z. Xing and E. Stroulia, “Umldiff: an algorithm for object-oriented design differencing,” in ASE ’05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering. New York, NY, USA: ACM, 2005, pp. 54– 65.
References [ISO,2001] Rules for application schema, ISO (2001b),Final text of CD 19109,Geographic information ISO/TC 211 N 1127, 2001. [Jang,2006] S.-G. Jang and T. J. Kim, “Modeling an interoperable multimodal travel guide system using the iso 19100 series of international standards,” in GIS ’06: Proceedings of the 14th annual ACM international symposium on Advances in geographic information systems. New York, NY, USA: ACM, 2006, pp. 115–122. [GML,1980] OpenGIS Geography Markup Language (GML) Implementation Specification. New York, NY, USA: ACM, 1980.
Thank You.