More

Creating my own map server - with Road speed and Reverse geo coding - using OSM data

Creating my own map server - with Road speed and Reverse geo coding - using OSM data


Currently I'm using a few services for mapping/reverse Geo coding/road speeds

1 open.mapquestapi.com/geocoding - reverse geo coding (usually street name)

2 api.geonames.org - get POI name (e.g. University of Blah)

3 www.overpass-api.de - gets road speed

4 Mapbox - Mapping.

All the above data is OSM data (i think)

This worked fine with smaller numbers on dev, but now the userbase has grown, we are using our free quota and either pay, or do my own server with this info

This is a high level question, but if I was to create my own map server, could i have all this data on the one server, and have it return my custom styled maps (i like skobbler/mapbox streets style) Road speeds, and POI/Road names ?

I'm a windows server guy, so I'll have to learn some new skills, so i thought it better to ask here about any road blocks I would hit with the above on one server as multiple services?

I guess i'll need a nightly import of OSM data to keep it up to date too.


If you're deploying a project which appears to success it's always best idea to create your own server. It costs some work but you have everything under control and you're independent of others. Since it's high-level question some high-level advices.

  1. If you need simple tiles for applications mapnik+osm2pgsql+postgis will do the job
  2. If you need wms(c), wfs (or so… ) it will be geoserver+osm2pgsql+postgis and some views on database
  3. In both cases you can create your own rendering style and you have information about restrictions (speed limit) in database
  4. Rev-geocoding of streetnames is as simple as writing one sql query (select street order by distance limit 1) and simple php code which will run this query and give back result
  5. Osmosis+osm2pgsql will keep your database up to date - one simple script run by crone.

Unfortunately native enviroment for all this software is Linux, but there is lots of documentation on the net including step-by-step tutorials so it's not as difficult as it gets. When I was starting only thing I knew about Linux and PostgreSQL was how to spell it - dozen months later I was deploying this kind of servers for breakfast, so it can't be difficult.