[OSM-dev] Beautiful maps for a travel blog & reviews site

Joe Richards geojoelists at gmail.com
Mon Aug 30 03:12:17 BST 2010

In 2001 (before OSM and Google Maps), I cofounded a travel
blog<http://www.ballofdirt.com>website which featured its own maps (of
your trip locations) as they unwound
as a 'ball of string' across the 'ball of dirt' that is our world.
 Dedication to the project has had its bursts, there is video/photo
uploading and a few bugs and things to fix.

The mapping could be vastly improved and since I've been an active OSM
user/contributor the past few years it's time to roll the sleeves up and
integrate better maps into BallOfDirt.com

The maps on the site are generated using public domain DEM (digital
elevation data) which specifies the altitude coarsely across the globe using
some custom C code that essentially renders blue (water) if the altitude is
less than zero, and then a range of colours above that.  A slight 'shadow'
effect is rendered for pixels that are lower than the ones to their
upper-left neighbours, to give a slightly simple 'relief' map feeling.
 Nowadays SRTM elevation data is more accurate and would allow 'zoomed in'
bits of coastline etc to look less chunky, but perhaps this is the wrong
approach anyway.

Locations (places visited) are added simply from a big import of Geonames
into some nicely normalised tables, with some more custom rendering for the
splines that represent the user's journey as they roam, marking the
cities/places they visit.

The reaindering is done with a nice engine that can distribute the load
across (geographically) across a grid of media generating and caching
servers, cache the result of various layers/actions and understands
processing commands in a nice XML language with fed-in parameters for each
step (e.g. a step for rendering a map, one for scaling it, one for rendering
the lines of the journey's paths, one for producing PNG output etc)

At one stage (many years ago) I toyed and fiddled with getting VMAP0 data
(or VMAP1 or VMAP2) going as a layer for better features such as geographic
boundaries, cities, airports, major roads, swamps etc which looked exciting
and promising but had its own problems.  I wanted to turn rendering of
visible features on and off at various zoom levels (e.g. regions/boundaries
at one level, then rivers and major roads, then minor roads etc).

Since them I'm obviously a big OSM convert and would like to use the lovely
data that is out there and enjoy the continuous improvements, as well as
hopefully get our travellers to feed back useful data and improvements.

So how to go about it?  Here are some of the things that would be good to

   1. Slippy map - this should be easy.  Our current map has a
   mercator-projection version (not currently enabled on the site) which could
   help it generate tiles as a base layer for a slippy map, *if we go that way*
   2. Unique colours/look and feel - we already have that, but perhaps it's
   time to give up our own map rendering engine and look at Mapnik etc.  We can
   create a tile server, although obviously avoiding so would be desirable if
   it can be done without causing too much impact on any one source server
   (perhaps we can retrieve and cache tiles)
   3. Nice relief maps with SRTM data - something a bit like this type of
   shading too
   http://wiki.openstreetmap.org/wiki/TopOSM  - I notice TopOSM is not
   global btw
   4. Custom configuration to determine which POIs etc are visible at
   various zoom levels - not radically different from OSM's tiles but probably
   tweaked with different features that are interesting to travellers
   highlighted.  I guess so far it's quite similar to OpenCycleMap
   5. Ability to overlay our own paths/lines over the top.  These are
   currently generated in SVG, then rendered as a transparent (alpha channeled)
   layer over the top of the map.  They could be chopped into tiles easily, as
   long as they cold be transparent overlays
   6. Possibility to search not just from our (imported) Geonames data for
   placenames and features, but also from OSM (live?) database and/or Geonames
   web service, so updates and fixes are handled
   7. Updates to OSM map visible on the site - ideally ASAP but at the most
   within a couple of weeks
   8. Ideally ability to use OAuth to help tweak or add things like POIs
   where one of our users has the relevant info - avoiding a separate sign-up

This is all on Debian/Ubuntu/Apache/Postgres with the main languages used
being PHP and Python, although others are fine.

I could just plough in and start messing around with the tools but I thought
I'd ask first in case there are some big shortcuts, pointers or a bit of
lateral thinking (e.g. whole steps that could be omitted).  What existing
resources/tools/plans can I use here to 'stand on the shoulders of giants'?

Oh and was VMAP* imported into OSM?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20100829/9fa67fda/attachment-0001.html>

More information about the dev mailing list