Agi08 Jeremy Morley

42
If we have Google, do we If we have Google, do we need the OGC? need the OGC? J M l Jeremy Morley jmorley@cege.ucl.ac.uk Dept. Civil, Environmental & Geomatic Dept. Civil, Environmental & Geomatic Engineering, UCL

description

Presentation from the AGI Geocommunity 2008 conference, September 2008.

Transcript of Agi08 Jeremy Morley

Page 1: Agi08 Jeremy Morley

If we have Google, do weIf we have Google, do weggneed the OGC?need the OGC?

J M lJeremy [email protected] y@ g

Dept. Civil, Environmental & GeomaticDept. Civil, Environmental & Geomatic Engineering, UCL

Page 2: Agi08 Jeremy Morley

G lGoal

• To explore the places of Google and the Open Geospatial Consortium (OGC) inOpen Geospatial Consortium (OGC) in geospatial information systems, especially web mapping(And by extension Microsoft Virtual Earth• (And by extension, Microsoft Virtual Earth, Multimap, OS OpenSpace, etc.)p p p )

Page 3: Agi08 Jeremy Morley

O tliOutline

• [ Web mapping under the hood ]G l ' ti l t• Google's geospatial systems

• Introduction to the OGCIntroduction to the OGC• Google Maps versus OGC Web Map

ServicesB d b i• Beyond web mapping

Page 4: Agi08 Jeremy Morley

G l ' ti l tGoogle's geospatial systems

• Google MapsG l E th• Google Earth

• KMLKML• SketchUp

– 3D design sketching softwareRecent addition: ArcGIS connector– Recent addition: ArcGIS connector

– Collada (XML 3D exchange format)( g )

Page 5: Agi08 Jeremy Morley

Google Maps

Page 6: Agi08 Jeremy Morley

Particular features of Google MapsParticular features of Google Maps• AJAX programming => interactivityAJAX programming > interactivity• Good UI (simple, uncluttered)• Data!

Fi d l l i• Fixed zoom levels, raster mapping(<=> server farms cartography)(< > server farms, cartography)

• Well integrated functionality,– e.g. route planning with vector overlay

Published public free (to some) access• Published, public, free (to some) access,Javascript API

Page 7: Agi08 Jeremy Morley

Public API -> MashupsWikimapia

www.wikimapia.orgPublic API Mashups

Page 8: Agi08 Jeremy Morley
Page 9: Agi08 Jeremy Morley

Google Earthg

Page 10: Agi08 Jeremy Morley

Scientific data in Google EarthScientific data in Google Earth

The Visual Exploration of Insurance Data in Google Earthp gAidan Slingsby, Jason Dykes, Jo Wood, Matthew Foote, Mike Blom

Proceedings of GISRUK 2008

Page 11: Agi08 Jeremy Morley

KML Now an OGC standardKML• Used by Google to describe geographic features &

services, particularly for Google Maps & Earth, p y g p• An XML application to:

– Specify icons and labels to identify locations on the planet surface – Create different camera positions to define unique views for each of

your features – Use image overlays attached to the ground or screenUse image overlays attached to the ground or screen – Define styles to specify feature appearance – Write HTML descriptions of features, including hyperlinks and

embedded imagesembedded images – Use folders for hierarchical grouping of features – Dynamically fetch and update KML files from remote or local

network locations – Fetch KML data based on changes in the 3D viewer – Display COLLADA textured 3D objects (SketchUp)Display COLLADA textured 3D objects (SketchUp)

• http://earth.google.com/kml/whatiskml.html

Page 12: Agi08 Jeremy Morley

Introduction to the OGCIntroduction to the OGC• Open Geospatial ConsortiumOpen Geospatial Consortium• Consortium of vendors, users, academics involved

fin geospatial information technologies• Includes the major GIS vendors, the largestIncludes the major GIS vendors, the largest

players in the IT world, small companies, national agencies universitiesagencies, universities– E.g. Mapinfo, ESRI, Intergraph, Cadcorp,..

