The Project‎ > ‎

Web Mapping

Web mapping is the second major component of this project.   The Wikipedia description of “web mapping” is:
Web mapping is the process of designing, implementing, generating and delivering maps on the World Wide Web and its product. ...
Ian Turton, in his lecture notes for Penn State's Geog 585 (op. cit.) class, defines “web mapping” thus:
Generally, when we talk about web mapping we mean a map that you can interact with, zoom in and out, pan around, change what you are looking at, etc.
Turton's definition is the appropriate one for our open source project.  Web maps are yet another, highly effective, means for disseminating the data and information compiled and created by the townships' GIS activities.

Initially, the project will start with two types of web maps.  The first type uses the standards-based web mapping services established by the Open Geospatial Consortium (OGC).  This type of map uses base maps and data layers served from map servers that comply with the standards established by OGC. 

Again, quoting Ian Turton from his lecture notes from Geog 585 and Geog 583, of the twenty or so OGC standards, the ones most commonly encountered in web mapping are as follows:
  • Web Map Server (WMS) – a WMS provides a picture of a map for display by a web client. The map is rendered on the server so styling and presentation are how the data provider chooses. The client has limited interactivity with the map. This is a quick and easy way to put map data on to the web. Your data is relatively safe as it never leaves your server except as an image.

  • Web Feature Server (WFS) – a WFS provides map data to a web client. It is up to the client to decide what to do with the data, either rendering it for the user or passing it through some local analysis before display. This allows much greater flexibility than the WMS as the client can choose the style and presentational details of how to display the data. Transactional WFS allows the user to add to and modify data on the server.

  • Web Coverage Service (WCS) - the WCS standard defines an interface and operations to access geographic coverages (rasters) over the web.

  • Geographic Markup Language (GML) – GML is a standard way for data to be passed from one geographic application to another. It is an XML based language that has a clearly defined structure so that everyone knows what is what in the files. WFS provides their data encoded using GML.

  • Styled Layer Description (SLD) – SLD is an XML specification to describe how a piece of map data is to be portrayed or rendered. The SLD specification allows you to specify how different features are to be colored or symbolized. Some WMS allow users to supply SLD documents to change the rendering of the map.

  • Simple Feature - this is one of the OGC's earliest standards it defines what a geographic feature is (at a minimum a point, line or polygon) and then sets out a common format for text and binary representations of geographic features. This promotes interoperability as if one program exports its data in either Well Known Text (WKT) or Well Known Binary (WKB) then it is easy for another program to read in the same data and know what it means.

  • KML - this is one of the more well known of the OGC's standards. It was originally developed by Keyhole (that's the K) and then popularized by Google's Google Earth application. It was donated to the OGC in 2007 to be developed as an open standard for 2 and 3D map annotation.
These standards are used in one aspect or other of web mapping.  WMS, WFS, and WCS are concerned with the serving of various types of data (map images and feature attributes) over the web.  GML, Simple Feature, and KML are concerned with describing the geometries of various geographic features (as well as styling them), while SLD concerns itself almost exclusively with styling a geographical feature.  The KML standard, which can also carry feature attribute data, originated in Google Earth and Google Maps, and eventually was adopted by the OGC. 

The “thin clients” that request, receive, and render these map images from such servers onto web browsers also tend  to be open source software packages.  Open Layers is one of the best known “thin clients.”  Newer ones include rendering packages like Mapnik.  Standards-compliant map server packages such as GeoServer and MapServer are also open source.  We will call web mapping applications created using such open source tools Open Web Mapping.

Michelle Ballinger (MGIS, Penn State 2011) has laid out a basic framework for open web mapping at her capstone project website.  In this framework, she advocates the use of open source GIS software to produce and style the basic web map layers.  The styling for each of the data layers is then converted to a form (SLD files) usable by the open source map server of choice, GeoServer.  The website continues with instructions on setting up the thin client (OpenLayers) and the map server, and loading the web map onto a web site.  This model forms one of this project's two open web mapping procedures.  Another option uses a basic web server directly without using  GeoServer to serve data layers.  (See the Open Web Maps section that follows.)

Another type of web maps uses proprietary map servers and copyrighted base map tiles.  The owners of such servers and map tiles publish application programming interfaces (API's) that allow the public free access to these map services.  Examples of such proprietary services that allow free access include Google Maps, Bing Maps, and Yahoo! Maps.  To differentiate this type of web mapping from open web mapping, we will call maps created thus Mashups, as in Google Mashup or Bing Mashup.  Thus far, project participants have preferred Google Mashups over the other services, probably due to greater familiarity with Google Maps.

Open Web Mapping appears to have a somewhat steeper learning curve than Google Mashups.  However, open web mapping tools give users much greater control over the creation and customization of web maps than do the mashups of various flavors.  The thin clients used in open web maps and mashups both use the JavaScript programming language to request map tiles and to customize their rendering on web browsers.  Both types of open web maps have numerous discussion forums and on-line examples and tutorials available for those interested in this field.

The third type of web mapping is a new technology that is a subset of Open Web Mapping, specific to the open source desktop software QGIS.  Known as QGIS Server, it is now distributed with all versions of QGIS.  Initially developed for Linux versions of QGIS, this system uses the QGIS rendering engine to convert a QGIS project to a map image that is served from a WMS server established from within Apache web server.  As of this writing, this project has not yet implemented any QGIS Server-based web maps, but expect to do so within a few months.  Because project participants can use their QGIS project files directly to create web maps, this technology holds great promise.

Each of these web mapping systems will be discussed in more detail in the following sub-sections.