Why Do Mitigation Planning - #1

Download Report

Transcript Why Do Mitigation Planning - #1

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
1-1
Where are we today?
 There are several different products for creating online 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 userdriven 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.
1-2
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
1-3
Federating GIS Servers Around Indiana
Indiana has 92 counties

•
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

•
•

Many counties have public GIS map servers.
Orthophotography from Indiana University
Indiana Geological Survey
These are not normally interoperable.
1-4
IndianaMap vs local county data





10 foot contours (1990)
Local roads INDOT (2003)
No parcels
No point addresses
Jurisdictional boundaries (2001)
1 foot contours (2004)
Local roads (2006)
Parcels (2006)
Point addresses (2006)
Jurisdictional boundaries (2006)
1-5
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.
1-6
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
1-7
Caching for Performance
County
Server
Performance is constrained by the
performance of the individual servers.
We need to pre-fetch and store as
tiles.
Cache Server
1-8
Google Maps Server
Marion County
Map Server
(ESRI ArcIMS)
Must provide adapters
for each Map Server
type .
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.
Hamilton
County Map
Server
(AutoDesk)
Adapter
Adapter
Adapter
Cache Server
Cass County
Map Server
(OGC Web Map
Server)
The tile server fulfills
Google map calls with
cached tiles at the
requested bounding box
that fill the bounding
box.
Tile Server
Browser +
Google Map API
Browser client fetches
image tiles for the
bounding box using
Google Map API.
1-9
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.
1 - 10
Converting bounding box to Google tile values
Google uses an x,y coordinate system combined with a zoom value to specif
y the tiles to retrieve from the server. These coordinates are calculated usin
g an algorithm which can be found in GoogleMapki. See: http://www.code
project.com/useritems/googlemap.asp
Convert the
Find the
bounding box
of Indiana
which covers
all the state.
Convert the
latitude value
and longitude
value of the
bounding box
into the
Google map
tile coordinate
values.
Identify the tile
coordinate
values in the
bounding box.
tile ID into the
latitude and
longitude
values. Use
Indiana
Geology
Survey’s
service to
match county
to tile. Store in
database.
We can pre-fetch
tiles by sending
request to the
county server that
these tiles belong
to and fetch the
tile back.
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.
1 - 11
Naming
Tiles Example
A (-88.2, 42.4)
Convert A, B lat/lon values to Google map tile values at a given
zoom level. Value for A is (36,47), B is (37,49)
Tile 1
(36,47)
Tile 4
(37,47)
Calculating how many tiles there are in this bounding box and
identify each tile’s value. In this figure, there are (3746+1)*(49-37+1) = 6 tiles (our choice).
Tile 2
(36,48)
Tile 5
(37,48)
For each tile in the bounding box, we can convert it’s tile
coordinate values into lat/lon values.
Using each tile lat/lon values to construct requests for IGS
boundary services. IGS Services will tell which counties are at
least partially in this tile. The site for IGS services is:
http://igs.indiana.edu/
Tile 3
(36,49)
Tile 6
(37,49)
Save the tile-county mapping in our database. For a given tile
name, we can look up the county.
Bounding box of Indiana at zoom level 10
B(-84.6, 37.1)
1 - 12
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.
1 - 13
Matching Projections: EPSG4326 to Mercator
 County map over-layer from IGS is in EPSG4326 projection. Must convert to
Mercator to match Google.
1 - 14
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
1 - 15
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
1 - 16
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
1 - 17
Demonstration
1 - 18
My House
1 - 19
My House Again
1 - 20
Query Attribute Data (live from Marion
County Server)
1 - 21
CASS County WTH Mapserver™
(OGC Minnesota Map Server)
1 - 22
Collaborative site
1 - 23
More Information
 [email protected][email protected][email protected]
 See demo:
• http://156.56.104.164/demo/indianaViewer.html
 Collaborative version:
• http://156.56.104.164/samples/CollabmapUpdate/indianaViewer.htm
l
• Need a) Flash, and b) a friend to also try.
• Buggy still, so you have to login at the same time.
1 - 24
Questions
1 - 25