Thomas

thanks for the clarifications.

I tried to define a grid that could fit those OGS specs with the following parameters:

 <grid name="OGCWGS84">
      <metadata>
<title>OGCCRS84Quad</title> <WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:OGCCRS84Quad</WellKnownScaleSet>
      </metadata>
      <extent>-180 -180 180 180</extent>
      <srs>EPSG:4326</srs>
      <units>dd</units>
      <size>256 256</size>
<resolutions>1.40625000000000 0.703125000000000 0.351562500000000 0.175781250000000 8.78906250000000e-2 4.394531 25000000e-2 2.19726562500000e-2 1.09863281250000e-2 5.49316406250000e-3 2.74658203125000e-3 1.37329101562500e-3 6.8664 5507812500e-4 3.43322753906250e-4 1.71661376953125e-4 8.58306884765625e-5 4.29153442382812e-5 2.14576721191406e-5 1.07
288360595703e-5 5.36441802978516e-6</resolutions>
   </grid>

For me the capability output looks correct, and the tile level 0 is the whole world in 1 single tile, with upper and lower quarter left blank. I guess that's what the specs want it to be and so it should be possible to satisfy this strange definition if required.


I guess that the MapCache definition of the "GoogleCRS84Quad" corresponds to what the European INSPIRE initiative defines as "InspireCRS84Quad" in the document

http://inspire.jrc.ec.europa.eu/documents/Network_Services/TechnicalGuidance_ViewServices_v3.1.pdf

It states:
"The level 0 of InspireCRS84Quad is the level 1 of GoogleCRS84Quad. This level has been discarded because Level 0 of GoogleCRS84Quad allows representing the whole world in a single 256x256 pixels where the first 64 and last 64 lines of the tile are left blank. To avoid this situation the level 0 of InspireCRS84Quad is composed of two tiles representing exactly the whole world."

They do not add the full XML description, however.

Best regards
Armin


On 04/10/2013 05:50 PM, thomas bonfort wrote:
Armin,
I don't have much to add to what you have already found out. I
personally consider the GoogleCRS84Quad grid as defined by the spec to
be broken, and have not implemented its support as it would require some
specific hacks in the code (as the extent for level 0 needs to be
hardcoded for this specific grid, instead of it being derived from grid
properties as is the case with all other grid definitions).

I suppose that support for this could be added if you really need it
badly. The impact is not negligible as all places where an extent is
derived from a tile coordinate and vice-versa would need to be updated
to support this illogical quirk.

FWIW, I believe I had brought this up as a change request to the wmts
working group, but this was ignored as I am not a member.

best regards,

thomas


On 9 April 2013 20:57, Armin Burger <[email protected]
<mailto:[email protected]>> wrote:

    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
    <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






    _________________________________________________
    mapserver-users mailing list
    [email protected].__org
    <mailto:[email protected]>
    http://lists.osgeo.org/__mailman/listinfo/mapserver-__users
    <http://lists.osgeo.org/mailman/listinfo/mapserver-users>


_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to