[mapserver-users] mapcache WMTS - TMS one tile offset

mapserver mapserver at markus-spring.de
Fri Oct 17 03:50:30 PDT 2014


Thomas,

thank you very much for explaining how to step forward to solve this problem.

With qGIS I am able to retrieve the WMTS tiles, so my next try for the web 
fronted will be OL 3.0, which might have improved on that problem.

Best regards - Markus Spring

Am 14.10.2014 um 12:13 schrieb thomas bonfort:
> Markus,
>
> TMS expects tiles starting at the bottom left whereas WMTS expects
> them starting top left. Mapcache by default uses bottom-left ordered
> grids, and creates a WMTS capabilities document that accounts for that
> in the sense that the TopLeftCorner of each TileMatrix is adjusted and
> may vary if the combination of your grid extents and resolutions do
> not produce a stable topleftcorner for each resolution. You have
> multiple ways forward:
>
> - use a combination of grid extents and resolutions that force a
> stable topleftcorner whatever the resolution. This is usually done by
> using power-of-two resolutions.
> - force the grid to be fixed to the top left corner instead of bottom
> left. <grid><origin>top-left</origin></grid>. Your tileset will not be
> compatible with TMS requests.
> - use a wmts client that knows how to parse WMTS capabilities so that
> the correct topleftcorner is used for each resolution
> - (not sure, but check if openlayers supports overiding the topleft
> origin for its grid for WMTS requests)
>
> cheers,
> thomas
>
> On 10 October 2014 22:12, mapserver <mapserver at markus-spring.de> wrote:
>> Disclaimer: I have asked this question already on openlayers-users, but not
>> received any answer
>> ---
>>
>> I have set up a mapserver/mapcache service for tiled background maps, which
>> should offer WMTS and TMS services
>> in the EPSG:31468 projection.
>>
>> The TMS tiles I've verified to be correctly placed against a standard wms
>> layer, however the WMTS tiles get placed with
>> a one tile offset to the south compared to the TMS tiles.
>>
>> Please see the screenshot:
>> http://markus-spring.info/varia/wmts_tms_offset_problem.jpg
>>
>> The grid definition is as follows:
>>
>>     <grid name="MUC31468">
>>        <metadata>
>>           <title>Mapcache Service City of Munich EPSG 31468</title>
>>        </metadata>
>>        <srs>EPSG:31468</srs>
>>        <size>256 256</size>
>>        <extent>4440016 5313983 4492016 5359983</extent>
>>        <units>m</units>
>>        <resolutions>141.11153491115225 70.55561745557612
>>                     42.33331047334567 35.27775872778806 26.458319045841048
>>                     17.63887936389403 8.819439681947015 3.527775872778806
>>                     2.6458319045841043 1.763887936389403 0.8819439681947016
>>                     0.35277758727788067 0.17638879363894033</resolutions>
>>     </grid>
>>
>> and the tileset
>>
>>     <tileset name="karte_2014-1">
>>        <source>karte_2014-1</source>
>>        <cache>disk</cache>
>>        <metadata>
>>           <title>karte_2014-1</title>
>>           <abstract></abstract>
>>        </metadata>
>>        <format>PNG</format>
>>        <metatile>5 5</metatile>
>>        <metabuffer>10</metabuffer>
>>        <dimensions>
>>          <dimension type="regex" name="MAPFILE"
>> default="/path/to/mapfile.map">^[a-zA-Z0-9\./]*\.map$</dimension>
>>        </dimensions>
>>        <grid>MUC31468</grid>
>>     </tileset>
>>
>>
>> while the service definitions (for OpenLayers 2.13) are these:
>>
>>            var wmts = new OpenLayers.Layer.WMTS({
>>                name:        "WMTS basemap",
>>                url:         "http://centmap/mapcache/wmts?",
>>                layer:       "karte_2014-1",
>>                matrixSet:   "MUC31468",
>>                format:      "image/png",
>>                style:       "default",
>>                opacity:     0.7,
>>                maxExtent:   maxExtent,
>>                isBaseLayer: true
>>            });
>>
>>            var tms = new OpenLayers.Layer.TMS(
>>                "TMS basemap",
>>                "http://centmap/mapcache/tms/",
>>                { layername: "karte_2014-1",
>>                  type:      "png" }
>>            );
>>
>> Any help would be greatly appreciated.
>>
>> ---Markus
>>
>> _______________________________________________
>> mapserver-users mailing list
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>



More information about the MapServer-users mailing list