[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