Web GIS Technologies
A R Dasgupta
Honorary Advisor
GIS Development
Reference Model for Open Distributed Processing
RM-ODP Viewpoints
Viewpoint Name Definition of RM-ODP Viewpoint
Enterprise Focuses on the purpose, scope and policies for that system.
Information Focuses on the semantics of information and information processing.
Computational Captures component and interface details without regard to distribution
Engineering Focuses on the mechanisms and functions required to support distributed interaction between objects in the system.
Technology Focuses on the choice of technology.
OGC Services FrameworkOSF Services OGC Service Taxonomy
Application Services Geographic Human Interaction
Registry Services Geographic Information Management
Data Services Geographic Information Management
Portrayal Services Geographic Human Interaction
Processing Services Geographic Processing Interaction
OGC Services
Realising Services in Web
Services Interoperability Stack
OGC Simple Feature Specification
Interface for OpenGIS Simple Features. Designed for tightly coupled applications Spatial and non-spatial properties Two dimensional The supported geometry types include points, lines, linestrings,
curves, and polygons. application programming interfaces (APIs) provide for publishing,
storage, access, and simple operations on Simple Features. Three profiles
CORBA OLE/COM SQL
Geometry Class Hierarchy
Geometry Class Operations
SQL Schema for Feature Tables
Model the Data
Design the schema Use an abstract modeling technique such as UML ISO 19100 series
ISO/TS 19103 – Conceptual Schema Language (units of measure, basic types),
ISO 19107 – Spatial schema (geometry and topology objects),
ISO 19109 – Rules for application schemas (features), etc.
Make sure partners agree to the model
Geography Markup Language (GML)
XML Extensible Markup Language (XML) is means of encoding a document
such that its content is separated from its styling A Schema (.xsd) defines the document structure A namespace defines a particular XML vocabulary A style sheet (.xsl) defines how to represent the document The document (.xml), schema and style sheet are all XML documents
Scalable Vector Graphics is an XML specification for graphics Resource Description Framework (RDF) Site Summary (RSS) is an
XML specification for syndication of news stories An XPath is a means to address a part of a document An XQuery is used to query an XML document Programmers can interface with an XML document using Document
Object Model (DOM) or a Simple API for XML (SAX) However
XML is NOT a database XML is NOT a programming language
Example of XML and XSD
A Sample Stylesheet
SVG Display in a Browser
Another Information Community’s Schema
Highway is:_Pavement thickness_Right of way_Width ….
Cell transm. Platform is:_Location_No. of antennas_Elevation ….
One Information Community’s Schema
Road is:_Width_Lanes_Pavement type ….
Cell tower is:_Owner_Height_Licensees ….
(an instance of Road in one IC’s schema)
Mayberry’s Cell Tower
(an instance of Cell Transm. Platform in another IC’s schema)
Mayberry Road
GML defines a data encoding in XML that allows geographic data and its attributes to be moved between disparate systems
GML: Representing Geographic Features
Geographic Data
…and its GML Schema…
…and a GML snippet
Web Services Broad interpretation of Web
Services. http (post/get) SOAP Rest (somewhat!)
Provide: access to data data transactions access to metadata metadata transactions visualization (maps) data processing
Client
WS
XML Request (message)
XML Response (optional attachment)
General Model
Web Registry Service
WRS Characteristics Support for searching and retrieving inspired by
Z39.50 services (search, present) Support for publishing many kinds of (meta)data—
more than just data product or service descriptions Employs a general and flexible model (ebRIM) that
can accommodate arbitrary information resources Common operations inspired by WFS requests (e.g.
transaction) Schema-agnostic—the content of metadata may
conform to any schema or Internet media type (e.g. application/xml, application/pdf, audio/mpeg, image/png)
Role of Registry Services
Purpose: locate,access, and managearbitrary metadata inan open, distributedsystem
Registry Interfaces
Client (Browser)
Service Provider
Find Publish
Bind
service offertype definitionservice instance
A registry isintended to supportthe retrieval,management andstorage of sharedmetadatainformationresources
Web Mapping Service (WMS)
OGC Web Mapping Service (WMS) WMS
Primary specification for requesting maps and visualization via the WWW.
ISO’s WMS draft (Doc. 19128) is based on the OGC WMS specification.
Digital Earth Viewer example Calling client specifies
the bounding box of the layers needed, the styles in which these layers are to be displayed, the spatial reference system to be used, the desired output format, the output size, And background transparency and color.
OGC Web Mapping Service (WMS)
3 requests getCapabilities: obtain service level metadata
describing service content and acceptable request parameters .
getMap: obtain a map image whose geospatial and dimensional parameters are well-defined.
getFeatureInfo (optional): ask for information about particular features shown on a map.
<Service><Name>CubeWerx WMS</Name><Title>CubeWerx Web Mapping Service</Title><Abstract>Web Mapping Server maintained by X.</Abstract><OnlineResource>http://www.server.com/wms.cgi?</OnlineResource>
</Service>
<Layer queryable="1"> <Title>Weather Forecast Data</Title> <SRS>EPSG:4326</SRS> <LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
<Extent name="time" default="2000-08-22">1999-01-01/2000-08-22/P1D</Extent> <Layer>
<Name>Clouds</Name> <Title>Forecast cloud cover</Title>
</Layer> <Layer>
<Name>Temperature</Name> <Title>Forecast temperature</Title>
</Layer></Layer>
<Capability> <!-- defines which WMS operations this service instance supports, what --> <!--distributed-- computing platform is supported for each service and what the --><!-- entry point is for each operation. --><GetMap> <Format>image/gif</Format> <Format>image/png</Format> <Format>image/jpeg</Format> <DCPType> <HTTP> <Get>
<OnlineResource xmlns:xlink=http://www.w3.org/1999/xlink xlink:type="simple“ xlink:href="http://hostname:port/path" /> </Get> </HTTP> </DCPType></Capability>
OGC WMS – Get Capabilities
OGC WMS GetMap
Spatial Context Spatial Reference System (EPSG) Corners of map (geographic extent) Image width & height
List of “layers” Layer name Symbolization style
Return Format GIF | JPEG | WebCGM | SVG, etc. Background info (color, transparency) Exception Type = InImage | Encoded/Parseable
WMS overlay exampleREQUEST1: http://amapco.com/mapserver.cgi?
VERSION=1.1.0&REQUEST=GetMap&SRS=EPSG:4326&BBOX=-97.105,24.913,78.794,36.358&WIDTH=560&HEIGHT=350&LAYERS=AVHRR-09-27&STYLES=&FORMAT=image/png& EXCEPTIONS=application/vnd.ogc.se_inimage
REQUEST2: http://b-maps.com/map.cgi?
VERSION=1.1.0&REQUEST=GetMap&SRS=EPSG:4326&BBOX=-97.105,24.913,78.794,36.358&WIDTH=560&HEIGHT=350&
LAYERS=BUILTUPA_1M,COASTL_1M,POLBNDL_1M&FORMAT=image/png&STYLES=style1,style2,style3&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage
WMS Context Approved specification for describing, in a portable and platform-independent format (XML) , a specific
grouping of one or more maps from one or more map servers for storage in a repository or for transmission between clients.
Think of it as a map “bookmark”
WMS Context document<ViewContext> <General> <Window width="500" height="500"/> <BoundingBox SRS="EPSG:26986" minx="235000" miny="896000" maxx="236000" maxy="897000"/> <Title>Boston base map</Title> </General> <LayerList> <Layer queryable="0" hidden="1"> <Server service="WMS" version="1.1.0"> <OnlineResource xlink:type="simple" xlink:href="http://maps.ma.us/main.jsp?"/> </Server> <Name>Color+Orthos+2001</Name> <Title>Color Orthos 2001</Title> <Abstract>MassGIS Color Orthos 2001</Abstract> <SRS>EPSG:26986</SRS> <FormatList> <Format current="1">image/jpeg</Format> </FormatList> <StyleList> <Style current="1"> <Name>Class</Name> <Title>Class</Title> </Style> </StyleList> </Layer> </LayerList></ViewContext>
Web Feature Service (WFS)
WFS RequestGetCapabilities
Web Feature Service (WFS)
Client
Opaque Feature Store
Web Feature ServerWFS
WFS Response
GetCapabilities<Service>
<Name>CubeWerx WFS</Name><Title>CubeWerx Web Feature Service</Title><Abstract>Web Feature Server maintained by X.</Abstract><OnlineResource>http://www.server.com/wfs.cgi?</OnlineResource>
</Service>
<!– Defines the list of feature types that this instance can operate upon and --><!-- which operations are supported on each feature type--><FeatureTypeList><Operations> <Query/> </Operations><FeatureType>
<Name>Roads</Name><SRS>EPSG:4326</SRS><LatLongBoundingBox minx="-179" miny="-85“ maxx="179“ maxy="83"/><Operations>
<Insert/><Update/><Delete/>
</Operations></FeatureType></FeatureTypeList>
<!– Defines the capabilities of the filter supported by this feature instance--><ogc:Filter_Capabilities>
<ogc:Spatial_Capabilities> <ogc:Spatial_Operators> <ogc:BBOX/> </ogc:Spatial_Operators>
</ogc:Spatial_Capabilities> </ogc:Filter_Capabilitites>
<Capability> <!-- defines which WFS operations this service supports, what DCP is supported --> <!-- for each service and what the entry points is for each operation--></Capability>
WFS RequestDescribeFeature
Web Feature Service (WFS)
Client
Opaque Feature Store
Web Feature ServerWFS
WFS Response
DescribeFeatureType<?xml version="1.0" ?><DescribeFeatureType version="1.0.0“ service="WFS"
xmlns="http://www.opengis.net/wfs"xmlns:ns01="http://www.server01.com/ns01"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TypeName>ns01:Roads</TypeName>
</DescribeFeatureType>
<complexType name=“Roads"><complexContent>
<extension base="gml:AbstractFeatureType"><sequence>
<element name="WKB_GEOM“ type="gml:LineStringPropertyType">
<element name="SURFACE_TYPE" minOccurs="0"></element>
<element name="NLANES" nillable="true" minOccurs="0"><simpleType><restriction base="integer"> <totalDigits value="2"/> </restriction> </simpleType></element>
</sequence></complexContent></complexType>
WFS RequestGetFeature
Web Feature Service (WFS)
Client
Opaque Feature Store
Web Feature ServerWFS
WFS Response
getFeature
<GetFeature version="1.0.0“ service="WFS“ xmlns:myns=http://www.someserver.com
<Query typeName="myns:ROADS“> <ogc:PropertyName>myns:PATH</ogc:PropertyName> <ogc:PropertyName>myns:LANES</ogc:PropertyName> <ogc:Filter><ogc:Within> <ogc:PropertyName>myns:PATH</
ogc:PropertyName><gml:Box>
<gml:coordinates>50,40 100,60</gml:coordinates> </gml:Box></ogc:Within>
</ogc:Filter> </Query></GetFeature>
<wfs:FeatureCollection<gml:featureMember><ROADS fid="ROADS.100"><PATH> <gml:LineString gid="1“ srsName="epsg.xml#4326"> <gml:coordinates>10,10 10,11 10,12 10,13</gml:coordinates> </gml:LineString></PATH><NLANES>4</NLANES></ROADS></gml:featureMember>
<gml:featureMember><ROADS fid="ROADS.105"><PATH>
<gml:LineString gid="2“ srsName="epsg.xml#4326"><gml:coordinates>10,10 10,11 10,12</gml:coordinates> </gml:LineString>
</PATH><NLANES>2</NLANES></ROADS></gml:featureMember></FeatureCollection>
Filter Encoding Implementation Specification
XML encoding of the OGC Common Catalog Query Language (CQL) as a system neutral representation of a query predicate.
Can be used by services to query objects from a web-accessible repository.
Examples Spatial operators (equals, disjoint, touches, within, overlaps,
crosses, intersects, contains, within, beyond, bbox) Comparison operators (propertyIsEqualTo,
propertyIsNotEqualTo, propertyIsLessThan, propertyIsGreaterThan, etc)
Logical operators (And, Or, Not) Arithmetic operators (Add, Sub, Mul, Div)
Copyright 2003 Global Science & Technology, Inc.
Approved OpenGIS® Specifications Tightly coupled:
Simple Feature Access 1.1 – OLE, SQL, CORBA
Gridded Coverages 1.0 Focus on Web Services
(loosely coupled). Catalog 2.0.1 Coordinate Transformation
1.1 Web Map Service (WMS
1.3) Web Feature Service 1.1 Filter 1.1
Geography Markup Language 3.1.1 (GML)
Style Layer Descriptors 1.0 Web Coverage Service 1.0 Web Map Context 1.0 Location Service Core
Specification Set 1.0 Geographic Objects 1.0 GML in JPEG 2000 1.0 Web Map Context 1.1 OGC Common 1.0
My contact details:
A. R. Dasgupta
Honorary Advisor, GIS Development
and
Distinguished Professor,
Bhaskaracharya Institute for Space Applications and Geoinformatics,
Gandhinagar 382007
Email: [email protected]
Fax: +91-(79)-23213091
Phone: +91 98253 29382