Google Microsoft Oracle– Google, Microsoft, Oracle– NASA, ESA, USGS, OS, BGS, NERC– UCL Nottingham EDINA City University– UCL, Nottingham, EDINA, City University

Page 13: Agi08 Jeremy Morley

OGC Obj tiOGC Objectives

• Promote the use of “interoperable geoprocessing” throughout the Information Technology marketplacethroughout the Information Technology marketplace.

• Synchronize “geoprocessing technology” with commercial “Information Technology standards”Information Technology standards

• Arrange cooperation of “GI product suppliers” and “GI ” t d l i t bl ft i t fusers” to develop interoperable software interfaces

• Involve the entire community in the “interoperability ”process”

• Provide an “industry forum” for “partnerships” and cooperative business development projects.

Page 14: Agi08 Jeremy Morley

S h t h th OGC i ?So, what has the OGC given us?

• GML for geographic data exchange• Standardised methods for interacting with

GIS web servicesGIS web services– NB: care over the phrase "web services"

• Wide range of GIS web services:Web Map Service– Web Map Service

– Web Coverage & Feature Services– Catalog Service for the Web

Page 15: Agi08 Jeremy Morley

GML –Geographic Markup Language

• GML is one of the older standards• Concerned with data, not representation

(cf KML)(cf. KML)• Has evolved with time to add functionality• GML 2:

– XML for Simple FeaturesXML for Simple Features– "Simple features" 2D vector data only + feature

collectionscollections– Version 2.1.2 used as foundation for OS Mastermap

Page 16: Agi08 Jeremy Morley

GML 3GML 3• In addition to simple 2D linear features:

features with complex, non-linear, 3D geometry; features g ywith 2D topology, features with temporal properties, dynamic features, coverages, and observations;

• represent spatial and temporal reference systems, units of measure and standards information;

• use reference system, units and standards information in the representation of geospatial phenomena, p g p p ,observations, and values;

• represent default styles for feature and coveragerepresent default styles for feature and coverage visualization.

Page 17: Agi08 Jeremy Morley

OGC W b M iOGC Web MappingTh diff t i f i t t• Three different services of interest:– Web Map Service (WMS), Web Feature Service (WFS),

Web Coverage Service (WCS)• Server-side mapping methodsServer side mapping methods• Map (and other) requests are made through

standard HTTP methodsstandard HTTP methods– URL– Parameters supplied within URL (GET) or hidden in

document (POST)– One request gives one response (stateless)

Page 18: Agi08 Jeremy Morley

Example –UCL's ICEDSUCL s ICEDS

Partially transparent GOES imagery overlaid on SRTM topography – iceds.ge.ucl.ac.uk

Page 19: Agi08 Jeremy Morley

Cascaded services• ICEDS can act as client as well as server• Requests for non-local layers are passed

through to other services on the webthrough to other services on the web• This is known as cascadingThis is known as cascading

WMS

UCL ICEDSWEB BROWSER UCL ICEDS

Acting as proxy: cascade requests, assemble map

WEB BROWSER

ICEDS portal Web requests, assemble map

OGC server

ICEDS portal Website OGC Services,

e g CIESIN

WMS

OGC server

Geospatial(DHTML +Javascript)

WMSe.g. CIESINWFS/

WCS

Geospatial data storage

p )

Page 20: Agi08 Jeremy Morley

Wh OGC?Why OGC?

• Standardised access to data and map servicesservices

• Independence from vendor/database/OSp=> choice, flexibility, upgrade, 'free' prototyping

• Clients can start to access different providers' services with minimal extraproviders services with minimal extra programming

Page 21: Agi08 Jeremy Morley

Best of breed,,software independence

These are the OGC t d d lUCL ICEDSThese are the

components we use.

Chosen best of breed

OGC standards also give independence from spatial

Acting as proxy: cascade requests, assemble map

Chosen best of breed open source elements BUT could easily

from spatial database / file systems in

ti d t &

Stores case annotations

