[OSM-dev] Beautiful maps for a travel blog & reviews site
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
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
http://wiki.openstreetmap.org/wiki/TopOSM - I notice TopOSM is not
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...
More information about the dev