[OSM-dev] GSoC Ideas
Milo van der Linden
milovanderlinden at gmail.com
Wed Mar 25 22:50:35 GMT 2009
Paul Wicks wrote:
> Hello all,
>
> My name is Paul Wicks and I am a Computer Science major at the
> University of Puget Sound and I am interested in taking part in the
> Google of Summer of Code for the OSM project.
>
> The idea in the list that seemed to appeal to me most was the creation
> of a Static Map API. I'd be very interested in implementing something
> of this nature and have a bit of a basic plan sketched out (note that
> some of this is mentioned in the ideas list and also discussed a bit
> previously here).
>
>
> 1. Receive Latitude and Longitude coordinates, along with zoom level
> information, and return a static image (probably start with something
> really simple like ppm and go from there). Once this was achieved,
> everything else can be built up. The rendering path for images would
> have to be investigated (although from what looking I have done it
> looks like maybe mapnik would be the way to go, although it was
> suggested earlier that perhaps it would be better to grab the image
> tiles from the OSM servers and stitch them together), as I am not too
> familiar with the internals of OSM, having only used it for street
> maps up until now.
Please read into the standard WMS protocol. Information can be found at:
Official documentation: http://www.opengeospatial.org/standards/wms
Mapnik's implementation of wms: http://mapnik.org/news/2006/apr/18/wms/
Mapnik could act as a wms server, but this would not be good for
performance since all rendering would be done straight from the
openstreetmap db on the fly. A better trick would be to implement a
tile-layer in a wms image server, the image would then take the required
tiles, sticht them together in the requested projection, cut the area
that is requested and return that to the client.
>
> 2. Once the absolute basics were in place, work on making it more
> useful. Maintaining a local cache of static maps would be important,
> so that maps would only need to be rendered once (although maybe maps
> should expire, since the canonical OSM map could itself change). Work
> would need to be done to determine the best way/place to store this
> data, especially considering that this project would most likely be
> aimed at deployment on Google App Engine. The other important thing,
> as I see it, would be to graft a key authentication mechanism on top
> the api, to prevent abuse. This seems like something that someone
> might have already written for django, so that would be good to look
> into. If not, it shouldn't be too difficult to create something of the
> sort.
Caching with WMS is something that, as far as I know is not common, If
you can figure out a way of caching and write a proposal, please also
offer it to the mentor group at www.osgeo.org, they would gladly help
>
> 3. Once the first 2 items were done, it would be more or less open
> season on whatever features were thought to be most useful. Markers
> (various types, colors, capacities), Paths/lines/boxes/shapes (again,
> many of the same options), additional caching backends (might as well
> increase the number of places that can run it as much as possible and
> not get locked into app engine), more image formats (jpg, gif, png,
> svg, pdf), different map themes (allow the api call to specify the
> colors of various map features, would this be possible/desired? maybe
> just have a dark theme and a light theme, that would probably
> encompass most needs for this feature)
That is nothing new, it is merely a matter of adding layers in the wms
request.
>
> Another important thing would be to build a basic test suite around
> the api, both for benchmarking purposes and to help ensure it's
> integrity as development progressed.
Stick to the open protocol and your testing will also be defined. You
can use a lot of free wms clients around for testing:
uDig
qGIS
JOSM
Merkaartor
>
> In the ideas list, django was mentioned as a possible platform for
> this and I would agree, for much the same reasons: it is written in a
> popular language and platform, meaning more developers in the future;
> deployment should be fairly easy, especially on something like app engine.
>
> Another wild thought I had was to create some sort of application that
> uses/showcases OSM for the iPhone/Android/Pre. This seems to be a hot
> new place for development these days and it would be cool to have an
> app that showcases OSM on one of these new mobile platforms. Perhaps a
> basic maps applicaion that uses OSM (although it looks like a
> jailbreak iphone can use OSM in the official maps app
> http://brainoff.com/weblog/2007/10/19/1271 ) or maybe something more
> specific, something that shows the strength of the OSM project. I'll
> have to think about this one some more.
>
> If this is not the place for this discussion or I've made any large
> errors, please let me know.
>
> Thanks for your time.
>
> -Paul Wicks
> ------------------------------------------------------------------------
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev
>
More information about the dev
mailing list