Web GIS Oregon Explorer Marc G Rempel Oregon State University The Valley Library Oregon Explorer marc.rempel@oregonstate.edu What is the Oregon Explorer? Natural Resources Digital Library Place-based resources Supports informed natural resource decision-making Evolution of the Oregon Explorer Basin Portals Topic Portals e.g. Willamette Basin Explorer e.g. Land Use Explorer Data Portals e.g. Imagery Explorer Oregon Spatial Data Library Components of Web GIS 1. Spatial Data 2. Web Server 3. Map/GIS Server 4. Mapping Application 5. Application Enhancements (optional) MapServer example Components of Web GIS- Spatial Examples of Spatial Data: Shapefiles/ Geodatabases (ESRI) KML/KMZ (Google Earth) GeoRSS/GeoJson Web services WMS – Web Mapping Services (image) WFS – Web Feature Services (vector) WCS – Web Coverage Services (raster) Data Components of Web GIS- Web Server Examples of Web Servers: Apache Tomcat IIS (Windows) Web Servers provide the foundation for serving out data on the web. Components of Web GIS- Map/GIS Examples of Mapping Servers: ArcIMS ArcGIS Server GeoServer MapServer Servers Components of Web GIS- Map/GIS Servers Role of Map/GIS Servers: 1. 2. 3. 4. 5. Serve spatial data via the internet. When a request comes to the web server, the Map/GIS server application handles the request and returns a map image, attribute, geometry or downloadable data. The Map/GIS server can also return images of legends, scale bars and reference maps. Requests can query the spatial data and return only the data that matches the request. Some Map/GIS servers also support geometry, geocoding and geo-processing tasks requests. (i.e. buffer queries, clipping, etc). Components of Web GIS- Map/GIS Servers Map/GIS Server Services 1. A Map/GIS server can have multiple services of various types. 2. 3. 4. Map service Geoprocessing service Geodata service Image service Geometry service Geocoding service Globe service A map service is a specified grouping of spatial data with projection and display information defined. For ESRI, a .mxd file can serve as the source for a map service. A Map/GIS server can allow for map services to be started and stopped. A map service can support multiple output formats (WMS, WFS, KML) Components of Web GIS- Map/GIS Map/GIS Server Services: ESRI Example ArcCatalog Servers Components of Web GIS- Map/GIS Servers REST and SOAP API Some Map/GIS Servers expose their services via REST and SOAP APIs. REST API Representational State Transfer (REST) is a stateless protocol for leveraging representations of service data and methods. Provides a lightweight interface to access service properties and functionality through client side script. Example: http://methionine.library.oregonstate.edu/ArcGIS/rest/services SOAP API Simple Object Access Protocol (SOAP) is a protocol for creating server side classes and methods for a web service. SOAP tends to have more robust capability over REST, but can be more complicated to incorporate. Example: http://methionine.library.oregonstate.edu/ArcGIS/services/Restoration/O WRI_07_1/MapServer?wsdl Components of Web GIS- Mapping Applications A mapping application is a web component/page that handles requests/responses to and from the mapping server. Typical functionality includes handling navigation panning/zooming, layer management, attribute queries and advanced processing tasks (buffer, distance calculations, etc). Examples of extensible Mapping Applications: ESRI WebADF/JavaScript API Google Maps API /ArcGIS JS Extension Google Earth API Bing Maps API /ArcGIS JS Extension Bing Maps Silverlight API (Microsoft) Flex (Adobe) / ArcGIS Extension Yahoo Maps API OpenLayers API ArcGIS for iPhone API coming soon. Components of Web GIS- JavaScript Class Libraries JavaScript class libraries are an optional piece of a web GIS stack that can add some dynamic user interface components such as sliders, pop-up boxes, dynamic table grids, and AJAX (Asynchronous JavaScript and XML) handling. Some popular JavaScript class libraries to consider are: Dojo EXT.JS YUI (Yahoo User Interface) jQuery Can get from http://code.google.com/apis/ajaxlibs/ What is a mashup? a mashup is a web page or application that combines data or functionality from two or more external sources to create a new service. The term mashup implies easy, fast integration, frequently using open APIs and data sources to produce results that were not the original reason for producing the raw source data. Source: Wikipedia. A simple web mapping application Basic HTML and JavaScript will get you a long ways. ESRI Resource Center http://resources.esri.com/arcgisserver/index.cfm?fa=home Examples of Mapping Mash-ups Measure 37 Viewer ORWAP Oregon Restoration Measure 37 Viewer http://oeapp.oregonexplorer.info/M37Viewer • • Virtual Earth/Bing Maps- JavaScript API Overlay WMS from ArcIMS – • Create active objects (pushpins, polygons). – • Transparency slider, legend Uses GET_FEATURES call to ArcIMS to draw polygons. 3D Functionality. ORWAP- Oregon Rapid Wetland Assessment Protocol http://oregonexplorer.info/wetlands/ORWAP/ Uses ArcGIS server map and geometry services. Buffers selected point and queries intersection of layers. Uses Virtual Earth/Bing JavaScript Extension for ArcGIS server. Oregon Watershed Restoration Tool 1. ArcGIS Server 9.3 mapping backend 2. Bing GeoRSS Collections for basin, subbasin and watershed council layers. 3. REST and SOAP used for getting layer data and overlaying WMS. 4. DOJO javascript class library for more interactive user interface.