[Openstreetmap-dev] Source overview

SteveC steve at asklater.com
Sat Dec 3 03:17:29 GMT 2005


* @ 02/12/05 10:46:20 PM g.hamwall at gmail.com wrote:
> I'd like to have look around the current source for OSM and have had a
> quick look around the cvs. There's lots of directories there, but no
> real explaination, that I can find, of which bits do what. Does such a
> doc exist?

no.. let's make one

> I'm interested in looking at the code which generates the tiles and
> also the editor applet, but there's no easy way to tell which bit is
> done in java, which in processing etc.  without looking at the all the
> code.

I have an ip address for dev.openstreetmap.org and the DNS is going
through but the machine won't be up 'till Monday. Once up, anyone can
have a dev environment to hack on anything they like.

processing (p5) just grabs an image from the tile server for it's
bounding box.

the http request hits squid (caching) and if in the cache stops there
and an image is served. if not it's passed on to mapserver. mapserver
makes a call to JPL to get the landsat images and to a ruby script
(gpx.rb) to get a transparent layer of gps dots. mapserver composites
these and sends them back to apache, which sends it to squid, which
sends it to the applet.

gpx.rb wakes up when called and grabs n gps points from the database and
renders them using the ruby Cairo bindings. unfortunately it needs to
save the image and read it back in as you can't get the binary out of
Cairo. Hence a move is in progress to ruby-magick bindings.

Mikel and Nick also want to work on this stuff to make the tile server
not drop layers and also render prettier streets. You guys want to brain
dump your thoughts?


The applet should do tiling and for this it needs a non-hacky Mercator
class which does absolute rather than relative positioning (see the
java and ruby mercator classes). Tiles can be cached and you could then
drag the applet around, do zooming within it...

have fun,

SteveC steve at asklater.com http://www.asklater.com/steve/




More information about the dev mailing list