[mapserver-users] MapCache and the GoogleCRS84Quad TileMatrixSet

Armin Burger armin.burger at gmx.net
Tue Apr 9 11:57:16 PDT 2013


Dear all

I have a question regarding the GoogleCRS84Quad TileMatrixSet defined in 
MapCache. MapCache specifies this in the docs with the first level [0] 
as pixel resolution 0.70312500 deg, and an extent of
   <extent>-180 -90 180 90</extent>

and returns the GoogleCRS84Quad TileMatrixSet in the Capabilities 
response like

<TileMatrixSet>
   <Identifier>WGS84</Identifier>
   <Title>GoogleCRS84Quad</Title>
   <SupportedCRS>urn:ogc:def:crs:EPSG:6.3:4326</SupportedCRS>
   <BoundingBox crs="urn:ogc:def:crs:EPSG:6.3:4326">
     <LowerCorner>-180.000000 -90.000000</LowerCorner>
     <UpperCorner>180.000000 90.000000</UpperCorner>
   </BoundingBox>

<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad</WellKnownScaleSet>
   <TileMatrix>
     <Identifier>0</Identifier>
     <ScaleDenominator>279541132.01435887813568115234</ScaleDenominator>
     <TopLeftCorner>90.000000 -180.000000</TopLeftCorner>
     <TileWidth>256</TileWidth>
     <TileHeight>256</TileHeight>
     <MatrixWidth>2</MatrixWidth>
     <MatrixHeight>1</MatrixHeight>
   </TileMatrix>
   .....
</TileMatrixSet>

This looks clear and logical, but the OGC specs at
   http://portal.opengeospatial.org/files/?artifact_id=35326
define this TileMatrixSet differently as

"E.3 GoogleCRS84Quad (urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad)
This well-known scale set has been defined to allow quadtree pyramids in 
CRS84. Level 0 allows representing the whole world in a single 256x256 
pixels (where the first 64 and last 64 lines of the tile are left 
blank). The next level represents the whole world in 2x2
tiles of 256x256 pixels and so on in powers of 2. Scale denominator is 
only accurate near the equator."

The level 0 in the OGC specs uses a resolution of 1.40625000.

The tile 0/0/0 in MapCache is not a single tile as in the OGC specs but 
the first out of 2 tiles for this level, correctly defined with 
MatrixWidth 2 and MatrixHeight 1 (level 1 has 4x2 tiles). For me the OGC 
specs are not logical, because the TopLeft corner would correspond to 
180 -180 degrees which makes no sense for me, but somehow they are 
regarded as the default specs...

So the XML definition of the OGC specs should probably result in 
something like

   <TileMatrix>
     <Identifier>0</Identifier>
     <ScaleDenominator>559082264.0287178</ScaleDenominator>
     <TopLeftCorner>180.000000 -180.000000</TopLeftCorner>
     <TileWidth>256</TileWidth>
     <TileHeight>256</TileHeight>
     <MatrixWidth>1</MatrixWidth>
     <MatrixHeight>1</MatrixHeight>
   </TileMatrix>

Unfortunately the OGC doc does not provide this matrix set's full 
definition in XML to check this.


So I'm wondering which is the correct definition? And any idea how to 
deal with this discrepancy?

Thanks
Armin








More information about the mapserver-users mailing list