Upload
erick-dalton
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Internet GIS: The State of the Art and
Future Development
Zhong-Ren Peng, Ph.D.Associate Professor
Director, Center for Advanced Spatial Information Research (CASIR)
University of Wisconsin – [email protected]
February 12, 2003
3
Internet GIS EvolutionsStatic Web Mapping HTML to GIS server via CGI script
Interactive Web Mapping Client-side Plug-ins and Helper Program GIS ActiveX Controls Java-based Internet GIS
Distributed Internet GIS CORBA/JAVA Model COM+/ActiveX Model
Web Services .Net model GML, WFS
4
InteractivityLow High
High
Low
Static Map publishing
Static Web Mapping
Interactive Web Mapping
Distributed GIS
Fun
ctio
nali
ty
• Static map images
•CGI
•Forms
•Tables
•ISAPI
•NSAPI
•Dynamic HTML
•Scripts
•Plug-ins
•ActiveX controls
•Java Applets
•Servlets
•JavaBeans
•Java Applets
•ActiveX controls
•CORBA/Java
•DCOM/
•Object-based documents
Web Services
•.NET model
• GML
• WFS
5
Static Web Mapping
How does it work?
WWWBrowser
WWWServer(http)
CGIor DLL
GISServer
User Request
Deliver Results
Sen
d V
aria
bles
Ret
urn
Res
ults
Invoke
TranslateResults
6
Drawbacks of Static Web Mapping
Every user request has to go through the Internet to activate CGI script every time.
Creates heavy traffic over the Internet, because every command (even very simple ones) has to be operated on the GIS server.
Maps are static images.
HTTP/CGI is stateless. So users cannot draw a box or a circle or select spatial features directly on the map images.
7
Interactive Web Mapping
Interactive Web Mapping allows the user to manipulate GIS data and conduct GIS analysis at the client/user side, including:GIS Plug-Ins and Helper ProgramsGIS Java Applets (e.g., ArcIMS)GIS ActiveX Controls (e.g., GeoMedia Web
Map)
8
Limitations and Problems of Current Internet GIS
Not Interoperable; Client-side applications can only communicate
with its own kind of server. Cannot access different data from different server. Client-side applications cannot talk with each
other.
Slow performance.Limited Functionality.Some output are images with poor quality.
9
Trends of Internet GIS
Distributed GIS for GIS professionals. LEGO-like distributed GIS components
GIS Web Services for General Public Access. Geographic Markup Language (GML) Web Feature Services Scalable Vector Graphics
Interoperable Geospatial Data GML
10
LEGO-like Distributed Components and Data Objects The LEGO metaphor refers to children’s toy blocks that can be interlocked and stacked. LEGO-like distributed components refer to software modules that can be moved and combined to form a dynamic GIS package on demand. Distributed components will be independent from different operating systems, hardware, network environments, vendors, and applications – Interoperable.
11
GIS component
Geodata object
User Scenario:
Map Display (RLIS)
User machine: node-A
Mike
Dynamic Construction
GIS node-A(Client)
GIS nodes (Servers)
Original Setting
GIS node-A
GIS node-B
GIS node-C
Migrating
Connecting
Task completed (restore original setting)
GIS node-A
GIS node-B
GIS node-C
LEGO-like Distributed GIS Model
13
Dynamic Construction for GIS Components
HTTP
b). Migrating GIS components.
a). Invoking GIS components remotely
RPC
GIS Node-A
GIS Node-AGIS Node-B
Client-side Component Service
GIS Node-B
HTTP Server GIS component
GIS Application
GIS Application
Component Container
ClientStub
GIS component
Server-side Component Service
ServerSkeleton
14
Dynamic Construction for Geodata Objects
b). Migrating data objects
a). Connecting data objects remotely
GIS Node-A
Data Container(Local Disk)
FTP
SQL
GIS Node-A
GIS Node-B
Database Server
Database connectivity API: (JDBC or ODBC) Data object
GIS Node-B
FTP Server Data object
GIS Application
GIS Application
15
A Thick Client Solution for a Simple task on a fast
network connection
Client components
Server components
GIS buffering component
Buffering component downloaded from the server
16
A Thin Client Solution for a Complex task on a slow
network connection
Client components
Server components
GIS TIN-model component
TIN Modeling result is downloaded from the server
17
Data MigrationGIS task: Buffering
Network: 10MB Ethernet
Buffering component
Client-side GIS Component
Wisconsin LIS
Server-side Data Objects
Wisconsin LIS[Wisconsin LIS ]is
downloaded from the server
18
Remote Data AccessTIN modeling, Network: 56K
modem
TIN-modeling component
Client-side GIS component
Wisconsin DEM
Server-side Data Objects
19
CORBA/JAVA Model Implementation
GIS Server
DatabaseORBCORBA ServerApplication Server
ORBS
Web Browser
Java Applet
Web ServerHTTP Request
Load
Applet
CORBA/I IOP
Client Tier Middle Tier Server Tier
EJBS
20
DCOM/ActiveX model Implementation
Web Browsers
--HTML & Forms
--DHTML
--XML
--ActiveX Controls
Web Server ( HTML Document)
Application Servers
--DCOM/ASP
--CGI/ISAPI
--ActiveX Controls
GIS Server
Database
SQL Server
HTTP/DCOM
TCP/IP
Client Tier Middle Tier Server Tier
Web Browsers
--HTML & Forms
--DHTML
--XML
--ActiveX Controls
Web Server ( HTML Document)
Application Servers
--DCOM/ASP
--CGI/ISAPI
--ActiveX Controls
GIS Server
Database
SQL Server
HTTP/DCOM
TCP/IP
Client Tier Middle Tier Server Tier
21
Geography Markup Language (GML)
GML is an XML encoding for the transport and storage of geographic information.Includes both the geometry and
properties of geographic features.
GML standard is being developed by the OpenGIS Consortium.
22
What is GMLGML Is a means to encode geospatial data
GML is a means to transport geospatial data over the Web
GML is a means to store geospatial data.
GML Is NOT a Presentation Language for Data Display
GML Is NOT A Programming Language for Data Processing
25
Why GML? Interoperability!
1. To describe spatial features based on a common data model – OGC’s simple feature model;
2. To use a set of basic geometry tags to describe the spatial features (Standard metadata); so that they can be easy to find and interpret.
3. To create a mechanism for creating and sharing application schemas, so that different data set created by different parties can be easily integrated.
26
GML – An Example
<Point> <coord> <X>10.0</X> <Y>2.0</Y> </coord></Point>
OR<Point> <coordinates>10.0,2.0</coordinates></Point>
27
GML Schema: -- An Example
<element name="coord" type="gml:CoordType" />
<complexType name="CoordType"> <sequence> <element name="X" type="decimal"/> <element name="Y" type="decimal" minOccurs="0"/> <element name="Z" type="decimal" minOccurs="0"/> </sequence></complexType>
29
How to Display GML data on the Web
Scalable Vector Graphic file,
A W3C standard format.
Works directly with the Web browser.
Requires a SVG plug-in (free from Adobe or other vendors).
31
How To Extract data
OpenGIS Web Feature ServerAn OpenGIS implementation specificationCan extract data from the data store in the data’s original formats.Transform extracted data to GML.Transport the extracted data to the Web client.
34
Advantages of GML+SVG+WFS
Standard-based, Non-proprietary
Interoperable GIS components and data,
Feature-level data exchange.
Text-based, easy to understand
High quality maps on the Internet,
Fast response on the client-side.
35
Application Tier
Listener
Business Facade
Business Logic
Data Access
Database
User Interaction and Presentation
Database Tier
Presentation Tier
Service
Request
Service
Response
Desktop Laptop PDA Mobile phone
A Web Service / .NET Model for A Distributed GIS
36
Web Service Presentation Layer
The editor -- editing the data and saving the change of the data.The viewer -- displaying the underlying data but does not allow the user to change the data. The viewer -- a component container that user can use it to locate, retrieve and assemble other “operator” components such as buffer analysis, spatial overlay, projection conversion, etc .
37
Web Service Listener
1. Receive incoming service requests, parsing the messages, and dispatching the request to the appropriate method on the business facade;
2. Package the response from the business facade into a message and send that back to the client;
3. Handles requests for contracts and other documents about the Web Service.
38
Web Service Business Facade
Provides a simple interface that maps directly to operations provided by the business logic layer. In a simple Web Service, all the business logic might be implemented by the business facade.Operators are located in the Business Logic layer.
39
Web Service Business LogicBusiness Logic uses Operators to transform, combine, or create data, and generate outputs.Operators offer functions of geoprocessing and analysis tools, e.g., buffer analysis, spatial overlay, projection conversion, etc. Operators can be implemented by using Simple Object Access Protocol (SOAP). SOAP is an XML-based Remote Procedure Call that allow other programs to invoke .NET components and applications remotely.
40
Data Access Layer
The data access layer presents a logic view of the physical data to the business logic layer. The purpose is to isolate business logic from changes to the underlying data. Catalogs and Repositories of data, as well as Metadata, Names and Relationships components are located in the data access layer.
41
Catalogs and Repositories Catalogs are collections of metadata, or
information repositories about other data objects and operators. Data and service providers use catalogs to list and
advertise the availability of data and services. The user searches for catalogs first before getting to
the data repositories. Catalogs can be implemented by using Web Service
Definition Language (WSDL). WSDL is used to define the functions and services of
.NET components.
42
Catalogs and Repositories Repositories are collections of data.
Each item is given a name within the repository. Given a name, a repository can find the resource.Repositories can be implemented using Universal
Discovery, Description, and Integration (UDDI) . UDDI is a searchable registry database that
stores the metadata of .NET components and allow other programs to search/access these components
43
Data LayerThe “data” layer include data, metadata, names and relationships required by the Web Service. Data are raw information about an object. Metadata is descriptions about the data. Names are used to register and find data. A name makes sense only within a content or namespace. In a repository, a data name together with the repository name can be used to identify and locate data items. Relationships are links between named items.
44
Listener
Business Facade
Business Logic
Data Access
Database
User Interaction and Presentation
data, metadata, names and relationships
Operators (SOAP)
Viewer and EditorS
ervice R
equest
Service
Response
Desktop Laptop PDA Mobile phone
Catalogs and Repositories
Simple Operations
Dispatcher
45
Mobile GIS•Accessing GIS data and functionality via wireless devices.
–Laptop Computers,
–Personal Digital Assistants,
–Cellular phones (WAP phone or other Web-enabled smart phones).
47
Wireless network
Telecommunication Service Providers
Laptop/ PDA with CDPD modem
Base Station
Mobile Switching Center
Gateway Servers
Web Servers w/ GIS server
Web Browsers
Internet
Inte
rnet
TCP/IP
TC
P/I
P
Mobile GIS Architecture
48
Mobile GIS Architecture Using WAP Phones
GATEWAY
En
cod
ers
and
Dec
oder
s
CLIENTWeb Server and
Application Server
Encoded RequestsRequests
WA
E U
ser
Age
nt
Encoded Response Response (Content)Content
CGIScripts
etc.
49
What do these mean for LIS?Going online, going mobile
Provide data and processing tools online.
Provide GML conversion tools.
Provide editing tools for authorized online data editing.
Downloadable and interoperable GIS components.
Feature-level data search and download on-line.
Inter-connected geospatial data Web.