Deploying our own tile server for a political project

Hello everyone.

I need some advice, i have read a lot of documents and i’m not sure what is the best way for me to follow.

I’m developing a project with a simple slippy map. The objective is to create a map of social and alternative politics movements in Madrid, by showing different groups of people and projects via markes on a map. This would be very easy with Google maps, but due to the nature of the project, we want to be as far as possible from governments and private corporations, so we have chosen openstreetmaps, and created an initial prototype:

http://oromar.net/proyectomapeo

We are using, for the moment, the public tile servers of openstreetmaps, but you say that these servers are not for production use if there may be a lot of user traffic, and recommend to build our own tile server. And there begin my questions:

Thanks for your help!

Hi amoyav!

Welcome to OpenStreetMap! (hope you were mapping already :wink: )

Well at first you should think of what production use is. If there are about 100 users a day I guess no one would complain about that. Production use means in my opinion more than 2 or 3 thousands of users a day.

Anyway at first you should think of which tile renderer you would like to use, how often you want to update your tiles. If you just want to re-render them propably once a month there shouldn’t be the need of an own rendering server an you can do it on your (propably multi-core pc at home).
Rendering Madrid in zoom levels 0 to 18 (same levels as they are in OSM at the moment), it will take depending on your machine about one to four hours with Mapnik. Osmarender probably will take longer but is easier to “install”. Then you could copy the tiles onto a server, and it can be a simple “file server”.
The hardware requisites reduce significantly if you deploy your own tile server, yes. You can download only an extract for spain (i.e. here: http://download.geofabrik.de/osm/europe/ ).

If you don’t need such big zoom levels as zoom 18, you can limit rendering and displaying of tiles to 16 or 17. This will reduce the amount of tiles and the time for rendering very much, as zoom n+1 (n is zoom level number) covers four times more tiles than n. (so zoom 18 will have 4^18 tiles worldwide, zoom 17 only 4^17 etc.).

An average Tile (256px x 256px) ist about 10 to 30 KB in size. An average user loads maybe about 500 tiles per visit (zooming, panning etc). That would be 20KB*500 = 10MB per user. Might be too much, these are all unproofed estimations. With 100 users a day you will have 1GB load a day, which means 30GB a month.

Well you can choose the method you want, but I wouldn’t recommend b) and c). d) might be okay.
Reasons:
a) I like a linux server, but if you have just a small NGO or an info map (or whatever you represent) an own server might be totally oversized.
b) You mentioned the reason yourself.
c) Maperitive renders city maps with a street overview and so on. Would be a static map, and without markers.
d) Quite nice idea. Depending on how far you want to get into the map you can make an imagemap (parts of the image are hyperlinks) out of it and then display a staticmap which shows a region or a place in detail.
e) Think of how many users you will have, and therefore check if you’ve really a productive map. After that check the ideas I mentioned on top.

Good luck!
Malte

One solution “out-of-the-box” can be mentioned here: http://wiki.openstreetmap.org/wiki/Tirex

Does it come near your aims?

And all stuff related with markers should be a matter of http://wiki.openstreetmap.org/wiki/Openlayers

Thanks for your quick and extensive reply!

Looking at the numbers you give, i feel more relieved now. Our project, at least in the first stages, will not exceed very much about 100 visitors a day. So i understand that in this case we can keep using the public openstreetmap servers, like we are using now, is this correct?

For the future, if the project is successful and the number of visits grow, we can use the solution that suggests E-Maite: render the tiles in a home computer, and then copy them to the server, that will serve them as simple plain static files.

We will, however, take into account your advice and other suggestions, including Tirex tool, that i didn’t know. And yes, we are already using Openlayers for the markers.

Thank you very much again!

Yep!

Wonderful! I’m very glad of this. We can kick off the project now, and start planning the server for the future, but without being in a hurry.

Thanks again.