You are on page 1of 49

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(DHS-
GDM) [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

Oracle
yes yes
Database
Match?

MM = Model Matcher
QM = Query Model
Geospatial Data Modeling

Achieves Syntactic and Structural interoperability in geospatial
data sources.
<<enumeration>>
RoadCategory
Realization
AdministrativeBoundary
(from Bl ockRoad)
(from BlockRoad)
<<FeatureCollection>>+NSDIThemes Metalled : <undefined>
NSDIThemes Unmetalled : <undefined>
Bidirectional (from BlockRoad)

Association
+NSDIThemesMember
Block
Village
(from BlockRoad)
+BlockMember (from BlockRoad)
Block_id : string
Village_name : string
Block_name : string

+NSDIThemesMember +contain
Communication +in
(from Bl ockRoad)
Settelement
(from BlockRoad)
1 Village_id : string Aggregation
+CommunicationMember
+CommunicationMember School
(from BlockRoad)
+connect
Unidirectional School_name : string
* Road
Association (from BlockRoad)
raip_roads : string
roads_type : RoadCategory
linearGeometry : GM_Curve
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 <import namespace="http://www.opengis.net/gml"


schemaLocation="feature.xsd"/> GML
XMI <complexType name= “RoadType”>
XMI
<complexContent>
<extension base= “gml:AbstractFeatureType”>
Road
<sequence>
Road_id : number <element name=“Road_id” type= “string”/>
Road_type : RoadType Conversion Rules <element name=“Road_type” type= “string”/>
linearGeometry <element name=“linearGeometry”type=
“gml:LineStringPropertyType”/>
</sequence>
</extension>
</complexContent>
Fig: Creating GML Application Schema </complexType>

Using rules of conversion


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 Purpose : Stri ng
Name : String

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.

School Road District


Grading is done
depending on the SchoolId : number RoadType : string DistrictName : string
number of students SchoolName : string RoadName : string
+near <t>
passed in each year +has <d:int<t>> Shape : point FNode : int 1 +contain
established : date TNode : int
SchoolType : <d:string<t>> * RoadLink : string *
Grading +from state1 +inside <s> Block
TotalStudent : number
+used as <t>+has<t> +has<t> BlockName : string
StudentPassed : number +to state2
Year : string
Grade : string +contain 1
Teacher
Purpose
TeacherID : number 1 *
SpecificationBox Grading: FromDate : date Students
TeacherName : string Village
TimeDimen:transaction ToDate : date StudentRollNo : number DOB : date VillageName : string
Time Model: regular (yearly) PurposeType : purposetype StudentName : string joinedOn : date Population : <d:int<s<t>>>
details : string DOB : date RetirementOn : date
Address : string Address : string
SpecificationBox Purpose Specification Box for
TimeDimen:transaction SpecificationBox Students SpecificationBox Teacher population:
Time Model:irregular Time Model:irregular Time Model:irregular 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 SID Sname Shp est Stype RdNear TKey Tkey Stype RdNear TI
SchoolName : string S1 SBC 1,1 12/06/06 H R2 T1 T1 P t1-t2
Established :Date
S2 AGT 4,6 23/01/07 H R2 T2 T1 R1 t1-t4
SchoolType : <d:string<t>>
: : : : : : : T2 R2 t1-t3
Operation
Sn .. .. .. .. .. Tn School History
Near<t> Table
School Table

RdName Rtype
Road
R1 Type1
RoadName : string
RoadType : string R2 Type2

Operation R3 Type1
Road 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.

School Name Grade Year

School1 A 2001

School1 B 2002

School1 A 2003

School1 A 2004

Fig: Results of Query 1 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()

proctype Global(){
School
atomic {
+inside Village
SchoolId : Integer
VillageName : String run School(0,1,1); //feature
SchoolName : String
inside[1]=true; // association
run Village(1); //feature
}
}

proctype Submodel(){
School +inside
atomic {
Village
SchoolName : String 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) ..[1]

#define unmatch ((!sc[0] & sc[1])==true || (!v[0] & v[1])== true) ..[2]

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 Geospatial
Repository1 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 W*S

getCapabilities()

return XML

getRecordRequest()

return XML

getCapabilities()

return XML

Figure: Interface Diagram for proposed


framework
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

2. Client determines
service to be contacted
using metadata and
redirects query
3. Query Results
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.tu-
darmstadt.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.

You might also like