Dynamic Map Service Integration

Document Sample
Dynamic Map Service Integration Powered By Docstoc
					              Dynamic Map Service
                Integration Tool
                  Mashing with Google Maps

        Craig Wolff, M.S. Eng
        CA Environmental Health Tracking Program
        Environmental Health Investigations Branch
        CA Department of Health Services
        Impact Assessment, Inc.   1
                Map Visualization Principles
         • CEHTP and/or system owners provide easy,
           systematic, and standards-based access to
           GIS data for dynamic interactive
           mapping… at any portal
         • CEHTP and/or system owners maintain
           maximum control over layer rendering
         • CEHTP and/or system owners focus
           resources on data within their jurisdiction   2
                      Historical Internet Mapping
         • Procure hardware, software, staff resources,
         • Acquire (often buying) all GIS data to be
           used in map service, import into platform,
           configure rendering specifications for every
           GIS dataset/layer
         • Develop a customized browser-based client
           to consume map service   3
           Evolving Map Service Paradigm
         • Provide Uniform Resource Locator (URL)
           access to commonly used GIS layers
         • Give limited choices for visual rendering
         • Interface specifications (URL parameters)
           for requesting map image follows a
           standard (technological or consensus)
               – OpenGIS Web Map Service (WMS),
                 TerraServer, USGS   4
                 Google/NASA Tip the Scale
         • Google Earth and NASA Worldwind
           display map image tiles of basemap and
           satelite/aerial imagery of the whole earth
         • Physical air travel by humans decreases
         • Google Maps provides easy to use browser-
           based clients that incorporate AJAX and
           fluid rendering of database-cached map
           image tiles   5
               Mashups & Interactive Mapping

         • Google Maps API allows interactive maps
           with basemap and high-res satelite imagery
           on any website … no plug-ins
               – See
         • Hackers figure out how to integrate WMS
           content in Google Maps API
               – See   6
                   CEHTP Trials/Tribulations
         • Two partners to visualize CEHTP pilot project
           data through custom interactive map server/client
         • Stumbled through GIS data exchange, metadata,
           and appropriate layer rendering
         • Loss of control, miscommunication, map
           server/client platforms too “closed”
         • Need enterprise solution that makes
           interoperability, portability, and standards a top
           priority         7
                        DyMSIT Requirements
     • Develop server-side utility that overlays multiple map
       server image tiles according to [big] client request
     • Support for consuming most popular map server
       output (ie. ArcIMS, WMS, UMN MapServer, ArcWeb
     • Support for individual layer transparency and opacity
     • Support for server-side caching (~Google speed)
     • Invocation interface is WMS (ie. standard URL
     • Support for GetFeatureInfo and GetLegendGraphic         8
             Recursion on LAYERS parameter
         • Recursion: programming technique in
           which a function calls itself.
         • WMS LAYERS parameter is another WMS
           request (or an ArcIMS request or a
           MapServer request or a AWS request)
         • HTTP encode each LAYERS parameter
         • Opacity specified through STYLES
           parameter   9
                          DyMSIT Components
         • Servlet container
         • DyMSIT Servlet and supporting classes (~1500
         • 3rd party Java libraries: JAI, ArcIMS Java
           Connector, GIF encoder/decoder, JDBC driver
         • RDBMS to hold cached image tiles (3-field table)
         • Javascript library (~100 lines)       10   11   12   13   14   15

Shared By: