On 03/11/2013 06:45 AM, Jochen Topf wrote:
Hi!

I missed support for easily using web tile servers in QGIS for a long time and
finally decided to do something about it. :-) (I am not talking about WMS-type
servers, only about those where all you have is a URL pattern such as
http://tile.openstreetmap.org/${z}/${x}/${y}.png .)

Somebody wrote down how this can be done with QGIS using GDAL:
http://www.3liz.com/blog/rldhont/index.php?post/2012/07/17/OpenStreetMap-Tiles-in-QGIS
Thats already pretty impressive, but it is harder than it should be. So I
started working on a plugin: https://github.com/joto/qgis-plugin-tiled-map .
This will give you a menu where you can easily add servers that are pre-defined
in a .yaml file. (Of course this should be configurable from QGIS at some
point.)

Now to my question: This works all very well and does mostly what I want.
But there is one issue: Of course QGIS/GDAL will resize the tiles from the
servers to fit the current screen. That's okay in many cases. But I want
to at least have the option of "snapping" to the right resolutions (will,
of course, only work in EPSG:3857).

There is already "Tile scale" panel that is used for WMS-C. Can I somehow
enable this from my plugin? I looked into the core C++ code and it looks
like it is very specifically tied to one data provider:

   if ( !rl || rl->providerType() != "wms" || !rl->dataProvider() )
     return;

Maybe this can be done in a more general way?

Is the "Tile scale" panel the right way to go? I want the user to have the
choice whether they want the snapping or not. I am not sure how the panel
is supposed to work in that case.

Jochen


FYI, the openlayers plugin is essentially doing something very similar.
Your scale issue might be similar to what Nathan was seeing yesterday too where tiles don't always line up right.

Thanks,
Alex

_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to