GIS on the Web
Dec 23, 2015
GIS on the Web
World Wide Web
Internet
Clients
Servers
FTP
Opportunity in Web-based Mapping• Disaster relief and
Emergency management• Global and national
geospatial information infrastructures• Digital Earth, NSDI,
GSDI• Crime management• Environmental Monitoring• Many others...
Web Mapping DefinedWeb servers and map Web servers and map viewer clients interact to - viewer clients interact to -
Whoville
WhovilleCedar Lake
Integrated View
Internet
• Display multiple layers Display multiple layers of geographic data within of geographic data within a single web applicationa single web application
• QueryQuery and update and update
• Provide interface for Provide interface for visualization, Decision visualization, Decision Support, etcSupport, etc..
• Support geocoded raster, Support geocoded raster, vector, matrixvector, matrix, and other , and other datadata
• Discover, access and Discover, access and retrieve views from retrieve views from multiple serversmultiple servers
Crime
Social Services
LandParcel
FederalProgram
Weather
Environment
ParcelsRoadsImagesBoundaries ...
CatalogView
Framework(Clearinghouse)
Mapping on the WebMapping on the Web
TodayToday
How can I combine data from each of theseHow can I combine data from each of these
sources to answer my question?sources to answer my question?
What is the OpenGIS?
• Open GIS Consortium (OGC) • Non-profit, international voluntary consensus standards organization• Industry, government, and university members
• Over 260 members worldwide – 30 countries & 5 continents• 91 European members - 19 countries• 35 Asia-Pacific members - Japan, Republic of Korea, Australia, China, and
Thailand
• OGC collaborates and works closely with:• International Organization for Standardization (ISO) • World Wide Web Consortium (W3C)• OASIS• And others…
OGC Membership Levels
• OGC members participate at four levels:• Associate: Commercial and university members granted non-
voting participation in Technical Committee, and full access to OGC technical documents.
• Technical: participate and vote in OGC Technical Committee, creating the OpenGIS® Specifications in Special Interest and Working Groups.
• Principal: participate and vote in OGC Technical and Planning Committees, providing management of OGC Specification Program and Interoperability Program and guides OGC Technology Roadmap and Interface Development Schedule.
• Strategic: highest level of OGC membership, voting in both the OGC Technical Committee and the OGC Planning Committee and receive additional benefits from the Consortium based on a specific business plan jointly developed with OGC.
Approved Specifications
• Simple Feature Access – OLE, SQL, CORBA• Catalog 1.1.1• Coordinate Transformation 1.1• Grid Coverages 1.0• Web Map Service 1.1.1 (2.0 in final edit) (WMS)• Geography Markup Language 3.0 (GML)• Web Feature Service 1.0• Filter 1.0• Style Layer Descriptor 1.0 (SLD)• Web Coverage Service 0.0 (WCS)• OpenLS• OGC Web Services (Ongoing)• Web Map Client Configuration
WMS: Web Map Service• Mature, well-established specification
• Version 1.0 issued 2000-04• Version 1.1.1 issued 2001-12• Server & client support in many vendor products &
freeware
• Scope: geographic data rendered as images ("maps"),not actual data values• Similar to ArcIMS Image Server
Demo: see lifemapper.org orWestern Australia: http://atlas.walis.wa.gov.au/servlet/com.esri.wms.Esrimap?ServiceName=WA_Atlas_GN_WMS&Format=image/PNG&
WMS - getCapabilties
• allows the server to advertise what it can do:• available layers• supported output projections• supported output formats• scale hints• extent of data
• XML format
DNR Photo Server (capabilities)
WMS - getMap
• allows the retrieval of a map from a web server
• user supplies bounding box, image size, format, error handling, etc…
• server responds with an “image”, typically a web-ready format like GIF, PNG or TIFF
WMS – getFeatureInfo
• allows the retrieval of simple feature attributes
• user supplies an x,y coordinate pair and a layer of interest
• server responds with attribute information in HTML, GML or arbitrary ASCII format
WMS Limitations
• all you get is a picture, not the data• limited control over how the data is
“styled”• particularly limiting with regards to labeling• supports only a small portion of
functionality typically supported by a vendor
WFS: Web Feature Service
• WFS 1.0 approved 2002• ISO has requested it be submitted
• Scope: storage & retrieval of geographicvector feature data (point/line/polygon)• Hydrography, Transportation, Government Units,
Cadastral, Geodetic Control• Similar to ArcIMS Feature Server
OGC Web Feature Server Interfaces
• OGC WFS Interfaces• GetCapabilites• DescribeFeatureType• GetFeature• Transaction• LockFeature/GetFeatureWithLock
• Response to GetFeature request is formatted using GML
Two classes of WFS
Basic WFS
A basic WFS would implement the GetCapabilities, DescribeFeatureType and GetFeature operations. This would be considered a READ-ONLY web feature service.
Transaction WFS
A transaction web feature service would support all the operations of a basic web feature service and in addition it would implement the Transaction operation. Optionally, a transaction WFS could implement the LockFeature operation.
Basic WFS
GetCapabilities
A web feature service must be able to describe its capabilities. Specifically, it must indicate which feature types it can service and what operations are supported on each feature type.
DescribeFeatureType
A web feature service must be able, upon request, to describe the structure of any feature type it can service.
GetFeature
A web feature service must be able to service a request to retrieve feature instances..
Transaction
A web feature service may be able to service transaction requests. A transaction request is composed of operations that modify features; that is create, update, and delete operations on geographic features.
LockFeature/GetFeatureWithLock
A web feature service may be able to process a lock request on one or more instances of a feature type for the duration of a transaction.
Transaction WFS
DescribeFeatureType
• Generates a schema definition for the requested features using the language specified in the capabilities document (XML schema is mandatory, others are optional)
• The XML schema document must be a valid GML application schema and defines the schema of the feature types listed in the request.• Feature geometry must be expressed using the GML geometry
description.• Spatial Reference Systems must be consistent with GML
GetFeature
• The GetFeature operation allows retrieval of features from a web feature service.
• The request contains queries which may unconstrained or constrained by a Filter
• Filter is described in described in the Filter Encoding Specification
• The output format is GML by default but the specification allows other formats
GML: Geography Markup Language
• GML defines a data encoding in XML that allows geographic data and its attributes to be moved between disparate systems with ease
• GML separates content from presentation.
• One of the major breakthroughs with GML is that, when used with XML tools, GML makes it possible to resolve many of the difficulties associated with incompatible data models.
• It is not difficult to create profiles of GML, and this is what most data developers will do. The Ordnance Survey of Great Britain and the US Census Bureau (in its TIGER data) have committed to GML.
• Similar to ArcXML
Basics• Geography Markup Language (GML) is an XML
grammar written in XML Schema for the modeling, transport, and storage of geographic information.
• GML provides a variety of kinds of objects for describing geography including features, coordinate reference systems, geometry, topology, time, units of measure and generalized values.
• GML includes• Geometries and Coordinate Reference System (based on
EPSG)• A temporal reference system (based on ISO 8601)• A Units of Measure (UOM) dictionary
The Three Architecture Cases
The Picture CaseThe Graphic Element Case The Data Case
(source: OpenGIS document 99-077)
Architectures for Different Applications
• Each map request sends new geometry:• Examples: find by address or another attribute; routing, “single-attribute”
maps, weather maps, etc.• In general: situations when geometry is defined by attribute (categorical
coverages, for example)
• Geometry remains relatively constant:• Examples: atlases, statistical maps for collection zones (states, counties,
census tracts)• In general: situations with many attributes for limited number of
geometries
• For the latter case: makes sense to cache and re-use coordinate information on the client side as much as possible. For each application, there is some right mix of the two approaches.
From Geography Markup to Rendering<?xml version="1.0" encoding="iso-8859-1"?><rs><r><name>Horton Plaza</name><URL></URL><labelpos>41.46,77.51</labelpos><c>5076,1540 4986,1540 4895,1539 4803,1539 4715,1539 4622,1539 4534,1538 4534,1641 4534,1745 4534,1856 4622,1856 4711,1856 4800,1856 4893,1855 4984,1855 5075,1854 5075,1749 5076,1646 </c></r><r><name>Gaslamp</name><URL></URL><labelpos>44.60,83.00</labelpos><c>5162,1013 5084,1057 5083,1116 5081,1222 5079,1326 5079,1433 5076,1540 5076,1646 5075,1749 5075,1854 5167,1854 5257,1855 5257,1750 5259,1647 5260,1541 5262,1434 5262,1328 5263,1222 5263,1013 </c></r>. . .XML encoding of geographic features (such as GML)
<html xmlns:v="urn:schemas-microsoft-com:vml"><head><style>v\:* { behavior: url(#default#VML); }</style>. . .<v:shape id="a1" class=z style="left:0;top:0;width:11590;height:7547" fillcolor="#FFFF99" strokecolor="#000000" strokeweight="1" title="Horton Plaza" path="m5076,1540l 4986,1540 4895,1539 4803,1539 4715,1539 4622,1539 4534,1538 4534,1641 4534,1745 4534,1856 4622,1856 4711,1856 4800,1856 4893,1855 4984,1855 5075,1854 5075,1749 5076,1646xe"/><v:shape id="a2" class=z style="left:0;top:0;width:11590;height:7547" fillcolor="#FFFF99" strokecolor="#000000" strokeweight="1" title="Gaslamp" path="m5162,1013l 5084,1057 5083,1116 5081,1222 5079,1326 5079,1433 5076,1540 5076,1646 5075,1749 5075,1854 5167,1854 5257,1855 5257,1750 5259,1647 5260,1541 5262,1434 5262,1328 5263,1222 5263,1013xe"/>. . .<div class=label style="top:75.51%; left:39.46%;">Horton Plaza</div><div class=label style="top:81%; left:42.6%;">Gaslamp</div>
Rendering markup (such as VML)
VML
<?xml version="1.0"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3c.org/2000/svg10-20000303-stylable" [<!ENTITY base "fill:#ff0000;stroke:#000000;stroke-width:1;">]><svg width="100%" height="100%" viewBox="0 0 11590 7547" style="shape-rendering:geometricPrecision; text-rendering:optimizeLegibility"><g id="karta" transform="scale(1, -1) translate(0, -7547)"><g id="base" style="&base;"><path id="a1" title="Horton Plaza" style="fill:#00ff00;" d="M5076,1540L 4986,1540 4895,1539 4803,1539 4715,1539 4622,1539 4534,1538 4534,1641 4534,1745 4534,1856 4622,1856 4711,1856 4800,1856 4893,1855 4984,1855 5075,1854 5075,1749 5076,1646 5076,1540z"/><path id="a2" title="Gaslamp" style="fill:#ffff00;" d="M5162,1013L 5084,1057 5083,1116 5081,1222 5079,1326 5079,1433 5076,1540 5076,1646 5075,1749 5075,1854 5167,1854 5257,1855 5257,1750 5259,1647 5260,1541 5262,1434 5262,1328 5263,1222 5263,1013 5162,1013z"/></g></g></svg>
Or SVG
SVG
Some Web Viewers
• Multi-View:• http://geo.sdsc.edu/website/SIO_Expl/
• Multi-service:• http://dotnet.sdsc.edu/website/htmlviewer/MultiService/
• AxioMap:• www.regionalworkbench.org