250 likes | 328 Views
Concurrent Web Map Cache Server A Vision for IndianaMap. Zao Liu, Marlon Pierce, Geoffrey Fox Community Grids Laboratory Indiana University Neil Devadasan The Polis Center IUPUI October 28 2006. Where are we today?.
E N D
Concurrent Web Map Cache Server A Vision for IndianaMap Zao Liu, Marlon Pierce, Geoffrey Fox Community Grids Laboratory Indiana University Neil Devadasan The Polis Center IUPUI October 28 2006
Where are we today? • There are several different products for creating on-line maps and allowing interaction with Geographical Information System (GIS) data bases. • ESRI, Autodesk, Open Geospatial Consortium • These follow a classic user driven request/response style model. • Google Maps (released in 2005). • Highly interactive AJAX style clients replaced stodgy user-driven request/response. • See http://www.collab-ogce.org/GGF15 Workshop for more information. • More importantly, any one could use the JavaScript API to make really sophisticated applications.
Where are we today? • The current IndianaMap http://129.79.145.5/arcims/igic/viewer.htm uses data collected by the Indiana Geological Survey (IGS) • IGS periodically collects the best available State and Federal data and authors the data on a central web server • The web service includes the 2005 Statewide Orthophotography, INDOT and TIGER roads, USGS 10 foot contours, and Census boundaries
Federating GIS Servers Around Indiana • Indiana has 92 counties • Many counties have public GIS map servers. • Examples • ESRI ArcIMS and ArcMap Server • Marion, Vanderburgh, Hancock, Kosciusco, Huntington, Tippecanoe • Autodesk MapGuide • Hamilton, Hendricks, Wayne • WTH Mapserver™ Web Mapping Application (OGC Minnesota Map Server) • Fulton, Cass, Daviess, City of Huntingburg • Also there are state-wide GIS servers • Orthophotography from Indiana University • Indiana Geological Survey • These are not normally interoperable.
IndianaMap vs local county data • 10 foot contours (1990) 1 foot contours (2004) • Local roads INDOT (2003) Local roads (2006) • No parcels Parcels (2006) • No point addresses Point addresses (2006) • Jurisdictional boundaries (2001) Jurisdictional boundaries (2006)
Building a Hybrid System • Google Maps provide a highly interactive user interface and capabilities (geolocations, directions) • But GIS services have much more detailed local information. • Indiana has orthophotography with much higher zoom levels than Google maps. • http://www.indiana.edu/~gisdata/05orthos.html • Local county servers have many interesting map layers not in Google • Parcels/property lines, school district lines • And these tie into feature services with interesting data like pinpoint addresses, tax assessments, etc. • So obviously it makes sense to adopt the Google approach but enhance it with local data. • Ultimately we hope to ties this into representations of scientific data generated on the Grid.
The Polis Center’s Distributed Web GIS Middleware Research Strategy • To take advantage of this highly accurate local data for use statewide, a variety of technical issues must be overcome such as: • Projecting the information to a single coordinate system • Standardizing symbology • Retrieving individual Layers .
Caching for Performance CountyServer • Performance is constrained by the performance of the individual servers. • We need to pre-fetch and store as tiles. Cache Server
Adapter Adapter Adapter Cache Server Tile Server Google Maps Server Marion County Map Server (ESRI ArcIMS) Hamilton County Map Server (AutoDesk) Cass County Map Server (OGC Web Map Server) Must provide adapters for each Map Server type . The tile server fulfills Google map calls with cached tiles at the requested bounding box that fill the bounding box. Cache Server requests map tiles at all zoom levels with all layers. These are converted to uniform projection, indexed, and stored. Overlapping images are combined. Browser client fetches image tiles for the bounding box using Google Map API. Browser + Google Map API
Two Phase Approach: Caching and Tiling • Federation through caching: • WMS and WFS resources are queried and results are stored on the cache servers. • WMS images are stored as tiles. • These can be assembled into new images on demand (c. f. Google Maps). • Projections and styling can be reconciled. • We can store multiple layers this way. • We build adapters that can work with ESRI and OGC products; tailor to specific counties. • Tiling: • Client programs obtain images directly from our tile server. • That is, don’t go back to the original WMS for every request. • The tile server can re-cache and tile on demand if tile sections are missing.
Converting bounding box to Google tile values Google uses an x,y coordinate system combined with a zoom value to specify the tiles to retrieve from the server. These coordinates are calculated using an algorithm which can be found in GoogleMapki.See: http://www.codeproject.com/useritems/googlemap.asp Example Tile: http://mt0.google.com/mt?n=404&v=w2.37&x=0&y=0&zoom=16. Steps for fetching image tiles from county map servers that match Google map tiles.
Naming Tiles Example Tile 1 (36,47) Tile 4 (37,47) Tile 2 (36,48) Tile 5 (37,48) Tile 3 (36,49) Tile 6 (37,49) A (-88.2, 42.4) Bounding box of Indiana at zoom level 10 B(-84.6, 37.1)
Combine Google map with county parcel data • Map servers typically contain base maps and optional layers. • Parcel boundaries, roads, and township boundaries are layers. • We cache each layer separately. • Layers and base maps are combined dynamically using Java Advanced Image libraries.
Matching Projections: EPSG4326 to Mercator County map over-layer from IGS is in EPSG4326 projection. Must convert to Mercator to match Google.
Combine tiles at County Boundaries Marion County Hancock County County boundary tiles need to be combined to one tile by use Java Advanced Image Library
Next Steps • University-private sector partnership • Seek University and private sector funding to implement statewide system for Indiana • Develop Full Implementation System • Finalize requirements • Formalize programming interface using Web Service standards (WSDL and SOAP) • Develop functionality • Investigate scalability and performance issues
Next Research Initiatives Use to represent outputs of scientific applications. Contour plots, vector maps, and other types of layers for displaying results of geophysical applications. Dynamic (“real time” layers) to display streaming data from instruments and applications. Find a way to keep current with county servers, especially when the county server change layer id. Recent Monroe County example The tiling services should support multiple server styles Improve collaborative clients
More Information • jobuechl@iupui.edu • mpierce@cs.indiana.edu • ndevadas@iupui.edu • See demo: • http://156.56.104.164/demo/indianaViewer.html • Collaborative version: • http://156.56.104.164/samples/CollabmapUpdate/indianaViewer.html • Need a) Flash, and b) a friend to also try. • Buggy still, so you have to login at the same time.