Re: Proposing libchamplain as an external dependancy for GNOME 2.28



On Wed, 2009-05-06 at 10:12 +1200, John Stowers wrote:
> 
> As the maintainer of osm-gps-map [1], a non-clutter mapping library
> with comparable features, I support libchamplain's proposal.

Thanks for your support.

> I do not intend to add clutter support to osm-gps-map, it will remain
> a Gdk/Cairo only library as its intended, and my current, use of it is
> on embedded devices with no OpenGl support. Clutter is the new cool,
> so I support all ways to get this into the platform.

Clutter will be supported on Maemo 5, I hope to make it useful on this
platform at some point!

> However, looking over the libchamplain API (quickly, sorry if I
> mis-characterize something) I have a few comments
> 
> * It is good to see you have added support for specifying map uri's. I
> would also like to see you support quadtree encoding, and
> randomization of hosts. See osm-gps-map for what I mean...

I will have a look, but little code can be shared as osm-gps-map is
GPL :) but if the method is generic enough method I'll see how to
reproduce it.

> * Where is the simple API? It seems like quite a few lines of code are
> required to get something to show. 

Actually, you should be able to have something show up with:

ChamplainView *view = champlain_view_new ();
ChamplainViewEmbed *embed = champlain_view_embed_new (view);
// put that embed in a GtkContainer

That should bring a OpenStreetMap Mapnik centered at 0,0 at zoom level 0
in PUSH mode.  Which are boring defaults for demos :)

> * What is the sqlite dependecy for? Cache? Did you feel that using a
> database for cache was a performance benefit? In osm-gps-map we use an
> in memory cache of the last N tiles + a border around what is already
> showing, and just load the rest of the tiles from disk. Performance of
> that approach is more than sufficient (on any of the embedded targets
> I have tried, for example)

sqlite got introduced when we figured out that we'll need a place to
save a 20 char string for every tiles downloaded.  OpenStreetMaps send
an ETag in their http headers along with the tile.  You can reuse that
ETag to validate your cache.

The sqlite db is also used to maintain statistics about the tiles so
that tiles that are the most used are not the first to be purged from
the cache.  Finally, it is used to determine the cache size, since all
tiles are in the db anyway.

--
Pierre-Luc

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]