I'm new to mapping and GIS and I'd like to setup a mapping system to display information on a map, I think the following could work but I'm not sure how good it is..

  1. I store my data (lat, lng etc) on a PostgreSQL server

  2. I build a GeoJson file containing the information I want to display on the map (using the data on the postgresql server)

  3. I send the Geojson file to TileMill / PolyMaps / etc

Do I need to use tileStream or something to serve the tile ? To build on almost real-time system all I need is to rebuild the geoJson file right ? is Wax useful for me ?


If you are new to web mapping you may want to try the OpenGeo Suite (comunity edition). It installs an open source solution for web mapping that works right out of the box. You can learn a lot from it.

If you want a more complex application you can try many other combinations of servers, and mapping APIs. Wax is one option that wraps other libraries but I'm sure you will hit some limitation very soon.

Here in my work I have a very versatile combination:
On the server:
Postgis and Django as a framework. Django-tastypie as a REST API.
GeoServer for raster tiles.

On the client:
ExtJS 4 and OpenLayers.

  • I'm testing OpenGeo Suite, seems to be a powerful and expensive solution. Why did you combine ExtJS4 and OpenLayers ? – Olivier Jun 5 '12 at 10:14
  • The OpenGeo Community edition is free (though it may be a release cycle or so behind the separate components). Definitely a great way to start. – djq Jun 5 '12 at 11:34
  • @Olivier - ExtJS allows people with no knowledge of html or css to design very nice web interfaces. It has a ORM that works very well and with little coding you can make relations between your models and OpenLayers layers and features, for example, implement a method to add layers to the map after an asynchronous request. I use the REST API for vector features because I need a lot of custom functionality that a WFS can't provide, like per-object permissions. – Pablo Jun 5 '12 at 14:53

On the server, one approach is to use PostgreSQL/PostGIS to store your points. Using this approach you can keep vector point data in the database rather than just storing the lat/long. You can access the PostGIS data as a GeoJSON format directly using a database query.

To display the map in the web-browser you could use the Openlayers Javascript library. You could use base-maps from google, bing or Openstreetmap and overlay your points on top of this, for a basic map. To apply more sophisticated styles to the data geoserver or mapserver could be used.

(I'm not very familiar with how TileMill or PolyMaps work but I imagine a similar approach is possible, using these basemaps).

  • Thanks, I'll give a try to PostgreSQL and PostGIS, looks very promising ! – Olivier Jun 5 '12 at 10:04

Your Answer

