Web Map – Key Features of a Web Map

embeddable-web-mapsweb serviceweb-mapping

In response to comments, I'll rephrase the question:

We're building a web based mapping and data querying system. The data are at several different scales, and should be queryable at these scales. The data itself should be searchable, based on key identifying features (names, etc.). The application is aimed mostly at a presentation level, so for serious analysis of the data search results should be available for download. If possible a interactive selection of features should be available for download also.

For preference we'd like to develop the app using an open source web mapping app, such as Open Layers, or MapFish.

Our key features beyond the basic pan/zoom are searching the data based on attributes, and downloading the data. Given that several frameworks implement search, can anyone suggest a web mapping framework where data download has been implemented, or an example of an online web map with this feature?

Best Answer

As suggested by the comments, you've got a lot of options in selecting the components that make up your web mapping application. OpenLayers is a good choice for a client-side mapping library. OpenLayers is not going to provide you with a rich set of widgets for your GUI.

Depending on whether this application is going to be integrated into an existing site, whether you want it to look like a more traditional desktop application, and where your front-end development skills lie, you can choose from widget libraries like jQuery UI, Dojo, and Ext JS. If you choose Ext JS, the GeoExt project provides a library that brings mapping functionality from OpenLayers to Ext JS applications.

And all that is just a limited set of your choices for the front end. On the back end, you want to set up services that are configured to work with your data and communicate via standard web mapping protocols with the client side. GeoServer and MapServer are two common open source mapping servers. You can read about the various features of each elsewhere, but both bring OGC Web Map Service (WMS) and Web Feature Service (WFS) implementations to your application. One benefit of using open standards is that you can swap out components of your application (in this case, the mapping service component) and the rest of your application can work without modification (in this case the client and database).

The query and feature interaction you mention above can be addressed by WFS functionality. WMS allows for rendering of your data on the server (to be displayed as map tiles on the client). And, regarding download, GeoServer allows clients to request data (for download) formatted as shapefile, KML, and more.

Below the mapping services, you'll need a place to store your data. You can store data on the filesystem with shapefiles, or you can use a spatially enabled database. PostGIS brings spatial functionality to the PostgreSQL database and is a popular open source option.

In most cases, even if someone sends you a link to an application that does bits of what you want, there will be "some assembly required" for you to put together the parts in a way that meets your needs.