[GIS] Creating a small web-mapping/map-tiling service

openlayersopenstreetmapqgistilesweb-mapping

I am looking for a small-scale and easy way to present one or more polygon shapefiles online (on a municipal website without any existing map-server infrastructure, to be precise). Right now, I'm doing all work with QGIS, and I would prefer to stay all open-source (there is no budget left for any big software investments).

Researching this topic resulted in a overwhelming number of possible approaches, and left me quite confused. What I am looking for is

  • being able to show categorized polygons in a thematic map
    (- if possible, it would be nice to get popups or to be able to retrieve attribute information – but that's highly optional)
  • I would prefer to do most work (styling, etc) in QGIS
  • OSM as base map would be perfectly fine

So far, custom map tiles on an OSM base map look like the thing I'm looking for (or is there a better solution)? What would be the best way to create these tiles?

Best Answer

For a simple way to do this starting with QGIS you could use QGIS Mapserver which can serve maps that you design using the normal QGIS interface. Alternatively you might want to go with GeoServer which is Java based and probably easier to install. Since both programs serve maps using open standards if you start with one and need to switch later there is no need to change the client.

Once you have a system set up to serve out WMS maps you'll want a client front end. I'd recommend OpenLayers as it is pretty simple to get started with and easily expandable. It handles WMS, WMST and OSM tiles with no problems.

Ultimately you may need to move to tiles for your WMS layers (say you start getting more than a 50-100 requests per minute on reasonable hardware) then you'll want to look at putting a tile cache in front of the map server. If you used GeoServer then you can use GeoWebCache which is built in or you could use TileCache.

Related Question