Mapserversubstitute different components, e.g. vendor solutions

presenting data & catalogue to the Internet

Geoserver Filesvendor solutions Internet

PostGIS

Page 22: Agi08 Jeremy Morley

Google Maps versus OGC WMSg p1 - Interfaces

• GUIWMS t i i d d t f GUI– WMS, etc., is independent of GUI

– Open source interfaces are available to build pupon, e.g. OpenLayers, similar to Google MapsArcGIS Explorer NASA WorldWind globes– ArcGIS Explorer, NASA WorldWind globes

• Programming: what's in an API?g g– The Google API has clearly encouraged uptake

Si il API il bl f th i l &– Similar APIs available for other commercial & open source clients, e.g. OpenLayers, ESRI

Page 23: Agi08 Jeremy Morley

Google Maps versus OGC WMSg p2 - Data

• The principle advantage of Google (or Microsoft OS Multimap etc )Microsoft, OS, Multimap etc.)

• However a number of cascadable, open , paccess global data WMS

O St t– OpenStreetmap– JPL's OnEarth global satellite mapsg p– UCL ICEDS for terrain

b t 'll h t f & h t d t t t– but you'll have to pay for & host data to get same resolution as Google (etc)

Page 24: Agi08 Jeremy Morley

Google Maps versus OGC WMSg p- Mixed mode

• Possible to mix Google Maps data layers with OGC WMSwith OGC WMS– Still needs a Google Maps API key

http://www openlayers org/dhttp://www.openlayers.org/dev/examples/example-list.html

Page 25: Agi08 Jeremy Morley

OGC i h t i tiOGC service characteristics"Complex"• "Complex"– Needn't be more complex to set up than vendor web-

GIS solutions– Possibly, if using separate client and server

components, but standardised interfaces– Issues of security, authentication, availability in cross-y y

institution systems. Fair comparison?• "Slow"Slow

– If unconstrained client, server will have to work to generate maps Difficult to cachegenerate maps. Difficult to cache.

– So constrain zoom, using cached tiles (Ka-Map)

Page 26: Agi08 Jeremy Morley

W b d tWeb data access

• We can move beyond simple Web client access to map imagesaccess to map images

• Most GIS vendors are OGC members• Therefore most support connection to

OGCOGC services– WMS common and relatively matureWMS common and relatively mature

Page 27: Agi08 Jeremy Morley

WMS Connection from ArcGISWMS Connection from ArcGIS

ArcGIS 8.3…

Page 28: Agi08 Jeremy Morley

W b d t (2)Web data access (2)

• What if we want to access source data?W b C S i (WCS)• Web Coverage Service (WCS) –raster/coveragesg

• Web Feature Service (WFS) –/fvector/features

Page 29: Agi08 Jeremy Morley

Cadcorp – WMS & WFSp

Page 30: Agi08 Jeremy Morley

Comsine Ltd.:WCS demonstrationWCS demonstrationwcs_url = 'http://iceds.ge.ucl.ac.uk/cgi-bin/wcs?map=wcs map&SERVICE=WCS&REQUEST=GetCoverbin/wcs?map=wcs.map&SERVICE=WCS&REQUEST=GetCoverage&COVERAGE=srtm&FORMAT=GEOTIFFINT16'

res = max(tif_pixsize_x, tif_pixsize_y)wcsRequest = wcs_url + "&CRS=EPSG:" +

str(epsg) + "&BBOX=" + bbox + "&RESX=" +str(res) + "&RESY=" + str(res)

logger.info("WCS REQUEST " + wcsRequest)if (dem == None):if (dem == None):

demFilename = str(time.clock()) + ".tif"urllib.urlretrieve(wcsRequest, filename)cleanup = 1

Page 31: Agi08 Jeremy Morley

Beyond Web MappingBeyond Web Mapping• Web processingp g• Service chaining

• Sensor webs• Sensor webs– http://www.opengeospatial.org/projects/groups/sensorweb

– http://vast.uah.edu/SensorML

