Re: New feature suggestion: map source overlays

Hi Gerard,

On Thu, Oct 6, 2011 at 11:15, Gerard Toonstra <gtoonstra gmail com> wrote:
> Hello,
> One of the possible extensions that people may want to use champlain for is
> in GIS applications or
> simplified GIS viewers perhaps. These GIS related applications typically use
> multiple sources as 'overlays'.
> If the data is relatively static, then it wouldn't be too difficult to set
> up a rendering loop, which constructs lots of (transparent)
> tiles of GIS data or similar. A related example is in Google Maps, namely
> the road layer overlaid on the satellite layer.
> This layer can be easily turned on/off.

The only reason why I haven't implemented it is that I don't know any
freely available source of such overlay data. The main data source is
OSM. If there was some good quality satellite map, we could display
OSM on top of it but OSM over OSM doesn't make much sense.

Do you know about some different map sources?

> The MapSourceChain is already amazing, but it works for a single layer only,
> namely the map data. My suggestion is to
> insert another chain on the map which is a chain of MapSourceChains, where
> the bottom layer is made up of opaque map tiles
> and layers higher up mostly transparent map data, custom generated by other
> processes as a set of tiles.

Even easier would be a flag to mark a map source (i.e. also chains
because chains are just special map sources - you can put chains
inside chains already) as overlay map source - such a map source would
continue loading tiles from the following sources even if it renders a
tile. The tiles from all map sources would be combined inside the
tile's actor.

I could implement it if I have time, it doesn't sound too difficult.

> Although overlay data can already be generated/mimicked using the
> "CustomMarker" Clutter actor objects and these work, the dynamics
> of interaction are quite different. For example, on a zoom operation the
> images in the map are zoomed in/out, but the
> markers temporarily disappear and reappear.

It's the way current layers are implemented - it's vector graphics
which is redrawn from scratch for every zoom level. You can implement
your own layers by implementing ChamplainLayer and connecting
corresponding signals of ChamplainView but at the moment there's
nothing which would synchronize animations of layers and MapView.

> Also, those markers don't cache
> in memory or on disk, so there's a slightly higher
> cost associated with using them.



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