• City & building modelling (CityGML)y g g ( y )• ISO TC/211: geospatial standards

Page 32: Agi08 Jeremy Morley

GEOSSGEOSS

• Global Earth Observation System of Systems(http://www earthobservations org/)(http://www.earthobservations.org/)

• An attempt to create an umbrella systemp ygiving access to data from national & international remote sensing space agenciesinternational remote sensing space agencies

• Hence distributed data, and probablyHence distributed data, and probably distributed processing

• Each agency maintains own services

Page 33: Agi08 Jeremy Morley

GEOSS componentsp

Page 34: Agi08 Jeremy Morley

ConclusionsConclusions• If we have Google do we need the OGC?• If we have Google, do we need the OGC?• Yes and no – depends on your applicationp y pp• Probably not for mass-market / consumer

( )web mapping (but, mixed system mash-ups)• But yes if you want to:• But yes if you want to:

– use own base maps, or complex overlays;– connect desktop GIS to GIS web services;

start mixing data from different services; or– start mixing data from different services; or– create complex geospatial models or services.

Page 35: Agi08 Jeremy Morley

W b P iWeb Processing• In future we will want to do more than just

display data off the webdisplay data off the web• What if we want to insert some processing p g

(from rendering through to data analysis)? And do this in flexible on the flyAnd do this in flexible, on-the-fly architectures?

• Web Processing Services (WPS)R t ti l d l ti l– Runs geocomputational models or geospatial operations on user-supplied datasets

Page 36: Agi08 Jeremy Morley

S i h i iService chainingHow do we compose a sequence of• How do we compose a sequence of processes, a service chain?p

• Adopt technology from the IT industry:• BPEL: Business Processes Execution

LanguageLanguage• Increasingly important for distributed data &

distributed processingThis is just part of the interoperable• This is just part of the interoperable infrastructure needed

Page 37: Agi08 Jeremy Morley

Fine dust (PM10) prediction maps

DiscoverLog in

Access Order

SSE Portal

Order

DiscoverService

Request access

ResultsView SOS/WMS

BPEL Workflow

Web Service at IRCEL

Web Service at Vito

OVLForecast

Model

RIOInterpolation

Model

SOSPM10

WMS PM10Maps

WCS/WMSAOD

SOSForecastsModel Model Maps

Slide from Yves Coen, GEOSS ADC Architecture W k h 2/2008 AOD

ToolkitPM10 measurements

OVL Forecasts

Workshop, 2/2008

Page 38: Agi08 Jeremy Morley

Fine Dust Forecast - Result

Slides from Yves Coen, GEOSS ADC Architecture

Workshop, 2/2008

Page 39: Agi08 Jeremy Morley

W b i d th b tWeb mapping – under the bonnet

• Web mapping is a client/server systemCli t PC d it b b• Client: your PC and its web browser

• Server: the web servers (hardware andServer: the web servers (hardware and software)

Th t d i f b i d i• The art and science of web mapping design is especially about the balance between p yclient and server processing

Page 40: Agi08 Jeremy Morley

Simple server-side mapsp pClient Server

1. Browser requests map URL

4. Map tiles are requested to build Web page

2. Web server calls

Internet

map script via CGI

3 S i t

Browser software Web server

3. Script returns HTML doc referring to

Files /

Map script - returns custom HTML document

specific map tile images

Files / D'base

Example: Streetmap.co.uk

Page 41: Agi08 Jeremy Morley

Server-side interactive mappingpp gClient Server

21

2

3

Web server

5

Internet

Web server

Servlet Exec

Browser software Internet Map

Web page script

4

Fil /

Map Server

Files / D'base

Example: USGS Coastal Mapping (ArcIMS)

Page 42: Agi08 Jeremy Morley

Client/server systemyClient Server

12

5

34

Web server

6

InternetBrowser software

Web server

Servlet Exec

Internet Map

Web page script

Browser

Files /

Map ServerJava GIS app.

Browser plug-in

Files / D'base

Java VM

Example: Flash Earth