Open Geospatial Consortium



License Agreement

Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.

If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.

THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.

THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.

This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.

Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.


 

Annex A: Conformance Class Abstract Test Suite (Normative)

A TileMatrixSet implementation of this standard must satisfy the following system characteristics to be conformant with this specification.

A.1 Conformance class: TileMatrixSet2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/tilematrixset2d

Tests identifiers below are relative to http://www.opengis.net/spec/tilematrixset/1.0

A.1.1      Model

Test id:

conf/tilematrixset2d/model

Test Purpose:

Req 1 req/tilematrixset2d/model:
A tile matrix set 2D shall be defined following the UML model as shown in Figure 1 and the model description in Table 1 and Table 2.
Dependency: http://www.opengis.net/spec/owscommon/2.0/req

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D instances point to the TileMatrixSet2D data type definition and follow the data model specified in Table 1 and Table 2 and its dependencies.

 

A.2      Conformance class: TileMatrixSetLimits2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/tilematrixsetlimits2d

A.2.1      Model

Test id:

tilematrixsetlimits2d/model

Test Purpose:

Req 2 req/tilematrixsetlimits2d/model:
A tile matrix set limits 2D shall be defined following the UML model as shown in Figure 7 and model description in Table 3 and Table 4.
Dependency: http://www.opengis.net/spec/owscommon/2.0/req

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLimits2D instances point to the TileMatrixSetLimits2D data type definition and follow the data model specified in Table 3 and Table 4 and its dependencies.

A.3      Conformance class: TileMatrixSetLink2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/tilematrixsetlink2d

A.3.1      Model

Test id:

tilematrixsetlink2d/identifier

Test Purpose:

Req 3 req/tilematrixsetlink2d/identifier:
A tiled resource or dataset shall declare support to a tile matrix set 2D by link to a tile matrix set definition by citing a tile matrix set identifier defined in the same document instance or an active (resolvable) link to a TileMatrixSet definition in an external document.

Test method:

Validate the requirements of the model

Test passes if all TileMatrixSetLink2D elements in the instance cite a tile matrix set by mentioning at least one TileMatrixSet identifier or by using a URI that can be resolved into a TileMatrixSet2D.

A.3.2      Identifier

Test id:

tilematrixsetlink2d/model

Test Purpose:

Req 4 req/tilematrixsetlink2d/model:
When a tiled resource or dataset has tiles available only for a region or regions of the complete tiled space, the resource or dataset shall declare partial support to a tile matrix set 2D using one or more tile matrix set limits data structures. This will result in the following  UML model shown in Figure 7 and model description in Table 5.
Dependency: req/tilematrixsetlimits

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D instances point to the TileMatrixSetLink2D data type definition and follow the data model specified in Table 5 and its dependencies.

A.4      Conformance class: VariableMatrixWidth

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/variablematrixwidth

A.4.1      Model

Test id:

variablematrixwidth/model

Test Purpose:

Req 5 req/variablematrixwidth/model:
When a tiled resource or dataset has variable width tiles, the resource or dataset shall define the variable matrix width in a tile matrix set 2D using a variablematrixwidth data structure. This will result in the following UML model shown in Figure 9 and model description in Table 6.

Test method:

Validate the requirements of the model

Test passes if VariableMatrixWidth instances point to the VariableMatrixWidth data type definition and follow the data model specified in Table 6 and its dependencies.

A.4.2      Identifier

Test id:

variablematrixwidth/coalescence1

Test Purpose:

Req 6 req/variablematrixwidth/coalescence1:
Only the tile rows will with coalesces factor different of one shall be encoded. It a tile row is not mentioned in the variablematrixwidth description a coalesce factor of 1 shall be considered for that row.

Test method:

Validate the requirements of the model

Test passes if all VariableMatrixWidth elements in the instance has a coalescence factor bigger than 1.

A.5      Conformance class: XML Encoding for TileMatrixSet2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/xml-tilematrixset2d

A.5.1      Model

Test id:

xml-tilematrixset2d/model

Test Purpose:

Req 7 req/xml-tilematrixset2d/model:
A TileMatrixSet2D encoded in XML shall implement the class TileMatrixSet2D
Dependency: req/tilematrixset2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D instances use a TileMatrixSet2D XML data type definition that follows the data model specified in Table 1 and Table 2 and its dependencies.

A.5.2      Schema

Test id:

xml-tilematrixset2d/schema

Test Purpose:

Req 8 req/xml-tilematrixset2d/schema:
A TileMatrixSet2D encoded in XML shall validate using the XML schema for a tile matrix set 2D.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D XML instances pass validation against the tile matrix set 2D XML Schemas.

A.5.3      Media type

Test id:

xml-tilematrixset2d/media-type

Test Purpose:

Req 9 req/json-tilematrixset2d/media-type:
A TileMatrixSet2D encoded in an independent JSON document shall use the media type application/json.

Test method:

Validate the requirements of the media type

Test passes if the independent instances of TileMatrixSet2D are exposed as application/xml MIME type.

A.6      Conformance class: XML Encoding for TileMatrixSetLimits2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/xml-tilematrixsetlimits2d

A.6.1      Model

Test id:

xml-tilematrixsetlimits2d/model

Test Purpose:

Req 10 req/xml-tilematrixsetlimits2d/model:
A TileMatrixSetLimits2d encoded in XML shall implement the class TileMatrixSetLimits2D
Dependency: req/tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLimits2D instances point to the TileMatrixSetLimits2D data type definition and follow the data model specified in Table 3 and Table 4 and its dependencies.

A.6.2      Schema

Test id:

xml-tilematrixsetlimits2d/schema

Test Purpose:

Req 11 req/ xml-tilematrixsetlimits2d/schema:
A TileMatrixSetLimits2D encoded in XML shall validate using the XML schemas for a tile matrix set limits 2D.

Test method:

Validate the requirements of the schema

Test passes if TileMatrixSetLimits2D XML instances pass validation against the tile matrix set limits 2D XML Schemas.

 

A.7      Conformance class: XML Encoding for TileMatrixSetLink2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/xml-tilematrixsetlink2d

A.7.1      Model

Test id:

xml-tilematrixsetlink2d/model

Test Purpose:

Req 12 req/xml-tilematrixsetlimits2d/model:
A TileMatrixSetLink2D encoded in XML shall implement the class TileMatrixSetLink2D
Dependency: req/tilematrixsetlink2d
Dependency: req/xml-tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D instances use a TileMatrixSetLink2D XML data type definition that follows the data model specified in Table 5 and its dependencies.

A.7.2      Schema

Test id:

xml-tilematrixsetlink2d/schema

Test Purpose:

Req 13 req/xml-tilematrixsetlink2d/schema:
A TileMatrixSetLink2D encoded in XML shall validate using the XML schema for a tile matrix set link 2D.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D XML instances pass validation against the tile matrix set link 2D XML Schemas.

A.8      Conformance class: XML Encoding for VariableMatrixWidth

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/xml-variablematrixwidth

A.8.1      Model

Test id:

xml-variablematrixwidth/model

Test Purpose:

Req 12 req/xml-tilematrixsetlimits2d/model:
A TileMatrixSetLink2D encoded in XML shall implement the class TileMatrixSetLink2D
Dependency: req/tilematrixsetlink2d
Dependency: req/xml-tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if VariableMatrixWidth instances use a VariableMatrixWidth XML data type definition that follows the data model specified in Table 6 and its dependencies.

A.8.2      Schema

Test id:

xml-variablematrixwidth/schema

Test Purpose:

Req 13 req/xml-tilematrixsetlink2d/schema:
A TileMatrixSetLink2D encoded in XML shall validate using the XML schema for a tile matrix set link 2D.

Test method:

Validate the requirements of the model

Test passes if VariableMatrixWidth XML instances pass validation against the variable matrix width XML Schemas.

A.9      Conformance class: JSON Encoding for TileMatrixSet2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/json-tilematrixset2d

A.9.1      Model

Test id:

json-tilematrixset2d/model

Test Purpose:

Req 16 req/xml-tilematrixset2d/model:
A TileMatrixSet2D encoded in XML shall implement the class TileMatrixSet2D
Dependency: req/tilematrixset2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D instances follow the data model specified in Table 1 and Table 2 and its dependencies.

A.9.2      IETF

Test id:

json-tilematrixset2d/ietf

Test Purpose:

Req 17 req/json-tilematrixset2d/ietf:
A TileMatrixSet2D encoded in JSON shall conform to IETF RFC7159

Test method:

Validate the requirements of the IETF

Test passes if TileMatrixSet2D JSON instances pass format validation against the IETF rules.

A.9.3      Schema

Test id:

json-tilematrixset2d/schema

Test Purpose:

Req 18 req/json-tilematrixset2d/schema:
A TileMatrixSet2D encoded in JSON shall validate using the JSON schema for a tile matrix set 2D.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D JSON instances pass validation against the tile matrix set 2D JSON Schemas.

A.9.4      Media type

Test id:

json-tilematrixset2d/media-type

Test Purpose:

Req 19 req/json-tilematrixset2d/media-type:
A TileMatrixSet2D encoded in an independent JSON document shall use the media type application/json.

Test method:

Validate the requirements of the media type

Test passes if the independent instances of TileMatrixSet2D are exposed as application/json media type.

A.10   Conformance class: JSON Encoding for TileMatrixSetLimits2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/json-tilematrixsetlimits2d

A.10.1   Model

Test id:

json-tilematrixsetlimits2d/model

Test Purpose:

Req 20 req/json-tilematrixsetlimits2d/model:
A TileMatrixSetLimits2D encoded in JSON shall implement the class TileMatrixSetLimits2D
Dependency: req/tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLimits2D instances follow the data model specified in Table 3 and Table 4 and its dependencies.

A.10.2   IETF

Test id:

json-tilematrixsetlimits2d/ietf

Test Purpose:

Req 21 req/json-tilematrixsetlimits2d/ietf:
A TileMatrixSetLimits2D encoded in JSON shall conform to IETF RFC7159

Test method:

Validate the requirements of the IETF

Test passes if TileMatrixSetLimits2D JSON instances pass format validation against the IETF rules.

A.10.3   Schema

Test id:

json-tilematrixsetlimits2d/schema

Test Purpose:

Req 22 req/json-tilematrixsetlimits2d/schema:
A TileMatrixSetLimits2D encoded in JSON shall validate using the JSON schema for a tile matrix set limits 2D.

Test method:

Validate the requirements of the schema

Test passes if TileMatrixSetLimits2D JSON instances pass validation against the tile matrix set limits 2D JSON Schemas.

A.11   Conformance class: JSON Encoding for TileMatrixSetLink2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/json-tilematrixsetlink2d

A.11.1   Model

Test id:

json-tilematrixsetlink2d/model

Test Purpose:

Req 23 req/json-tilematrixsetlink2d/model:
A TileMatrixSetLimits2D encoded in JSON shall implement the class TileMatrixSetLink2D
Dependency: req/tilematrixsetlink2d
Dependency: req/json-tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D instances follow the data model specified in Table 5 and its dependencies.

A.11.2   IETF

Test id:

json-tilematrixsetlink2d/ietf

Test Purpose:

Req 24 req/json-tilematrixsetlink2d/ietf:
A TileMatrixSetLink2D encoded in JSON shall conform to IETF RFC7159

Test method:

Validate the requirements of the IETF rules

Test passes if TileMatrixSetLink2D JSON instances pass format validation against the IETF rules.

A.11.3   Schema

Test id:

json-tilematrixsetlink2d/schema

Test Purpose:

Req 25 req/json-tilematrixsetlink2d/schema:
A TileMatrixSetLink2D encoded in JSON shall validate using the JSON schema for a tile matrix set link 2D.

Test method:

Validate the requirements of the schema

Test passes if TileMatrixSetLink2D JSON instances pass validation against the tile matrix set link 2D JSON Schemas.

A.12   Conformance class: JSON Encoding for VariableMatrixWidth

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/json-variablematrixwidth

A.12.1   Model

Test id:

json-variablematrixwidth/model

Test Purpose:

Req 26 req/json-variablematrixwidth/model:
A VariableMatrixWidth encoded in JSON shall implement the class VariableMatrixWidth
Dependency: req/variablematrixwidth
Dependency: req/json-tilematrixset2d.

Test method:

Validate the requirements of the model

Test passes if VariableMatrixWidth instances follow the data model specified in Table 6 and its dependencies.

A.12.2   IETF

Test id:

json-variablematrixwidth/ietf

Test Purpose:

Req 27 req/json-variablematrixwidth/ietf:
A VariableMatrixWidth encoded in JSON shall conform to IETF RFC7159

Test method:

Validate the requirements of the IETF rules

Test passes if VariableMatrixWidth JSON instances pass format validation against the IETF rules.

A.12.3   Schema

Test id:

json-variablematrixwidth/schema

Test Purpose:

Req 28 req/json-variablematrixwidth/schema:
A VariableMatrixWidth encoded in JSON shall validate using the JSON schema for a variable matrix width.

Test method:

Validate the requirements of the schema

Test passes if VariableMatrixWidth JSON instances pass validation against the variable matrix width JSON Schemas.

A.13   Conformance class: JSON-LD Encoding for TileMatrixSet2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/jsonld-tilematrixset2d

A.13.1   Model

Test id:

jsonld-tilematrixset2d/model

Test Purpose:

Req 29 req/jsonld-tilematrixset2d/model:
A TileMatrixSet2D encoded in JSON-LD shall implement the class TileMatrixSet2D
Dependency: req/tilematrixset2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSet2D JSON-LD encoded instances follow the data model specified in Table 1 and Table 2 and its dependencies.

A.13.2   W3C

Test id:

jsonld-tilematrixset2d/w3c

Test Purpose:

Req 30 req/jsonld-tilematrixset2d/w3c:
A TileMatrixSet2D encoded in JSON-LD shall conform to W3C JSON-LD syntax version 1.

Test method:

Validate the requirements of the W3C

Test passes if TileMatrixSet2D JSON-LD instances pass format validation against the W3C rules.

A.13.3   Context

Test id:

jsonld-tilematrixset2d/context

Test Purpose:

Req 31 req/jsonld-tilematrixset2d/context:
A TileMatrixSet2D encoded in JSON-LD shall include references to the JSON-LD @context for a tile matrix set 2D.

Test method:

Validate the requirements of the @context

Test passes if the relevant references to @context documents for tile matrix set 2D are included.

A.13.4   Media type

Test id:

jsonld-tilematrixset2d/media-type

Test Purpose:

Req 32 req/jsonld-tilematrixset2d/media-type:
A TileMatrixSet2D encoded in an independent JSON-LD document shall use the media type application/jsonld.

Test method:

Validate the requirements of the media type

Test passes if the independent instances of TileMatrixSet2D are exposed as application/jsonld media type.

A.14   Conformance class: JSON-LD Encoding for TileMatrixSetLimits2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/jsonld-tilematrixsetlimits2d

A.14.1   Model

Test id:

jsonld-tilematrixsetlimits2d/model

Test Purpose:

Req 33 req/jsonld-tilematrixsetlimits2d/model:
A TileMatrixSetLimits2D encoded in JSON-LD shall implement the class TileMatrixSetLimits2D
Dependency: req/tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLimits2D JSON-LD instances follow the data model specified in Table 3 and Table 4 and its dependencies.

A.14.2   W3C

Test id:

jsonld-tilematrixsetlimits2d/w3c

Test Purpose:

Req 34 req/jsonld-tilematrixsetlimits2d/w3c:
A TileMatrixSetLimits2D encoded in JSON-LD shall conform to W3C JSON-LD syntax version 1.

Test method:

Validate the requirements of the W3C

Test passes if TileMatrixSetLimits2D JSON-LD instances pass format validation against the W3C rules.

A.14.3   Context

Test id:

jsonld-tilematrixsetlimits2d/context

Test Purpose:

Req 35 req/jsonld-tilematrixsetlimits2d/context:
A TileMatrixSetLimits2D encoded in JSON-LD shall include references to the @conted for a tile matrix set limits 2D.

Test method:

Validate the requirements of the @context

Test passes if the relevant references to @context documents for tile matrix set limits 2D are included

A.15   Conformance class: JSON-LD Encoding for TileMatrixSetLink2D

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/jsonld-tilematrixsetlink2d

A.15.1   Model

Test id:

jsonld-tilematrixsetlink2d/model

Test Purpose:

Req 36 req/jsonld-tilematrixsetlink2d/model:
A TileMatrixSetLimits2D encoded in JSON-LD shall implement the class TileMatrixSetLink2D
Dependency: req/tilematrixsetlink2d
Dependency: req/json-tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D JSON-LD instances follow the data model specified in Table 5 and its dependencies.

A.15.2   W3C

Test id:

jsonld-tilematrixsetlink2d/w3c

Test Purpose:

Req 37 req/jsonld-tilematrixsetlink2d/w3c:
A TileMatrixSetLink2D encoded in JSON-LD shall conform to W3C JSON-LD syntax version 1.

Test method:

Validate the requirements of the W3C rules

Test passes if TileMatrixSet2D JSON-LD instances pass format validation against the W3C rules.

A.15.3   Context

Test id:

jsonld-tilematrixsetlink2d/context

Test Purpose:

Req 38 req/jsonld-tilematrixsetlink2d/context:
A TileMatrixSetLink2D encoded in JSON-LD shall include references to the @context for a tile matrix set link 2D.

Test method:

Validate the requirements of the @context

Test passes if the relevant references to @context documents for tile matrix set links 2D are included.

A.16   Conformance class: JSON-LD Encoding for VariableMatrixWidth

The OGC URI identifier of this conformance class is:

http://www.opengis.net/spec/tilematrixset/1.0/conf/jsonld-variablematrixwidth

A.16.1   Model

Test id:

jsonld-variablematrixwidth/model

Test Purpose:

Req 39 req/jsonld-variablematrixwidth/model:
A VariableMatrixWidth encoded in JSON-LD shall implement the class VariableMatrixWidth
Dependency: req/tilematrixsetlink2d
Dependency: req/json-tilematrixsetlimits2d.

Test method:

Validate the requirements of the model

Test passes if TileMatrixSetLink2D JSON-LD instances follow the data model specified in Table 5 and its dependencies.

A.16.2   W3C

Test id:

jsonld-variablematrixwidth/w3c

Test Purpose:

Req 40 req/jsonld-variablematrixwidth/w3c:
A VariableMatrixWidth encoded in JSON-LD shall conform to W3C JSON-LD syntax version 1.

Test method:

Validate the requirements of the W3C rules

Test passes if TileMatrixSet2D JSON-LD instances pass format validation against the W3C rules.

A.16.3   Context

Test id:

jsonld-variablematrixwidth/context

Test Purpose:

Req 41 req/jsonld-variablematrixwidth/context:
A VariableMatrixWidth encoded in JSON-LD shall include references to the @context for a variable matrix width.

Test method:

Validate the requirements of the @context

Test passes if the relevant references to @context documents for variable matrix with are included.


 

Annex B: Schema Documents (Normative)

In addition to this document, this standard includes several normative Schema Documents. These Schema Documents are posted online at the URL http://schemas.opengis.net/tms/1.0.

B.1      XML Schema

The main XML Schema Document is situated in the xml subfolder and it is named:

xml/tms.xsd

It includes the schemas necessary to XML validate the class XMLTileMatrixSet2D. The xml/examples subfolder is provided with the complete set of XML instances that are also provided in the Annex E of this document. In addition, the file named:

xml/examples/LayerWithTMSLink.xsd

contains the schemas necessary to XML-validate the class XMLTileMatrixSetLimits2D and XMLTileMatrixSetLink2D. The XML example LayerWithTMSLink.xml illustrates how to use this function.

B.2      JSON Schema

The main JSON Schema Document is situated in the json subfolder and it is named:

json/tms-schema.json

It includes the schemas necessary to JSON-validate the class JSONTileMatrixSet2D. The json/examples subfolder is provided with the complete set of JSON Documents that are also provided in Annex E of this document. In addition, the file named:

json/examples/LayerWithTMSLink-schema.json

contains the schemas necessary to JSON-validate the class JSONTileMatrixSetLimits2D and JSONTileMatrixSetLink2D. The JSON example LayerWithTMSLink.json illustrates how to use this function.

B.3      JSON-LD and Turtle

The JSON-LD @context documents are situated in the rdf subfolder and it is named:

rdf/tms-context.json

rdf/tms-boundingbox-context.json

rdf/tms-tilematrix-context.json

rdf/tms-variablematrixwidth-context.json

This @context documents can be used to transform any JSON document into a RDF document using a JSON-LD engine. They support the class JSONLDTileMatrixSet2D. The json/examples subfolder provides an example of JSON documents that includes the @context documents to become a JSON-LD file. It also contains the result of its automatic transformation to RDF turtle:

rdf/examples/ WorldCRS84QuadVariableWidth.json

rdf/examples/ WorldCRS84QuadVariableWidth.n3


 

 

Annex C: Well-known scale sets (Informative)

The following well-known scale sets (WKSS) are defined in this standard. To be conformant to a WKSS, the dataset of resource should be available from the first or second largest scale denominator on the following tables and all intermediate scale denominators down to the most detailed scale resolution of that dataset. In other words, it is not required to support the largest scale denominator and the smallest scale denominators in order to be conformant to a WKSS. Cell sizes (pixel size in terrain units) are calculated assuming 0.28 mm pixel size and the WGS84 equatorial Earth diameter.

The WKSS concept was introduced in WMTS to improve interoperability, but experience has demonstrated that the use of Common TileMatrixSet2D (Annex D) is even better. The use of WKSS is no longer encouraged by this standard.

C.1      GlobalCRS84Scale (http://www.opengis.net/def/wkss/OGC/1.0/GlobalCRS84Scale)

This WKSS has been defined for global cartographic products. Rounded scales have been chosen for intuitive cartographic representation of vector data. The scale denominator is only accurate near the Equator.

Table C.7: Definition of Well-known scale set GlobalCRS84Scale
CRS Scale Denominator Pixel Size (degrees)

http://www.opengis.net/def/crs/OGC/1.3/CRS84

500 106

1.25764139776733

250 106

0.628820698883665

100 106

0.251528279553466

50 106

0.125764139776733

25 106

6.28820698883665 10-2

10 106

2.51528279553466 10-2

5 106

1.25764139776733 10-2

2.5 106

6.28820698883665 10-3

1 106

2.51528279553466 10-3

500 103

1.25764139776733 10-3

250 103

6.28820698883665 10-4

100 103

2.51528279553466 10-4

50 103

1.25764139776733 10-4

25 103

6.28820698883665 10-5

10 103

2.51528279553466 10-5

5 103

1.25764139776733 10-5

2.5 103

6.28820698883665 10-6

1 103

2.51528279553466 10-6

500

1.25764139776733 10-6

250

6.28820698883665 10-7

100

2.51528279553466 10-7

C.2      GlobalCRS84Pixel (http://www.opengis.net/def/wkss/OGC/1.0/GlobalCRS84Pixel)

This WKSS has been defined for global cartographic products. Rounded pixel sizes have been chosen for intuitive cartographic representation of raster data. Some values have been chosen to coincide with original pixel size of commonly used global products like STRM (1" and 3“), GTOPO (30”) or ETOPO (2’ and 5’). The scale denominator and approximated pixel size in meters are only accurate near the Equator.

Table C.2: Definition of Well-known scale set GlobalCRS84Pixel
CRS

Scale Denominator Pixel Size (degrees) Approx. Pixel Size (m)

http://www.opengis.net/def/crs/OGC/1.3/CRS84

795139219.9519541

2

240000

397569609.9759771

1

120000

198784804.9879885

0.5 (30')

60000

132523203.3253257

0.333333333333333 (20')

40000

66261601.66266284

0.166666666666667 (10')

20000

33130800.83133142

8.333333333333333 10-2 (5')

10000

13252320.33253257

3.333333333333333 10-2 (2')

4000

6626160.166266284

1.666666666666667 10-2 (1')

2000

3313080.083133142

8.333333333333333 10-3 (30")

1000

1656540.041566571

4.166666666666667 10-3 (15")

500

552180.0138555236

1.388888888888889 10-3 (5")

166

331308.0083133142

8.333333333333333 10-4 (3")

100

110436.0027711047

2.777777777777778 10-4 (1")

33

55218.00138555237

1.388888888888889 10-4 (0.5")

16

33130.80083133142

8.333333333333333 10-5 (0.3")

10

11043.60027711047

2.777777777777778 10-5 (0.1")

3

3313.080083133142

8.333333333333333 10-6 (0.03")

1

1104.360027711047

2.777777777777778 10-6 (0.01")

0.33

 

C.3       GoogleCRS84Quad (http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad)

This WKSS has been defined to allow quadtree pyramids in CRS84. The scale denominator is only accurate near the equator.

Table C.3 — Definition of Well-known scale set GoogleCRS84Quad
CRS Scale Denominator Pixel Size (degrees)

http://www.opengis.net/def/crs/OGC/1.3/CRS84

559082264.0287178

1.40625000000000

279541132.0143589

0.703125000000000

139770566.0071794

0.351562500000000

69885283.00358972

0.175781250000000

34942641.50179486

8.78906250000000 10-2

17471320.75089743

4.39453125000000 10-2

8735660.375448715

2.19726562500000 10-2

4367830.187724357

1.09863281250000 10-2

2183915.093862179

5.49316406250000 10-3

1091957.546931089

2.74658203125000 10-3

545978.7734655447

1.37329101562500 10-3

272989.3867327723

6.86645507812500 10-4

136494.6933663862

3.43322753906250 10-4

68247.34668319309

1.71661376953125 10-4

34123.67334159654

8.58306884765625 10-5

17061.83667079827

4.29153442382812 10-5

8530.918335399136

2.14576721191406 10-5

4265.459167699568

1.07288360595703 10-5

2132.729583849784

5.36441802978516 10-6

 

NOTE: The first scale denominator allows representation of the whole world in a single tile of 256x256 pixels, where 128 lines of the tile are left blank. The latter is the reason why in the Annex D.2 "World CRS84 Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldCRS84Quad)" this level is not used. The next level allows representation of the whole world in 2x1 tiles of 256x256 pixels and so on in powers of 2.

NOTE2: Selecting the word “Google” for this WKSS id is maintained for backwards compatibility even if the authors recognize that it was an unfortunate selection and might result confusing since the “Google-like” tiles do not use CRS84.

C.4      GoogleMapsCompatible (http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible)

This well-known scale set has been defined to be compatible with many mass marked implementations such as Google Maps, Microsoft Bing Maps (formerly Microsoft Live Maps) and Open Street Map tiles. The scale denominator and pixel size are only accurate near the equator.

Table C.4 — Definition of Well-known scale set GoogleMapsCompatible
CRS Zoom level name Scale Denominator Pixel Size (m)

http://www.opengis.net/def/crs/EPSG/6.18:3/3857

WGS 84 / Pseudo-Mercator

http://www.epsg-registry.org/export.htm?‌gml= http://www.opengis.net/def/crs/EPSG/0/3857

0

559082264.0287178

156543.0339280410

1

279541132.0143589

78271.51696402048

2

139770566.0071794

39135.75848201023

3

69885283.00358972

19567.87924100512

4

34942641.50179486

9783.939620502561

5

17471320.75089743

4891.969810251280

6

8735660.375448715

2445.984905125640

7

4367830.187724357

1222.992452562820

8

2183915.093862179

611.4962262814100

9

1091957.546931089

305.7481131407048

10

545978.7734655447

152.8740565703525

11

272989.3867327723

76.43702828517624

12

136494.6933663862

38.21851414258813

13

68247.34668319309

19.10925707129406

14

34123.67334159654

9.554628535647032

15

17061.83667079827

4.777314267823516

16

8530.918335399136

2.388657133911758

17

4265.459167699568

1.194328566955879

18

2132.729583849784

0.5971642834779395

19

1066.364791924892

0.2985821417389697

20

533.1823959624460

0.1492910708694849

21

266.5911979812230

0.07464553543474244

22

133.2955989906115

0.03732276771737122

23

66.64779949530575

0.01866138385868561

24

33.32389974765287

0.009330691929342805

 

NOTE: Level 0 allows representing most of the world (limited to latitudes between approximately ±85 degrees) in a single tile of 256x256 pixels (Mercator projection cannot cover the whole world because mathematically the poles are at infinity). The next level represents most of the world in 2x2 tiles of 256x256 pixels and so on in powers of 2.

C.5      WorldMercatorWGS84 (http://www.opengis.net/def/wkss/OGC/1.0/ WorldMercatorWGS84)

This well-known scale set has been defined as similar to Google Maps and Microsoft Bing Maps but using the WGS84 ellipsoid. The scale denominator and pixel size are only accurate near the equator.

Table C.5 — Definition of Well-known scale set WorldMercatorWGS84
CRS Zoom level name Scale Denominator Pixel Size (m)

http://www.opengis.net/def/crs/EPSG/0/3395

WGS 84 / World Mercator

0

559082264.02871774

156543.033928040

1

279541132.01435887

78271.5169640205

2

139770566.00717943

39135.7584820102

3

69885283.003589718

19567.8792410051

4

34942641.501794859

9783.93962050256

5

17471320.750897429

4891.96988102512

6

8735660.3754487147

2445.98490512564

7

4367830.1877243573

1222.99245256282

8

2183915.0938621786

611.496226281410

9

1091957.5469310893

305.748113140705

10

545978.77346554467

152.874056570352

11

272989.38673277233

76.4370282851762

12

136494.69336638616

38.2185141425881

13

68247.346683193084

19.1092570712940

14

34123.673341596542

9.55462853564703

15

17061.836670798271

4.77731426782351

16

8530.9183353991355

2.38865713391175

17

4265.4591676995677

1.19432856695587

18

2132.7295838497838

0.59716428347793

19

1066.3647919248919

0.29858214173896

20

533.18239596244597

0.14929107086948

21

266.59119798122298

0.07464553543474

22

133.29559899061149

0.03732276771737

23

66.647799495305746

0.01866138385868

24

33.323899747652873

0.00933069192934

 

NOTE: Level 0 allows representing most of the world (limited to latitudes between approximately ±85 degrees) in a single tile of 256x256 pixels (Mercator projection cannot cover the whole world because mathematically the poles are at infinity). The next level represents most of the world in 2x2 tiles of 256x256 pixels and so on in powers of 2.

NOTE2: Mercator projection distorts the pixel size closer to the poles. The pixel sizes provided here are only valid next to the equator.


 

Annex D: Common TileMatrixSet definitions (Informative)

This Annex includes some definitions for TileMatrixSets that are commonly used.

D.1      Web Mercator Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/WebMercatorQuad).

Table D.1 — Definition of the WebMercatorQuad TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/3857, WGS 84 / Pseudo-Mercator

BBOX LowerCorner: -20037508.3427892 -20037508.3427892 (lat/long: -85.0511287798,-180)

BBOX UpperCorner: 20037508.3427892 20037508.3427892 (lat/long: 85.0511287798,180)

WellKnownScaleSet: http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible

TopLeftCorner: -20037508.3427892 20037508.3427892

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Pixel Size (m)

Matrix Width

Matrix Height

0

559082264.0287178

156543.0339280410

1

1

1

279541132.0143589

78271.51696402048

2

2

2

139770566.0071794

39135.75848201023

4

4

3

69885283.00358972

19567.87924100512

8

8

4

34942641.50179486

9783.939620502561

16

16

5

17471320.75089743

4891.969810251280

32

32

6

8735660.375448715

2445.984905125640

64

64

7

4367830.187724357

1222.992452562820

128

128

8

2183915.093862179

611.4962262814100

256

256

9

1091957.546931089

305.7481131407048

512

512

10

545978.7734655447

152.8740565703525

1024

1024

11

272989.3867327723

76.43702828517624

2048

2048

12

136494.6933663862

38.21851414258813

4096

4096

13

68247.34668319309

19.10925707129406

8192

8192

14

34123.67334159654

9.554628535647032

16384

16384

15

17061.83667079827

4.777314267823516

32768

32768

16

8530.918335399136

2.388657133911758

65536

65536

17

4265.459167699568

1.194328566955879

131072

131072

18

2132.729583849784

0.5971642834779395

262144

262144

19

1066.36479192489

0.2985821417389700

524288

524288

20

533.182395962445

0.1492910708694850

1048576

1048576

21

266.591197981222

0.0746455354347424

2097152

2097152

22

133.295598990611

0.0373227677173712

4194304

4194304

23

66.6477994953056

0.0186613838586856

8388608

8388608

24

33.3238997476528

0.0093306919293428

16777216

16777216

 

One can define an arbitrary number of zoom levels and do not need to include all the zoom levels defined here. Here, 25 zoom levels are illustrated.

NOTE: Mercator projection distorts the pixel size the closer to the poles. The pixel sizes provided here are only valid next to the equator in the direction E-W.

NOTE 2: The CRS code 3857 is the official code for Web Mercator. An unofficial code “900913” (GOOGLE spelled with numbers) was initially assigned and is sometimes still used.

The 3 first Tile Matrix of the WebMercatorQuad TileMatrixSet (Source CCA)
Figure : The 3 first Tile Matrix of the WebMercatorQuad TileMatrixSet (Source CCA)

This tile matrix set is the most used tile matrix set in the mass market: for example, by Google Maps, Microsoft Bing Maps and Open Street Map tiles. Nevertheless, it has been long criticized because it is a based on a spherical Mercator instead of an ellipsoid. The use of WebMercatorQuad should be limited to visualization. Any additional use (including distance measurements, routing etc.) needs to use the Mercator spherical expressions to transform the coordinate to an appropriate CRS first.

NOTE3: For example, the EPSG database version 8.9 says about the 3857: “Uses spherical development of ellipsoidal coordinates. Relative to WGS 84 / World Mercator (CRS code 3395) errors of 0.7 percent in scale and differences in northing of up to 43km in the map (equivalent to 21km on the ground) may arise.”

NOTE4: The risks caused by imprecision in the use of Web Mercator is also emphasized by the US National Geospatial Agency (NGA). NGA has issued an Advisory Notice on web Mercator (http://earth-info.nga.mil/GandG/wgs84/web_mercator/index.html) that says that “it may cause geo-location / geo-coordinate errors up to 40,000 meters. This erroneous geospatial positioning information poses an unacceptable risk to global safety of navigation activities, and department of defense, intelligence community, and allied partner systems, missions, and operations that require accurate and precise positioning and navigation information.” The use of WorldMercatorWGS84Quad is recommended.

D.2      World CRS84 Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldCRS84Quad)

This Tile Matrix Set defines tiles in the Equirectangular Plate Carrée projection in the CRS84 CRS for the whole world.

Table D.3 — Definition of the WorldCRS84Quad TileMatrixSet

CRS: http://www.opengis.net/def/crs/OGC/1.3/CRS84, CRS84

BBOX LowerCorner: -180 -90

BBOX UpperCorner: 180 90

WellKnownScaleSet: http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad

TopLeftCorner: -180 90

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Pixel Size (degrees) (true at the equator)

Matrix Width

Matrix Height

0

279541132.0143589

0.703125000000000

2

1

1

139770566.0071794

0.351562500000000

4

2

2

69885283.00358972

0.175781250000000

8

4

3

34942641.50179486

8.78906250000000 10-2

16

8

4

17471320.75089743

4.39453125000000 10-2

32

16

5

8735660.375448715

2.19726562500000 10-2

64

32

6

4367830.187724357

1.09863281250000 10-2

128

64

7

2183915.093862179

5.49316406250000 10-3

256

128

8

1091957.546931089

2.74658203125000 10-3

512

256

9

545978.7734655447

1.37329101562500 10-3

1024

512

10

272989.3867327723

6.86645507812500 10-4

2048

1024

11

136494.6933663862

3.43322753906250 10-4

4096

2048

12

68247.34668319309

1.71661376953125 10-4

8192

4096

13

34123.67334159654

8.58306884765625 10-5

16384

8192

14

17061.83667079827

4.29153442382812 10-5

32768

16384

15

8530.918335399136

2.14576721191406 10-5

65536

32768

16

4265.459167699568

1.07288360595703 10-5

131072

65536

17

2132.729583849784

5.36441802978516 10-6

262144

131072

 

One can define an arbitrary number of zoom levels and do not need to include all the ones defined here. Here, 18 zoom levels are illustrated.

Tile Matrix Id 1 (2x1 tiles) of the WorldCRS84Quad TileMatrixSet <br /> (Source INSPIRE technical guidance)
Figure : Tile Matrix Id 1 (2x1 tiles) of the WorldCRS84Quad TileMatrixSet
(Source INSPIRE technical guidance)

NOTE: The zoom level identifiers in this TileMatrixSet do not correspond to the same scale values in Annex E.3 of WMTS 1.0. In this TileMatrixSet, the TileMatrix with identifier “-1” has only one tile with 128 lines left blank. For that reason, many implementers do not want to offer this level (including the INSPIRE technical guidance) and prefer to start with a TileMatrix that represents the world with just 2 tiles (one for the negative longitudes and one for the positive longitudes).

NOTE2: The scale denominators for this TileMatrixSet and WorldMercatorWGS84Quad and WebMercatorQuad are the same but the identifiers are displaced by one. This might generate confusion.

NOTE3: for INSPIRE: The Technical Guidance for the implementation of INSPIRE View Services defines a TileMatrixSet called InspireCRS84Quad that is identical to this one. Note that the current version of the INSPIRE Technical Guidance cited in the Bibliography Annex could accidentally generate confusion because it is comparing a GoogleCRS84Quad (that is a well-known scale set name) with the InspireCRS84Quad (that is a TileMatrixSet definition that does not link to any WKSS).

NOTE4: Some implementers prefer to define this TileMatrixSet using the CRS http://www.opengis.net/def/crs/EPSG/0/4326. The definition is the same except that CRS coordinates are expressed in latitude, longitude order, affecting the TopLeftCorner and the BBox encoding only.

D.3      World Mercator WGS84 Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldMercatorWGS84Quad).

Table D.2 — Definition of the WorldMercatorWGS84Quad TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/3395, WGS 84 / World-Mercator

BBOX LowerCorner: -20037508.3427892  -20037508.3427892  (lat, long: -85.08405903,-180)

BBOX UpperCorner: 20037508.3427892 20037508.3427892 (lat, long: 85.08405903,180)

WellKnownScaleSet: http://www.opengis.net/def/wkss/OGC/1.0/WorldMercatorWGS84

TopLeftCorner: -20037508.3427892 20037508.3427892

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Pixel Size (m) (true at the equator)

Pixel Size (m) at latitude ±31.0606963703645 (informative)

Matrix Width

Matrix Height

0

559082264.02871774

156543.033928040

134217.728

1

1

1

279541132.01435887

78271.5169640205

67108.864

2

2

2

139770566.00717943

39135.7584820102

33554.432

4

4

3

69885283.003589718

19567.8792410051

16777.216

8

8

4

34942641.501794859

9783.93962050256

8388.608

16

16

5

17471320.750897429

4891.96988102512

4194.304

32

32

6

8735660.3754487147

2445.98490512564

2097.152

64

64

7

4367830.1877243573

1222.99245256282

1048.576

128

128

8

2183915.0938621786

611.496226281410

524.288

256

256

9

1091957.5469310893

305.748113140705

262.144

512

512

10

545978.77346554467

152.874056570352

131.072

1024

1024

11

272989.38673277233

76.4370282851762

65.536

2048

2048

12

136494.69336638616

38.2185141425881

32.768

4096

4096

13

68247.346683193084

19.1092570712940

16.384

8192

8192

14

34123.673341596542

9.55462853564703

8.192

16384

16384

15

17061.836670798271

4.77731426782351

4.096

32768

32768

16

8530.9183353991355

2.38865713391175

2.048

65536

65536

17

4265.4591676995677

1.19432856695587

1.024

131072

131072

18

2132.7295838497838

0.59716428347793

0.512

262144

262144

19

1066.3647919248919

0.29858214173896

0.256

524288

524288

20

533.18239596244597

0.14929107086948

0.128

1048576

1048576

21

266.59119798122298

0.07464553543474

0.064

2097152

2097152

22

133.29559899061149

0.03732276771737

0.032

4194304

4194304

23

66.647799495305746

0.01866138385868

0.016

8388608

8388608

24

33.323899747652873

0.00933069192934

0.008

16777216

16777216

 

One can define an arbitrary number of zoom levels and do not need to include all the zoom levels defined here. Here, 25 zoom levels are illustrated.

This Tile Matrix Set looks similar to the previous one (Web Mercator Quad) but this one is based on an ellipsoidal Mercator. Please note that the most northern latitude cover by this one is 85.08405903 (different from Web Mercator).

Tile Matrix Id 1 (red lines; 2x2 tiles) and 3 (blue lines; 8x8 tiles) of the WorldMercatorWGS84Quad TileMatrixSet (Source NGA)
Figure : Tile Matrix Id 1 (red lines; 2x2 tiles) and 3 (blue lines; 8x8 tiles) of the WorldMercatorWGS84Quad TileMatrixSet (Source NGA)

NOTE 2: The NGA Geomatics Office reminds the community to use DoD approved World Geodetic System 1984 (WGS 84) applications for all mission critical activities and encourages the use of WGS84 based tile matrix sets like this one and discourages the use of Web Mercator tiles based on Web Mercator such as WebMercatorQuad.

NOTE 3: The NGA Geomatics Office recommends the use of Universal zoom-levels scale set that are defined as true pixel size at ±31.0606963703645 degrees of latitude that implies a scale reduction at the equator of 0.857385503731176. This standard recommends the use of scale denominators at the equator for convenience.

D.4      Universal Transverse Mercator WGS84 Quad family TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/UTM##WGS84Quad)

The Universal Transversal Mercator (a special case of transverse Mercator), divides the world into 60 zones by longitude. No single zone would make a global or near-global map. Therefore, this definition is a family of 60 TileMatrixSets in a single table.

Table D.4 — Definition of the UTM##WGS84Quad TileMatrixSets

##: it is a number that goes from 01 to 60

CRSs: [http://www.opengis.net/def/crs/EPSG/0/32601, http://www.opengis.net/def/crs/EPSG/0/32660] WGS 84 / UTM

BBOX LowerCorner: -9501965.72931276 -20003931.4586255; lat, long: -180 -62+(##-31)*6

BBOX UpperCorner: 10501965.7293128 20003931.4586255 (lat, long: 180, 68+(##-31)*6)

WellKnownScaleSet: N/A

TopLeftCorner: -9501965.72931276 20003931.4586255

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Pixel Size (m) along the central meridian

Pixel Size (m) at a point in the Equator and at a longitude ±30.700524332812+3+(##-31)*6

Matrix Width

Matrix Height

1

279072704.500914

78140.3572602559

67108.864

1

2

2

139536352.250457

39070.178630128

33554.432

2

4

3

69768176.1252285

19535.089315064

16777.216

4

8

4

34884088.0626143

9767.5446575319

8388.608

8

16

5

17442044.0313071

4883.772328766

4194.304

16

32

6

8721022.01565356

2441.886164383

2097.152

32

64

7

4360511.00782678

1220.9430821915

1048.576

64

128

8

2180255.50391339

610.471541095749

524.288

128

256

9

1090127.75195670

305.235770547875

262.144

256

512

10

545063.875978348

152.617885273937

131.072

512

1024

11

272531.937989174

76.3089426369687

65.536

1024

2048

12

136265.968994587

38.1544713184843

32.768

2048

4096

13

68132.9844972935

19.0772356592422

16.384

4096

8192

14

34066.4922486467

9.53861782962109

8.192

8192

16384

15

17033.2461243234

4.76930891481054

4.096

16384

32768

16

8516.62306216168

2.38465445740527

2.048

32768

65536

17

4258.31153108084

1.19232722870264

1.024

65536

131072

18

2129.15576554042

0.596163614351318

0.512

131072

262144

19

1064.57788277021

0.298081807175659

0.256

262144

524288

20

532.288941385105

0.149040903587829

0.128

524288

1048576

21

266.144470692553

0.0745204517939147

0.064

1048576

2097152

22

133.072235346276

0.0372602258969574

0.032

2097152

4194304

23

66.5361176731382

0.0186301129484787

0.016

4194304

8388608

24

33.2680588365691

0.00931505647423934

0.008

8388608

16777216

 

One can define an arbitrary number of zoom levels and do not need to include all the zoom levels defined here. Here, 24 zoom levels are illustrated.

NOTE: The southern hemisphere ([http://www.opengis.net/def/crs/EPSG/0/32701, http://www.opengis.net/def/crs/EPSG/0/32760]) is covered by extending the UTM northern CRSs to the south in a way that the southern hemisphere CRSs are neither used nor needed.

NOTE2: The UTM projection is supposed to be used in zones that are only 3 degrees apart from the central meridian forming 6-degree wide zones. In some parts of the world, it is useful to relax this limitation to cover a wider object (for example, Spain can be fully represented in UTM30 zone if the 3-degree limit is relaxed). The farther one goes from the central meridian, the more deformations is experienced in the projection. The top left corner of this tile matrix set has been defined 65 degrees apart of the central meridian to allow much more extreme cases, but it is highly recommended that applications limit themselves to the 6-degree wide central area and use TileMatrixSetLimits to define actual boundaries of the tile indices used in this area.

Tile Matrix Id 1 (dashed blue lines; 1x2 tiles) and 2 (red lines; 2x4 tiles) of the UTM18WGS84Quad TileMatrixSet (Source NGA)
Figure : Tile Matrix Id 1 (dashed blue lines; 1x2 tiles) and 2 (red lines; 2x4 tiles) of the UTM18WGS84Quad TileMatrixSet (Source NGA)

NOTE 3: The NGA Geomatics Office recommends the use of Universal zoom-levels scale set that are defined as true pixel size at ±30.700524332812 degrees of longitude at both sides of the central meridian that implies a scale reduction at the central meridian of 0.85882463752355. The tiles considering this scale are exactly the same than considering true pixel size at the equation and no scale reduction. This standard recommends the use of scale denominators at the equator for convenience.

D.5      Arctic Universal Polar Stereographic WGS 84 Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/UPSArcticWGS84Quad)

It is difficult to find consensus in the geospatial community for what constitutes the “best” tile matrix set for the polar areas. Even if everyone agrees on using a polar stereographic, the election of the TopLeftCorner and scale denominators is almost arbitrary. This document presents the NGA recommendation for polar stereographic that allows for the representation of more than one hemisphere to 15 degrees into the opposite hemisphere and shares a common set of pixel sizes with the WorldMercatorWGS84Quad and the UTM##WGS84Quad. The selection of a CRS for a polar stereographic is difficult and this document follows several criteria (see NOTE 2). In the end, the UPS North that is commonly used in conjunction with UTM was selected.

NOTE: In Mercator or Transversal Mercator projections the first scale denominator and top left corner are selected in a way that a single tile can cover all ranges of longitudes or latitudes respectively. Due to the nature of this projection, these criteria cannot be applied. The top left corner selection deeply depends on the application. The very distant top left corner was selected here to include as many applications as possible.

Table D.5 — Definition of the UPSArcticWGS84Quad TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/5041, WGS 84 Universal Polar Stereographic North

BBOX LowerCorner: -14440759.350252, -14440759.350252

BBOX UpperCorner: 18440759.350252, 18440759.350252

WellKnownScaleSet: N/A

TopLeftCorner: -14440759.350252,18440759.350252

TileWidth: 256

TileHeight: 256

Tile

Matrix id

Scale Denominator

Pixel Size (m) (true at latitude  ~81)

True Pixel Size (m) at the pole (informative)

Matrix Width

Matrix Height

0

458726544.4

128443.4324

129218.7449

1

1

1

229363272.2

64221.71621

64609.37245

2

2

2

114681636.1

32110.85811

32304.68622

4

4

3

57340818.05

16055.42905

16152.34311

8

8

4

28670409.02

8027.714526

8076.171556

16

16

5

14335204.51

4013.857263

4038.085778

32

32

6

7167602.256

2006.928632

2019.042889

64

64

7

3583801.128

1003.464316

1009.521444

128

128

8

1791900.564

501.7321579

504.7607222

256

256

9

895950.282

250.866079

252.3803611

512

512

10

447975.141

125.4330395

126.1901806

1024

1024

11

223987.5705

62.71651974

63.09509028

2048

2048

12

111993.7852

31.35825987

31.54754514

4096

4096

13

55996.89262

15.67912993

15.77377257

8192

8192

14

27998.44631

7.839564967

7.886886285

16384

16384

15

13999.22316

3.919782484

3.943443142

32768

32768

16

6999.611578

1.959891242

1.971721571

65536

65536

17

3499.805789

0.979945621

0.985860786

131072

131072

18

1749.902894

0.48997281

0.492930393

262144

262144

19

874.9514472

0.244986405

0.246465196

524288

524288

20

437.4757236

0.122493203

0.123232598

1048576

1048576

21

218.7378618

0.061246601

0.061616299

2097152

2097152

22

109.3689309

0.030623301

0.03080815

4194304

4194304

23

54.68446545

0.01531165

0.015404075

8388608

8388608

24

27.34223273

0.007655825

0.007702037

16777216

16777216

 

One can define an arbitrary number of zoom levels and does not need to include all the zoom levels defined here. Here, 25 zoom levels are illustrated.

 

Tile Matrix Id 0 (exterior line; 1x1 tile) and 1 (blank lines; 2x2 tiles) of the UPSArcticWGS84Quad TileMatrixSet (Source NGA)
Figure : Tile Matrix Id 0 (exterior line; 1x1 tile) and 1 (blank lines; 2x2 tiles) of the UPSArcticWGS84Quad TileMatrixSet (Source NGA)

NOTE2: In practice, there are many polar stereographic CRS and it is difficult to prioritize one. In many occasions, the meridian of origin is selected in order to rotate the projection and allow a region to become more prominent. Examples are rotations emphasizing Greenland or Alaska. To be general, the 0 meridian of origin was selected. In addition, polar projections have a variety of standard parallels and here is selected 90N. In the UPS system, the North Pole is assigned the coordinates x=2000000, y=2000000.

NOTE3: NGA has suggested also another TileMatrixSet called sixteenth tile that covers less area by having the TopLeftCorner: at ‑2 110 189.837563, 6 110 189.837563,   BBOX LowerCorner: ‑2110189.837562966 -2110189.837562966 and BBOX UpperCorner: 6110189.837562966 6110189.837562966, The same result can be achieved by using the TileMatrixSetLimits mechanism without having to define an entirely new TileMatrixSet.

 

Rotation of the meridian of origin to allow a region to become more prominent (a. EPSG:3995, Arctic WGS 84 Polar Stereographic, b. EPSG:3413 WGS 84 / NSIDC Polar Stereographic North, c. EPSG:5936 / Alaska Polar Stereographic). This TileMatrixSet has 0 rotation angle for the meridian of origin.
Figure : Rotation of the meridian of origin to allow a region to become more prominent (a. EPSG:3995, Arctic WGS 84 Polar Stereographic, b. EPSG:3413 WGS 84 / NSIDC Polar Stereographic North, c. EPSG:5936 / Alaska Polar Stereographic). This TileMatrixSet has 0 rotation angle for the meridian of origin.

D.6      Antarctic Universal Polar Stereographic WGS84 Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/UPSAntarcticWGS84Quad)

There is no consensus in the geospatial community for what constitutes the “best” tile matrix set for the polar stereographic projection. One reason for this is that the election of the TopLeftCorner and scale denominators is almost completely arbitrary. In this document, a TileMatrixSet identical to the Arctic one but with and Antarctic CRS was selected.

Table D.6 — Definition of the UPSAntarcticWGS84Quad TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/5042, WGS 84 Universal Polar Stereographic South

BBOX LowerCorner: -14440759.350252, -14440759.350252

BBOX UpperCorner: 18440759.350252, 18440759.350252

WellKnownScaleSet: N/A

TopLeftCorner: -14440759.350252,18440759.350252

TileWidth: 256

TileHeight: 256

Tile

Matrix id

Scale Denominator

Pixel Size (m) (true at latitude  ~-81)

True Pixel Size (m) at the pole (informative)

Matrix Width

Matrix Height

0

458726544.4

128443.4324

129218.7449

1

1

1

229363272.2

64221.71621

64609.37245

2

2

2

114681636.1

32110.85811

32304.68622

4

4

3

57340818.05

16055.42905

16152.34311

8

8

4

28670409.02

8027.714526

8076.171556

16

16

5

14335204.51

4013.857263

4038.085778

32

32

6

7167602.256

2006.928632

2019.042889

64

64

7

3583801.128

1003.464316

1009.521444

128

128

8

1791900.564

501.7321579

504.7607222

256

256

9

895950.282

250.866079

252.3803611

512

512

10

447975.141

125.4330395

126.1901806

1024

1024

11

223987.5705

62.71651974

63.09509028

2048

2048

12

111993.7852

31.35825987

31.54754514

4096

4096

13

55996.89262

15.67912993

15.77377257

8192

8192

14

27998.44631

7.839564967

7.886886285

16384

16384

15

13999.22316

3.919782484

3.943443142

32768

32768

16

6999.611578

1.959891242

1.971721571

65536

65536

17

3499.805789

0.979945621

0.985860786

131072

131072

18

1749.902894

0.48997281

0.492930393

262144

262144

19

874.9514472

0.244986405

0.246465196

524288

524288

20

437.4757236

0.122493203

0.123232598

1048576

1048576

21

218.7378618

0.061246601

0.061616299

2097152

2097152

22

109.3689309

0.030623301

0.03080815

4194304

4194304

23

54.68446545

0.01531165

0.015404075

8388608

8388608

24

27.34223273

0.007655825

0.007702037

16777216

16777216

 

One can define an arbitrary number of zoom levels and does not need to include all the zoom levels defined here. Here, 25 zoom levels are illustrated.

Tile Matrix Id 0 (exterior line; 1x1 tile) and 1 (black lines; 2x2 tiles) of the UPSAntarcticWGS84Quad TileMatrixSet (Source NGA)
Figure : Tile Matrix Id 0 (exterior line; 1x1 tile) and 1 (black lines; 2x2 tiles) of the UPSAntarcticWGS84Quad TileMatrixSet (Source NGA)

 

D.7      European ETRS89 LAEA Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/EuropeanETRS89_LAEAQuad)

Table D.5 — Definition of the EuropeanETRS89_LAEAQuad TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/3035, ETRS89

BBOX LowerCorner: 2000000.0 1000000.0

BBOX UpperCorner: 6500000 5500000.0

WellKnownScaleSet: N/A

TopLeftCorner: 2000000.0 5500000.0

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Pixel Size (m)

Matrix Width

Matrix Height

0

62779017.857142866

17578.1250000000

1

1

1

31389508.928571433

8789.0625000000

2

2

2

15694754.464285716

4394.5312500000

4

4

3

7847377.232142858

2197.2656250000

8

8

4

3923688.616071429

1098.6328125000

16

16

5

1961844.3080357146

549.3164062500

32

32

6

980922.1540178573

274.6582031250

64

64

7

490461.07700892864

137.3291015625

128

128

8

245230.53850446432

68.6645507812

256

256

9

122615.26925223216

34.3322753906

512

512

10

61307.63462611608

17.1661376953

1024

1024

11

30653.81731305804

8.5830688477

2048

2048

12

15326.90865652902

4.2915344238

4096

4096

13

7663.45432826451

2.1457672119

8192

8192

14

3831.727164132255

1.0728836060

16384

16384

15

1915.8635820661275

0.5364418030

32768

32768

 

One can define an arbitrary number of zoom levels and does not need to include all the zoom levels defined here. Here, 16 zoom levels are illustrated.

D.8      Canadian NAD83 LCC TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/CanadianNAD83_LCC)

Table D.5 — Definition of the CanadianNAD83_LCC TileMatrixSet

CRS: http://www.opengis.net/def/crs/EPSG/0/3978, NAD83

BBOX LowerCorner: -7786476.885838887, -5153821.09213678

BBOX UpperCorner: 7148753.233541353, 7928343.534071138

WellKnownScaleSet: N/A

TopLeftCorner: -34655800, 39310000

TileWidth: 256

TileHeight: 256

TileMatrix id

Scale Denominator

Scale Denominator at latitudes 37.897505 and 83.3032475 (informative)

Cartographic product (informative)

Pixel Size (m) (true at the equator)

Matrix Width

Matrix Height

0

137016643.1

145000000

World

38364.66006

5

5

1

80320101.12

85000000

World

22489.62831

8

8

2

47247118.3

50000000

Atlas SM

13229.19313

13

14

3

28348270.98

30000000

Atlas SM

7937.515875

21

22

4

16536491.41

17500000

Atlas SM

4630.217594

36

38

5

9449423.661

10000000

Atlas MID

2645.838625

62

66

6

5669654.196

6000000

Atlas MID

1587.503175

103

110

7

3307298.281

3500000

Atlas MID

926.0435188

177

188

8

1889884.732

2000000

Atlas LG

529.167725

309

329

9

1133930.839

1200000

Atlas LG

317.500635

515

548

10

661459.6563

700000

Atlas LG

185.2087038

882

938

11

396875.7938

420000

NTDB 250K

111.1252223

1470

1563

12

236235.5915

250000

NTDB 250K

66.14596563

2469

2626

13

137016.6431

145000

NTDB 250K

38.36466006

4257

4528

14

80320.10112

85000

NTDB 50K

22.48962831

7262

7723

15

47247.1183

50000

NTDB 50K

13.22919313

12344

13130

16

28348.27098

30000

NTDB 50K

7.937515875

20574

21882

17

16536.49141

17500

Geobase

4.630217594

35269

37512

18

9449.423661

10000

Geobase

2.645838625

61720

65646

19

5669.654196

6000

Geobase

1.587503175

102866

109409

20

3307.298281

3500

Geobase

0.926043519

176341

187558

21

1889.884732

2000

Geobase

0.529167725

308596

328227

22

1133.930839

1200

Geobase

0.317500635

514327

547044

23

661.4596563

700

 

0.185208704

881703

937790

24

396.8757938

420

 

0.111125222

1469505

1562983

25

236.2355915

250

 

0.066145966

2468768

2625811

 

One can define an arbitrary number of zoom levels and does not need to include all the zoom levels defined here. Here, 26 zoom levels are illustrated.


 

 

 

Annex E:  Example Encodings for Common TileMatrixSet2D (Informative)

This Annex provides examples of XML and JSON encodings than can be used to define tile matrix sets.

E.1      Web Mercator Quad TileMatrixSet definition.

E.1.1      Web Mercator Quad TileMatrixSet definition. XML example.

This is the XML definition of the WebMercatorQuad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


   <TileMatrixSet xml:id=“WebMercatorQuad”>
      <ows:Title>Google Maps Compatible for the World</ows:Title>
      <ows:Identifier>WebMercatorQuad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/3857”>
         <ows:LowerCorner>
            -20037508.3427892 -20037508.3427892
         </ows:LowerCorner>
         <ows:UpperCorner>
             20037508.3427892 20037508.3427892
         </ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
          http://www.opengis.net/def/crs/EPSG/0/3857
      </ows:SupportedCRS>
      <WellKnownScaleSet>
          http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible
      </WellKnownScaleSet>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>559082264.028717</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>1</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>279541132.014358</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>139770566.007179</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>69885283.0035897</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>34942641.5017948</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>17471320.7508974</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>8735660.37544871</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>4367830.18772435</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>2183915.09386217</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>1091957.54693108</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>545978.773465544</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>272989.386732772</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>136494.693366386</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>68247.346683193</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>34123.6733415964</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>17061.8366707982</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>8530.91833539913</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>65536</MatrixWidth>
        <MatrixHeight>65536</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>4265.45916769956</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>131072</MatrixWidth>
        <MatrixHeight>131072</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>2132.72958384978</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>262144</MatrixWidth>
        <MatrixHeight>262144</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>1066.36479192489</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>524288</MatrixWidth>
        <MatrixHeight>524288</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>533.182395962445</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1048576</MatrixWidth>
        <MatrixHeight>1048576</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>266.591197981222</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2097152</MatrixWidth>
        <MatrixHeight>2097152</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>133.295598990611</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4194304</MatrixWidth>
        <MatrixHeight>4194304</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>66.6477994953056</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8388608</MatrixWidth>
        <MatrixHeight>8388608</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>33.3238997476528</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16777216</MatrixWidth>
        <MatrixHeight>16777216</MatrixHeight>
      </TileMatrix>
   </TileMatrixSet>


 

One can define an arbitrary number of zoom levels. Here, 25 zoom levels are illustrated.

E.1.2      Web Mercator Quad TileMatrixSet definition. JSON Encoding

This is the JSON definition of the WebMercatorQuad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “Google Maps Compatible for the World”,
   “identifier”: “WebMercatorQuad”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/EPSG/0/3857”,
      “lowerCorner”: [-20037508.3427892, -20037508.3427892],
      “upperCorner”: [20037508.3427892, 20037508.3427892]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/EPSG/0/3857”,
   “wellKnownScaleSet”: “http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible”,
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 559082264.028717,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 279541132.014358,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 139770566.007179,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 69885283.0035897,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 34942641.5017948,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 17471320.7508974,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 8735660.37544871,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 4367830.18772435,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 2183915.09386217,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 1091957.54693108,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 545978.773465544,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 272989.386732772,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 136494.693366386,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 68247.346683193,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 34123.6733415964,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 17061.8366707982,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 8530.91833539913,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 4265.45916769956,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 131072
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “18”,
         “scaleDenominator”: 2132.72958384978,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 262144
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “19”,
         “scaleDenominator”: 1066.36479192489,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 524288,
         “matrixHeight”: 524288
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “20”,
         “scaleDenominator”: 533.182395962445,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1048576,
         “matrixHeight”: 1048576
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “21”,
         “scaleDenominator”: 266.591197981222,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2097152,
         “matrixHeight”: 2097152
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “22”,
         “scaleDenominator”: 133.295598990611,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4194304,
         “matrixHeight”: 4194304
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “23”,
         “scaleDenominator”: 66.6477994953056,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8388608,
         “matrixHeight”: 8388608
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “24”,
         “scaleDenominator”: 33.3238997476528,
         “topLeftCorner”: [-20037508.3427892, 20037508.3427892],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16777216,
         “matrixHeight”: 16777216
      }
   ]
}


One can define an arbitrary number of zoom levels. Here, 25 zoom levels are illustrated.

E.2      World CRS84 Quad TileMatrixSet definition.

E.2.1      World CRS84 Quad TileMatrixSet definition. XML encoding

This is the XML definition of the WorldCRS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


      <TileMatrixSet xml:id=“WorldCRS84Quad”>
         <ows:Title>CRS84 for the World</ows:Title>
         <ows:Identifier>WorldCRS84Quad</ows:Identifier>
         <ows:BoundingBox crs=“http://www.opengis.net/def/crs/OGC/1.3/CRS84”>
            <ows:LowerCorner>-180 -90</ows:LowerCorner>
            <ows:UpperCorner>180 90</ows:UpperCorner>
         </ows:BoundingBox>
         <ows:SupportedCRS>
            http://www.opengis.net/def/crs/OGC/1.3/CRS84
         </ows:SupportedCRS>
         <WellKnownScaleSet>
            http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad
         </WellKnownScaleSet>
         <TileMatrix>
            <ows:Identifier>1</ows:Identifier>
            <ScaleDenominator>279541132.0143589</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>2</MatrixWidth>
            <MatrixHeight>1</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>2</ows:Identifier>
            <ScaleDenominator>139770566.0071794</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>4</MatrixWidth>
            <MatrixHeight>2</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>3</ows:Identifier>
            <ScaleDenominator>69885283.00358972</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>8</MatrixWidth>
            <MatrixHeight>4</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>4</ows:Identifier>
            <ScaleDenominator>34942641.50179486</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>16</MatrixWidth>
            <MatrixHeight>8</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>5</ows:Identifier>
            <ScaleDenominator>17471320.75089743</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>32</MatrixWidth>
            <MatrixHeight>16</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>6</ows:Identifier>
            <ScaleDenominator>8735660.375448715</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>64</MatrixWidth>
            <MatrixHeight>32</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>7</ows:Identifier>
            <ScaleDenominator>4367830.187724357</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>128</MatrixWidth>
            <MatrixHeight>64</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>8</ows:Identifier>
            <ScaleDenominator>2183915.093862179</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>256</MatrixWidth>
            <MatrixHeight>128</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>9</ows:Identifier>
            <ScaleDenominator>1091957.546931089</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>512</MatrixWidth>
            <MatrixHeight>256</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>10</ows:Identifier>
            <ScaleDenominator>545978.7734655447</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>1024</MatrixWidth>
            <MatrixHeight>512</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>11</ows:Identifier>
            <ScaleDenominator>272989.3867327723</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>2048</MatrixWidth>
            <MatrixHeight>1024</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>12</ows:Identifier>
            <ScaleDenominator>136494.6933663862</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>4096</MatrixWidth>
            <MatrixHeight>2048</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>13</ows:Identifier>
            <ScaleDenominator>68247.34668319309</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>8192</MatrixWidth>
            <MatrixHeight>4096</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>14</ows:Identifier>
            <ScaleDenominator>34123.67334159654</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>16384</MatrixWidth>
            <MatrixHeight>8192</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>15</ows:Identifier>
            <ScaleDenominator>17061.83667079827</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>32768</MatrixWidth>
            <MatrixHeight>16384</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>16</ows:Identifier>
            <ScaleDenominator>8530.918335399136</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>65536</MatrixWidth>
            <MatrixHeight>32768</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>17</ows:Identifier>
            <ScaleDenominator>4265.459167699568</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>131072</MatrixWidth>
            <MatrixHeight>65536</MatrixHeight>
         </TileMatrix>
         <TileMatrix>
            <ows:Identifier>18</ows:Identifier>
            <ScaleDenominator>2132.729583849784</ScaleDenominator>
            <TopLeftCorner>-180 90</TopLeftCorner>
            <TileWidth>256</TileWidth>
            <TileHeight>256</TileHeight>
            <MatrixWidth>262144</MatrixWidth>
            <MatrixHeight>131072</MatrixHeight>
         </TileMatrix>
      </TileMatrixSet>


 

E.2.2      World CRS84 Quad TileMatrixSet definition. JSON Encoding

This is the JSON definition of the WorldCRS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “CRS84 for the World”,
   “identifier”: “WorldCRS84Quad”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
      “lowerCorner”: [-180, -90],
      “upperCorner”: [180, 90]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
   “wellKnownScaleSet”: “http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad”,
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 279541132.014358,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 139770566.007179,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 69885283.0035897,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 34942641.5017948,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 17471320.7508974,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 8735660.37544871,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 4367830.18772435,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 2183915.09386217,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 1091957.54693108,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 545978.773465544,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 272989.386732772,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 136494.693366386,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 68247.346683193,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 34123.6733415964,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 17061.8366707982,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 8530.91833539913,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 4265.45916769956,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 2132.72958384978,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 131072
      }
   ] 
}


E.3      World Mercator WGS84 Quad TileMatrixSet definition.

E.3.1      World Mercator WGS84 Quad TileMatrixSet definition. XML encoding

This is the XML definition of the WorldMercatorWGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


   <TileMatrixSet xml:id=“WorldMercatorWGS84Quad”>
      <ows:Title>World Mercator WGS84 (ellipsoid)</ows:Title>
      <ows:Identifier>WorldMercatorWGS84Quad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/3395”>
         <ows:LowerCorner>
            -20037508.3427892 -20037508.3427892
         </ows:LowerCorner>
         <ows:UpperCorner>
             20037508.3427892 20037508.3427892
         </ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
          http://www.opengis.net/def/crs/EPSG/0/3395
      </ows:SupportedCRS>
      <WellKnownScaleSet>
          http://www.opengis.net/def/wkss/OGC/1.0/WorldMercatorWGS84
      </WellKnownScaleSet>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>559082264.028717</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>1</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>279541132.014358</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>139770566.007179</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>69885283.0035897</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>34942641.5017948</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>17471320.7508974</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>8735660.37544871</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>4367830.18772435</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>2183915.09386217</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>1091957.54693108</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>545978.773465544</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>272989.386732772</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>136494.693366386</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>68247.346683193</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>34123.6733415964</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>17061.8366707982</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>8530.91833539913</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>65536</MatrixWidth>
        <MatrixHeight>65536</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>4265.45916769956</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>131072</MatrixWidth>
        <MatrixHeight>131072</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>2132.72958384978</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>262144</MatrixWidth>
        <MatrixHeight>262144</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>1066.36479192489</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>524288</MatrixWidth>
        <MatrixHeight>524288</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>533.182395962445</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1048576</MatrixWidth>
        <MatrixHeight>1048576</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>266.591197981222</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2097152</MatrixWidth>
        <MatrixHeight>2097152</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>133.295598990611</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4194304</MatrixWidth>
        <MatrixHeight>4194304</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>66.6477994953056</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8388608</MatrixWidth>
        <MatrixHeight>8388608</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>33.3238997476528</ScaleDenominator>
        <TopLeftCorner>-20037508.3427892 20037508.3427892</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16777216</MatrixWidth>
        <MatrixHeight>16777216</MatrixHeight>
      </TileMatrix>
    </TileMatrixSet>


 

One can define an arbitrary number of zoom levels. Here, 19 zoom levels are illustrated but resolutions up to 24 are currently available in some mass market services.

E.3.2      World Mercator WGS84 Quad TileMatrixSet definition. JSON Encoding

This is the JSON definition of the WorldMercatorQuad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “World Mercator WGS84 (ellipsoid)”,
   “identifier”: “WorldMercatorWGS84Quad”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/EPSG/0/3395”,
      “lowerCorner”: [-20037508.3427892, -20037508.3427892],
      “upperCorner”: [20037508.3427892, 20037508.3427892]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/EPSG/0/3395”,
   “wellKnownScaleSet”: “http://www.opengis.net/def/wkss/OGC/1.0/WorldMercatorWGS84”,
   “tileHeight”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 279541132.014358,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 139770566.007179,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 69885283.0035897,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 34942641.5017948,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 17471320.7508974,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 8735660.37544871,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 4367830.18772435,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 2183915.09386217,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 1091957.54693108,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 545978.773465544,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 272989.386732772,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 136494.693366386,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 68247.346683193,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 34123.6733415964,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 17061.8366707982,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 8530.91833539913,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 4265.45916769956,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 2132.72958384978,
         “topLeftCorner”: [-180, 90],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 131072
      }
   ] 
}


 

One can define an arbitrary number of zoom levels. Here, 19 zoom levels are illustrated but resolutions up to 24 are currently available in some mass market services.

 

E.4      Universal Transverse Mercator WGS84 Quad for TileMatrixSet definition for zone 31

E.4.1      UTM WGS84 Quad for TileMatrixSet definition for zone 31. XML encoding

This is the XML definition of the UTM31WGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set if the zone 31 is required. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


    <TileMatrixSet xml:id=“UTM31WGS84Quad”>
      <ows:Title>Universal Transverse Mercator Zone 31 WGS84 Quad</ows:Title>
      <ows:Identifier>UTM31WGS84Quad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/32631”>
         <ows:LowerCorner>
            -9501965.72931276 -20003931.4586255
         </ows:LowerCorner>
         <ows:UpperCorner>
             10501965.7293128 20003931.4586255
         </ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
            http://www.opengis.net/def/crs/EPSG/0/32631
      </ows:SupportedCRS>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>279072704.500914</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>139536352.250457</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>69768176.1252285</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>34884088.0626143</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>17442044.0313071</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>8721022.01565356</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>4360511.00782678</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>2180255.50391339</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>1090127.7519567</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>545063.875978348</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>272531.937989174</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>136265.968994587</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>68132.9844972935</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>34066.4922486467</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>17033.2461243234</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>8516.62306216168</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>65536</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>4258.31153108084</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>65536</MatrixWidth>
        <MatrixHeight>131072</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>2129.15576554042</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>131072</MatrixWidth>
        <MatrixHeight>262144</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>1064.57788277021</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>262144</MatrixWidth>
        <MatrixHeight>524288</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>532.288941385105</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>524288</MatrixWidth>
        <MatrixHeight>1048576</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>266.144470692553</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1048576</MatrixWidth>
        <MatrixHeight>2097152</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>133.072235346276</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2097152</MatrixWidth>
        <MatrixHeight>4194304</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>66.5361176731382</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4194304</MatrixWidth>
        <MatrixHeight>8388608</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>33.2680588365691</ScaleDenominator>
        <TopLeftCorner>-9501965.72931276 20003931.4586255</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8388608</MatrixWidth>
        <MatrixHeight>16777216</MatrixHeight>
      </TileMatrix>
    </TileMatrixSet>


 

E.4.2      UTM WGS84 Quad for TileMatrixSet definition for zone 31. JSON Encoding

This is the JSON definition of the UTM31WGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set if the zone 31 is required. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “UTM31WGS84Quad”,
   “identifier”: “Universal Transverse Mercator Zone 31 WGS84 Quad”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/EPSG/0/32631”,
      “lowerCorner”:
      [
         -9501965.72931276,
         -20003931.4586255
      ],
      “upperCorner”:
      [
         10501965.7293128,
         20003931.4586255
      ]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/EPSG/0/32631”,
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 279072704.500914,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 139536352.250457,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 69768176.1252285,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 34884088.0626143,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 17442044.0313071,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 8721022.01565356,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 4360511.00782678,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 2180255.50391339,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 1090127.7519567,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 545063.875978348,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 272531.937989174,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 136265.968994587,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 68132.9844972935,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 34066.4922486467,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 17033.2461243234,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 8516.62306216168,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 4258.31153108084,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 131072
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “18”,
         “scaleDenominator”: 2129.15576554042,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 262144
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “19”,
         “scaleDenominator”: 1064.57788277021,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 524288
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “20”,
         “scaleDenominator”: 532.288941385105,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 524288,
         “matrixHeight”: 1048576
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “21”,
         “scaleDenominator”: 266.144470692553,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1048576,
         “matrixHeight”: 2097152
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “22”,
         “scaleDenominator”: 133.072235346276,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2097152,
         “matrixHeight”: 4194304
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “23”,
         “scaleDenominator”: 66.5361176731382,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4194304,
         “matrixHeight”: 8388608
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “24”,
         “scaleDenominator”: 33.2680588365691,
         “topLeftCorner”:
         [
           -9501965.72931276,
           20003931.4586255
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8388608,
         “matrixHeight”: 16777216
      }
   ]
}


 

E.5      Arctic Universal Polar Stereographic WGS 84 Quad TileMatrixSet definition.

E.5.1      Arctic UPS WGS 84 Quad TileMatrixSet definition. XML encoding

This is the XML definition of the UPSArcticWGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


    <TileMatrixSet xml:id="UPSArcticWGS84Quad">
      <ows:Title>Universal Polar Stereographic WGS 84 Quad for Arctic</ows:Title>
      <ows:Identifier>UPSArcticWGS84Quad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/5041”>
         <ows:LowerCorner>-14440759.350252 -14440759.350252</ows:LowerCorner>
         <ows:UpperCorner>18440759.350252 18440759.350252</ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
         http://www.opengis.net/def/crs/EPSG/0/5041
      </ows:SupportedCRS>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>458726544.4</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>1</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>229363272.2</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>114681636.1</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>57340818.05</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>28670409.02</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>14335204.51</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>7167602.256</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>3583801.128</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>1791900.564</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>895950.282</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>447975.141</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>223987.5705</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>111993.7852</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>55996.89262</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>27998.44631</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>13999.22316</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>6999.611578</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>65536</MatrixWidth>
        <MatrixHeight>65536</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>3499.805789</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>131072</MatrixWidth>
        <MatrixHeight>131072</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>1749.902894</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>262144</MatrixWidth>
        <MatrixHeight>262144</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>874.9514472</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>524288</MatrixWidth>
        <MatrixHeight>524288</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>437.4757236</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1048576</MatrixWidth>
        <MatrixHeight>1048576</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>218.7378618</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2097152</MatrixWidth>
        <MatrixHeight>2097152</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>109.3689309</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4194304</MatrixWidth>
        <MatrixHeight>4194304</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>54.68446545</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8388608</MatrixWidth>
        <MatrixHeight>8388608</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>27.34223273</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16777216</MatrixWidth>
        <MatrixHeight>16777216</MatrixHeight>
      </TileMatrix>
    </TileMatrixSet>


 

E.5.2      Arctic UPS WGS 84 Quad TileMatrixSet definition. JSON enconding


{
   “type”: “TileMatrixSetType”,
   “title”: “ArcticUniversalPolarStereoWGS84Quad”,
   “identifier”: “Universal Polar Stereographic WGS 84 Quad for Arctic”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: "http://www.opengis.net/def/crs/EPSG/0/5041",
      “lowerCorner”:
      [
         -14440759.350252,
         -14440759.350252
      ],
      “upperCorner”:
      [
         18440759.350252,
         18440759.350252
      ]
   },
   “supportedCRS”: "http://www.opengis.net/def/crs/EPSG/0/5041",
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 458726544.4,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 229363272.2,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 114681636.1,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 57340818.05,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 28670409.02,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 14335204.51,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 7167602.256,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 3583801.128,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 1791900.564,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 895950.282,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 447975.141,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 223987.5705,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 111993.7852,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 55996.89262,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 27998.44631,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 13999.22316,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 6999.611578,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 3499.805789,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 131072
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “18”,
         “scaleDenominator”: 1749.902894,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 262144
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “19”,
         “scaleDenominator”: 874.9514472,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 524288,
         “matrixHeight”: 524288
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “20”,
         “scaleDenominator”: 437.4757236,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1048576,
         “matrixHeight”: 1048576
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “21”,
         “scaleDenominator”: 218.7378618,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2097152,
         “matrixHeight”: 2097152
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “22”,
         “scaleDenominator”: 109.3689309,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4194304,
         “matrixHeight”: 4194304
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “23”,
         “scaleDenominator”: 54.68446545,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8388608,
         “matrixHeight”: 8388608
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “24”,
         “scaleDenominator”: 27.34223273,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16777216,
         “matrixHeight”: 16777216
      }
   ]
}


E.6      Antarctic Universal Polar Stereographic WGS84 Quad TileMatrixSet definition.

E.6.1      Antarctic UPS WGS84 Quad TileMatrixSet definition. XML Encoding

This is the XML definition of the UPSAntarcticWGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


    <TileMatrixSet xml:id="UPSAntarcticWGS84Quad">
      <ows:Title>Universal Polar Stereographic WGS 84 Quad for Antarctic</ows:Title>
      <ows:Identifier>UPSAntarcticWGS84Quad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/5042”>
         <ows:LowerCorner>-14440759.350252 -14440759.350252</ows:LowerCorner>
         <ows:UpperCorner>18440759.350252 18440759.350252</ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
         http://www.opengis.net/def/crs/EPSG/0/5042
      </ows:SupportedCRS>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>458726544.4</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>1</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>229363272.2</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>114681636.1</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>57340818.05</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>28670409.02</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>14335204.51</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>7167602.256</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>3583801.128</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>1791900.564</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>895950.282</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>447975.141</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>223987.5705</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>111993.7852</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>55996.89262</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>27998.44631</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>13999.22316</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>6999.611578</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>65536</MatrixWidth>
        <MatrixHeight>65536</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>3499.805789</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>131072</MatrixWidth>
        <MatrixHeight>131072</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>1749.902894</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>262144</MatrixWidth>
        <MatrixHeight>262144</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>874.9514472</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>524288</MatrixWidth>
        <MatrixHeight>524288</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>437.4757236</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1048576</MatrixWidth>
        <MatrixHeight>1048576</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>218.7378618</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2097152</MatrixWidth>
        <MatrixHeight>2097152</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>109.3689309</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4194304</MatrixWidth>
        <MatrixHeight>4194304</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>54.68446545</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8388608</MatrixWidth>
        <MatrixHeight>8388608</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>27.34223273</ScaleDenominator>
        <TopLeftCorner>-14440759.350252 18440759.350252</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16777216</MatrixWidth>
        <MatrixHeight>16777216</MatrixHeight>
      </TileMatrix>
    </TileMatrixSet>


 

E.6.2      Antarctic UPS WGS84 Quad TileMatrixSet definition. JSON Encoding

This is the JSON definition of the UPSAntarcticWGS84Quad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “AntarcticUniversalPolarStereoWGS84Quad”,
   “identifier”: “Universal Polar Stereographic WGS 84 Quad for Antarctic”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: "http://www.opengis.net/def/crs/EPSG/0/5042",
      “lowerCorner”:
      [
         -14440759.350252,
         -14440759.350252
      ],
      “upperCorner”:
      [
         18440759.350252,
         18440759.350252
      ]
   },
   “supportedCRS”: "http://www.opengis.net/def/crs/EPSG/0/5042",
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 458726544.4,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 229363272.2,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 114681636.1,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 57340818.05,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 28670409.02,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 14335204.51,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 7167602.256,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 3583801.128,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 1791900.564,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 895950.282,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 447975.141,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 223987.5705,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 111993.7852,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 55996.89262,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 27998.44631,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 13999.22316,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 32768
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 6999.611578,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 65536,
         “matrixHeight”: 65536
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 3499.805789,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 131072,
         “matrixHeight”: 131072
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “18”,
         “scaleDenominator”: 1749.902894,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 262144,
         “matrixHeight”: 262144
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “19”,
         “scaleDenominator”: 874.9514472,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 524288,
         “matrixHeight”: 524288
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “20”,
         “scaleDenominator”: 437.4757236,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1048576,
         “matrixHeight”: 1048576
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “21”,
         “scaleDenominator”: 218.7378618,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2097152,
         “matrixHeight”: 2097152
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “22”,
         “scaleDenominator”: 109.3689309,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4194304,
         “matrixHeight”: 4194304
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “23”,
         “scaleDenominator”: 54.68446545,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8388608,
         “matrixHeight”: 8388608
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “24”,
         “scaleDenominator”: 27.34223273,
         “topLeftCorner”:
         [
           -14440759.350252,
           18440759.350252
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16777216,
         “matrixHeight”: 16777216
      }
   ]
}


E.7      European ETRS89 LAEA Quad TileMatrixSet definition.

E.7.1      European ETRS89 LAEA Quad TileMatrixSet definition. XML Encoding

This is the XML definition of the EuropeanETRS89_LAEAQuad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


    <TileMatrixSet xml:id=“EuropeanETRS89_LAEAQuad”>
      <ows:Title>Lambert Azimuthal Equal Area ETRS89 for Europe</ows:Title>
      <ows:Identifier>EuropeanETRS89_LAEAQuad</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/3035”>
         <ows:LowerCorner>2000000.0 1000000.0</ows:LowerCorner>
         <ows:UpperCorner>6500000 5500000.0</ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
         http://www.opengis.net/def/crs/EPSG/0/3035
      </ows:SupportedCRS>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>62779017.857142866</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1</MatrixWidth>
        <MatrixHeight>1</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>31389508.928571433</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2</MatrixWidth>
        <MatrixHeight>2</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>15694754.464285716</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4</MatrixWidth>
        <MatrixHeight>4</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>7847377.232142858</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>3923688.616071429</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16</MatrixWidth>
        <MatrixHeight>16</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>1961844.3080357146</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32</MatrixWidth>
        <MatrixHeight>32</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>980922.1540178573</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>64</MatrixWidth>
        <MatrixHeight>64</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>490461.07700892864</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>128</MatrixWidth>
        <MatrixHeight>128</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>245230.53850446432</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>256</MatrixWidth>
        <MatrixHeight>256</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>122615.26925223216</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>512</MatrixWidth>
        <MatrixHeight>512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>61307.63462611608</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1024</MatrixWidth>
        <MatrixHeight>1024</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>30653.81731305804</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2048</MatrixWidth>
        <MatrixHeight>2048</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>15326.90865652902</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4096</MatrixWidth>
        <MatrixHeight>4096</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>7663.45432826451</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8192</MatrixWidth>
        <MatrixHeight>8192</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>3831.727164132255</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>16384</MatrixWidth>
        <MatrixHeight>16384</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>1915.8635820661275</ScaleDenominator>
        <TopLeftCorner>2000000.0 5500000.0</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>32768</MatrixWidth>
        <MatrixHeight>32768</MatrixHeight>
      </TileMatrix>
    </TileMatrixSet>


 

E.7.2      European ETRS89 LAEA Quad TileMatrixSet definition. JSON Encoding

This is the JSON definition of the EuropeanETRS89_LAEAQuad tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “Lambert Azimuthal Equal Area ETRS89 for Europe”,
   “identifier”: “EuropeanETRS89_LAEAQuad”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/EPSG/0/3035”,
      “lowerCorner”:
      [
         2000000.0,
         1000000.0
      ],
      “upperCorner”:
      [
         6500000.0,
         5500000.0
      ]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/EPSG/0/3035”,
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 62779017.8571428,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1,
         “matrixHeight”: 1
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 31389508.9285714,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 15694754.4642857,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 4
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 7847377.23214285,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 3923688.61607142,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 16
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 1961844.30803571,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 32
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 980922.154017857,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 64
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 490461.077008928,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 128
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 245230.538504464,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 256,
         “matrixHeight”: 256
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 122615.269252232,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 512,
         “matrixHeight”: 512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 61307.634626116,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1024,
         “matrixHeight”: 1024
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 30653.817313058,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2048,
         “matrixHeight”: 2048
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 15326.908656529,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4096,
         “matrixHeight”: 4096
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 7663.45432826451,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8192,
         “matrixHeight”: 8192
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 3831.72716413225,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16384,
         “matrixHeight”: 16384
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 1915.86358206612,
         “topLeftCorner”:
         [
           2000000.0,
           5500000.0
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32768,
         “matrixHeight”: 32768
      }
   ]
}


 

E.8      Canadian Lambert Conformal Conic NAD83 TileMatrixSet definition.

E.8.1      Canadian Lambert Conformal Conic NAD83 TileMatrixSet definition. XML Encoding

This is the XML definition of the CanadianNAD83_LCC tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


   <TileMatrixSet xml:id="CanadianNAD83_LCC">
      <ows:Title>Lambert Conformal Conic NAD83 for Canada</ows:Title>
      <ows:Identifier>CanadianNAD83_LCC</ows:Identifier>
      <ows:BoundingBox crs=“http://www.opengis.net/def/crs/EPSG/0/3978”>
         <ows:LowerCorner>-7786476.885838887 -5153821.09213678</ows:LowerCorner>
         <ows:UpperCorner>7148753.233541353 7928343.534071138</ows:UpperCorner>
      </ows:BoundingBox>
      <ows:SupportedCRS>
         http://www.opengis.net/def/crs/EPSG/0/3978
       </ows:SupportedCRS>
      <TileMatrix>
        <ows:Identifier>0</ows:Identifier>
        <ScaleDenominator>137016643.080905</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>5</MatrixWidth>
        <MatrixHeight>5</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>1</ows:Identifier>
        <ScaleDenominator>80320101.1163925</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>8</MatrixWidth>
        <MatrixHeight>8</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>2</ows:Identifier>
        <ScaleDenominator>47247118.3037603</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>13</MatrixWidth>
        <MatrixHeight>14</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>3</ows:Identifier>
        <ScaleDenominator>28348270.9822562</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>21</MatrixWidth>
        <MatrixHeight>22</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>4</ows:Identifier>
        <ScaleDenominator>16536491.4063161</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>36</MatrixWidth>
        <MatrixHeight>38</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>5</ows:Identifier>
        <ScaleDenominator>9449423.66075207</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>62</MatrixWidth>
        <MatrixHeight>66</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>6</ows:Identifier>
        <ScaleDenominator>5669654.19645125</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>103</MatrixWidth>
        <MatrixHeight>110</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>7</ows:Identifier>
        <ScaleDenominator>3307298.28126323</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>177</MatrixWidth>
        <MatrixHeight>188</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>8</ows:Identifier>
        <ScaleDenominator>1889884.73215041</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>309</MatrixWidth>
        <MatrixHeight>329</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>9</ows:Identifier>
        <ScaleDenominator>1133930.83929025</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>515</MatrixWidth>
        <MatrixHeight>548</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>10</ows:Identifier>
        <ScaleDenominator>661459.656252643</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>882</MatrixWidth>
        <MatrixHeight>938</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>11</ows:Identifier>
        <ScaleDenominator>396875.793751586</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1470</MatrixWidth>
        <MatrixHeight>1563</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>12</ows:Identifier>
        <ScaleDenominator>236235.591518802</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2469</MatrixWidth>
        <MatrixHeight>2626</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>13</ows:Identifier>
        <ScaleDenominator>137016.643080905</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>4257</MatrixWidth>
        <MatrixHeight>4528</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>14</ows:Identifier>
        <ScaleDenominator>80320.1011163925</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>7262</MatrixWidth>
        <MatrixHeight>7723</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>15</ows:Identifier>
        <ScaleDenominator>47247.1183037603</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>12344</MatrixWidth>
        <MatrixHeight>13130</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>16</ows:Identifier>
        <ScaleDenominator>28348.2709822562</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>20574</MatrixWidth>
        <MatrixHeight>21882</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>17</ows:Identifier>
        <ScaleDenominator>16536.4914063161</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>35269</MatrixWidth>
        <MatrixHeight>37512</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>18</ows:Identifier>
        <ScaleDenominator>9449.42366075207</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>61720</MatrixWidth>
        <MatrixHeight>65646</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>19</ows:Identifier>
        <ScaleDenominator>5669.65419645125</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>102866</MatrixWidth>
        <MatrixHeight>109409</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>20</ows:Identifier>
        <ScaleDenominator>3307.29828126323</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>176341</MatrixWidth>
        <MatrixHeight>187558</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>21</ows:Identifier>
        <ScaleDenominator>1889.88473215041</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>308596</MatrixWidth>
        <MatrixHeight>328227</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>22</ows:Identifier>
        <ScaleDenominator>1133.93083929025</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>514327</MatrixWidth>
        <MatrixHeight>547044</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>23</ows:Identifier>
        <ScaleDenominator>661.459656252643</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>881703</MatrixWidth>
        <MatrixHeight>937790</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>24</ows:Identifier>
        <ScaleDenominator>396.875793751586</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>1469505</MatrixWidth>
        <MatrixHeight>1562983</MatrixHeight>
      </TileMatrix>
      <TileMatrix>
        <ows:Identifier>25</ows:Identifier>
        <ScaleDenominator>236.235591518802</ScaleDenominator>
        <TopLeftCorner>-34655800 39310000</TopLeftCorner>
        <TileWidth>256</TileWidth>
        <TileHeight>256</TileHeight>
        <MatrixWidth>2468768</MatrixWidth>
        <MatrixHeight>2625811</MatrixHeight>
      </TileMatrix>
   </TileMatrixSet>


 

E.8.2      Canadian Lambert Conformal Conic NAD83 TileMatrixSet definition. JSON Encoding

This is the JSON definition of the CanadianNAD83_LCC tile matrix set that can be reproduced by other standards needing to define a tile matrix set. Not all TileMatrix elements need to be included and including other TileMatrices for more detailed scales is possible if they follow the same pattern.


{
   “type”: “TileMatrixSetType”,
   “title”: “Lambert conformal conic NAD83 for Canada”,
   “identifier”: “CanadianNAD83_LCC”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/EPSG/0/3978”,
      “lowerCorner”:
      [
         -7786476.885838887,
         -5153821.09213678
      ],
      “upperCorner”:
      [
         7148753.233541353,
         7928343.534071138
      ]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/EPSG/0/3978”,
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 145000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 5,
         “matrixHeight”: 5
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 85000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 8
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 50000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 13,
         “matrixHeight”: 14
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 30000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 21,
         “matrixHeight”: 22
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 17500000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 36,
         “matrixHeight”: 38
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “5”,
         “scaleDenominator”: 10000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 62,
         “matrixHeight”: 66
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “6”,
         “scaleDenominator”: 6000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 103,
         “matrixHeight”: 110
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “7”,
         “scaleDenominator”: 3500000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 177,
         “matrixHeight”: 188
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “8”,
         “scaleDenominator”: 2000000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 309,
         “matrixHeight”: 329
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “9”,
         “scaleDenominator”: 1200000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 515,
         “matrixHeight”: 548
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “10”,
         “scaleDenominator”: 700000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 882,
         “matrixHeight”: 938
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “11”,
         “scaleDenominator”: 420000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1470,
         “matrixHeight”: 1563
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “12”,
         “scaleDenominator”: 250000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2469,
         “matrixHeight”: 2626
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “13”,
         “scaleDenominator”: 145000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4257,
         “matrixHeight”: 4528
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “14”,
         “scaleDenominator”: 85000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 7262,
         “matrixHeight”: 7723
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “15”,
         “scaleDenominator”: 50000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 12344,
         “matrixHeight”: 13130
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “16”,
         “scaleDenominator”: 30000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 20574,
         “matrixHeight”: 21882
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “17”,
         “scaleDenominator”: 17500,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 35269,
         “matrixHeight”: 37512
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “18”,
         “scaleDenominator”: 10000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 61720,
         “matrixHeight”: 65646
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “19”,
         “scaleDenominator”: 6000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 102866,
         “matrixHeight”: 109409
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “20”,
         “scaleDenominator”: 3500,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 176341,
         “matrixHeight”: 187558
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “21”,
         “scaleDenominator”: 2000,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 308596,
         “matrixHeight”: 328227
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “22”,
         “scaleDenominator”: 1200,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 514327,
         “matrixHeight”: 547044
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “23”,
         “scaleDenominator”: 700,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 881703,
         “matrixHeight”: 937790
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “24”,
         “scaleDenominator”: 420,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 1469505,
         “matrixHeight”: 1562983
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “25”,
         “scaleDenominator”: 250,
         “topLeftCorner”:
         [
           -34655800,
           39310000
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2468768,
         “matrixHeight”: 2625811
      }
   ]
}


 

 

Annex F           Example encodings for TileMatrixSetLink2D (Informative)

This informative Annex provides an example of use for TileMatrixSetLink2D and TileMatrixSetLimits2D data structures.

F.1      XML document instance using TileMatrixSetLink2D

TileMatrixSetLink2D data structure can be used for a resource to specify the tiling schema the resource supports. Eventually, the resource can only be available in a fragment of the tiled space and to specify that, the TileMatrixSetLimits2D data structure is populated. This example illustrates and instance encoded in XML.


<?xml version=“1.0” encoding=“UTF-8”?>
<LayerExample xmlns=“http://www.opengis.net/tms/1.0/link_xmp” xmlns:tms=“http://www.opengis.net/tms/1.0” xmlns:ows=“http://www.opengis.net/ows/2.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.opengis.net/tms/1.0/link_xmp LayerWithTMSLink.xsd”>
<ows:Title>Catalonia</ows:Title>
<ows:Abstract>Catalonia Extent</ows:Abstract>
<ows:WGS84BoundingBox>
   <ows:LowerCorner>-1.062 38.198</ows:LowerCorner>
   <ows:UpperCorner>4.827 43.748</ows:UpperCorner>
</ows:WGS84BoundingBox>
<ows:Identifier>Cat</ows:Identifier>
<tms:TileMatrixSetLink>
   <tms:TileMatrixSet>WorldCRS84Quad</tms:TileMatrixSet>
   <tms:TileMatrixSetLimits>
      <tms:TileMatrixLimits>
         <tms:TileMatrix>3</tms:TileMatrix>
         <tms:MinTileRow>4</tms:MinTileRow>
         <tms:MaxTileRow>5</tms:MaxTileRow>
         <tms:MinTileCol>2</tms:MinTileCol>
         <tms:MaxTileCol>2</tms:MaxTileCol>
      </tms:TileMatrixLimits>
      <tms:TileMatrixLimits>
         <tms:TileMatrix>4</tms:TileMatrix>
         <tms:MinTileRow>8</tms:MinTileRow>
         <tms:MaxTileRow>9</tms:MaxTileRow>
         <tms:MinTileCol>4</tms:MinTileCol>
         <tms:MaxTileCol>4</tms:MaxTileCol>
      </tms:TileMatrixLimits>
   </tms:TileMatrixSetLimits>
</tms:TileMatrixSetLink>
</LayerExample>


 

F.2      XML schema used to validate the previous XML document

The TileMatrixSetLink2D data structure can be included in the definition of a resource data model. This XML Schema fragment illustrates how this standard XML schemas can be used in conjunction with the resource schemas.


<schema xmlns=“http://www.w3.org/2001/XMLSchema” xmlns:xmp=“http://www.opengis.net/tms/1.0/link_xmp” xmlns:tms=“http://www.opengis.net/tms/1.0” xmlns:ows=“http://www.opengis.net/ows/2.0” xmlns:xlink=“http://www.w3.org/1999/xlink” targetNamespace=“http://www.opengis.net/tms/1.0/link_xmp” elementFormDefault=“qualified” xml:lang=“en”>
   <annotation>
      <appinfo>TMS Link example 2019-02-02</appinfo>
      <documentation>
         This XML Schema Document encodes the TileMatrisSet data structures.
         TMS is an OGC Standard Copyright (c) 2019 Open Geospatial Consortium, Inc. All Rights Reserved.
          To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
      </documentation>
   </annotation>
   <!– *********************************************************************
                Includes and imports.                           
          ********************************************************************* –>
   <import namespace=“http://www.opengis.net/tms/1.0” schemaLocation=“../tms.xsd”/>
   <import namespace=“http://www.opengis.net/ows/2.0” schemaLocation=“../../../../ows/2.0/owsAll.xsd”/>
   <import namespace=“http://www.w3.org/1999/xlink” schemaLocation=“../../../../xlink/1.0.0/xlinks.xsd”/>
   <!– ********************************************************************* –>
   <!– **  The Layer Example element.                                      ** –>
   <!– ********************************************************************* –>
   <element name=“LayerExample” type=“xmp:LayerTypeExample” substitutionGroup=“ows:DatasetDescriptionSummary”/>
   <complexType name=“LayerTypeExample”>
      <annotation>
         <documentation>Example of a Layer tht links to TMS Link</documentation>
      </annotation>
      <complexContent>
         <extension base=“ows:DatasetDescriptionSummaryBaseType”>
           <sequence>
              <element ref=“tms:TileMatrixSetLink” minOccurs=“0” maxOccurs=“unbounded”>
                 <annotation>
                    <documentation>Link to a tile mateix set</documentation>
                 </annotation>
              </element>
           </sequence>
         </extension>
      </complexContent>
   </complexType>
</schema>


 

F.3      JSON document instance using TileMatrisSetLink2D

TileMatrixSetLink2D data structure can be used for a resource to specify the tiling schema the resource supports. Eventually, the resource can only be available in a fragment of the tiled space and to specify that, the TileMatrixSetLimits2D data structure is populated. This example illustrates and instance encoded in JSON.


{
   “title”: “Catalonia”,
   “identifier”: “Cat”,
   “tileMatrixSetLink”: {
      “type”: “TileMatrixSetLink”,
      “tileMatrixSet”: “WorldCRS84Quad”,
      “tileMatrixSetLimits”: [{
         “type”: “TileMatrixLimits”,
         “tileMatrix”: “3”,
         “minTileRow”: 4,
         “maxTileRow”: 5,
         “minTileCol”: 2,
         “maxTileCol”: 2
      },{
         “type”: “TileMatrixLimits”,
         “tileMatrix”: “4”,
         “minTileRow”: 8,
         “maxTileRow”: 9,
         “minTileCol”: 4,
         “maxTileCol”: 4
      }]
   }
}


 

F.4      JSON schema used to validate the previous JSON document

The TileMatrixSetLink2D data structure can be included in the definition of a resource data model. This JSON Schema fragment illustrates how this standard JSON schemas can be used in conjunction with the resource schemas.

 


{
   “$schema”: “http://json-schema.org/draft-04/schema#”,
   “title”: “”,
   “description”: “”,
   “type”: “object”,
   “properties”: {
      “title”: {
         “description”: “Title of this resource, normally used for display to a human”,
         “type”: “string”
      },
      “abstract”: {
         “description”: “Brief narrative description of this resource, normally available for display to a human”,
         “type”: “string”
      },
      “identifier”: {
         “description”: “Resource identifier”,
         “type”: “string”
      },
      “tileMatrixSetLink”: {
         “description”: “Tile Matrix Set Link data structure”,
         “$ref”: “#/definitions/tileMatrixSetLink”
      }
   },
   “definitions”:{
      “tileMatrixSetLink”: {
         “type”: “object”,
         “required”: [“type”, “tileMatrixSet”],
         “properties”: {
           “type”: {
              “description”: “Type of the Tile Matrix Set Link”,
              “enum”: [“TileMatrixSetLink”]
           },
           “tileMatrixSet”: {
              “description”: “Reference to a tileMatrixSet”,
              “type”: “string”
           },
           “tileMatrixSetLimits”: {
              “description”: “Index limits for this tileMatrixSet”,
              “type”: “array”,
              “items”: {
                 “$ref”: “#/definitions/tileMatrixSetLimits”
              }
           }
         }
      },
      “tileMatrixSetLimits”: {
         “type”: “object”,
         “required”: [“type”, “tileMatrix”, “minTileRow”, “maxTileRow”, “minTileCol”, “maxTileCol”],
         “properties”: {
           “type”: {
              “description”: “Type of the Tile Matrix Set Limits”,
              “enum”: [“TileMatrixLimits”]
           },
           “tileMatrix”: {
              “description”: “Reference to a tileMatrix identifier”,
              “type”: “string”
           },
           “minTileRow”: {
              “description”: “Minimum tile row index valid for this layer”,
              “type”: “number”,
              “minimum”: 0,
              “multipleOf” : 1
           },
           “maxTileRow”: {
              “description”: “Maximim tile row index valid for this layer”,
              “type”: “number”,
              “minimum”: 0,
              “multipleOf” : 1
           },
           “minTileCol”: {
              “description”: “Minimum tile column index valid for this layer”,
              “type”: “number”,
              “minimum”: 0,
              “multipleOf” : 1
           },
           “maxTileCol”: {
              “description”: “Maximim tile column index valid for this layer”,
              “type”: “number”,
              “minimum”: 0,
              “multipleOf” : 1
           }
         }
      }
   }
}


 

 

Annex G          Example encodings for JSON-LD  (Informative)

This informative Annex provides an example of JSON-LD TileMatrixSet2D and the corresponding result in RDF Turtle.

G.1     JSON-LD document instance

Example of JSON-LD document instance. @context documents have been included when necessary and the identifiers have been qualified with a namespace ensuring a good transformation to RDF using a JSON-LD engine. The complete example can be found in the supplemental material described in Annex B.


{
   “@context”: [“http://localhost/json-ld/tms-context.json”, {“example”: “http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/”}],
   “type”: “TileMatrixSetType”,
   “title”: “CRS84 for the World”,
   “identifier”: “example:”,
   “boundingBox”:
   {
      “@context”: “http://localhost/json-ld/tms-boundingbox-context.json”,
      “@id”: “example:BoundingBox”,
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
      “lowerCorner”:
      [
         -180,
         -90
      ],
      “upperCorner”:
      [
         180,
         90
      ]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
   “wellKnownScaleSet”: “http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad”,
   “tileMatrix”:
   [
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:0”,
         “scaleDenominator”: 279541132.014358,
         “topLeftCorner”:
         [
           -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 2,
         “matrixHeight”: 1
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:1”,
         “scaleDenominator”: 139770566.007179,
         “topLeftCorner”:
         [
           -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 2
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:2”,
         “scaleDenominator”: 69885283.0035897,
         “topLeftCorner”:
         [
           -180,
            90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 4
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:3”,
         “scaleDenominator”: 34942641.5017948,
         “topLeftCorner”:
         [
           -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 8
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:4”,
         “scaleDenominator”: 17471320.7508974,
         “topLeftCorner”:
         [
           -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 16
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:5”,
         “scaleDenominator”: 8735660.37544871,
         “topLeftCorner”:
         [
           -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 32
      },
      {
         “@context”: “http://localhost/json-ld/tms-tilematrix-context.json”,
         “type”: “TileMatrixType”,
         “identifier”: “example:6”,
         “scaleDenominator”: 4367830.18772435,
         “topLeftCorner”:
         [
            -180,
           90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 128,
         “matrixHeight”: 64
      }
   ]
}


 

G.2     N3 turtle document

This document has been automatically generated by the JSON-DL Playground ( https://json-ld.org/playground/) by providing the document in subsection G.1 as input. The complete example can be found in the supplemental material described in Annex B.


<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/matrixHeight> “1”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/matrixWidth> “2”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/scaleDenominator> “2.79541132014358E8”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b7 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/matrixHeight> “2”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/matrixWidth> “4”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/scaleDenominator> “1.39770566007179E8”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b9 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/matrixHeight> “4”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/matrixWidth> “8”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/scaleDenominator> “6.98852830035897E7”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b11 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/matrixHeight> “8”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/matrixWidth> “16”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/scaleDenominator> “3.49426415017948E7”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b13 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/matrixHeight> “16”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/matrixWidth> “32”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/scaleDenominator> “1.74713207508974E7”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b15 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/matrixHeight> “32”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/matrixWidth> “64”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/scaleDenominator> “8.735660375448709E6”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b17 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/matrixHeight> “64”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/matrixWidth> “128”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/scaleDenominator> “4.36783018772435E6”^^<http://www.w3.org/2001/XMLSchema#double> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/tileHeight> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/tileWidth> “256”^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.opengis.net/tms/1.0/topLeftCorner> _:b19 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.opengis.net/tms/1.0/boundingBox> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/BoundingBox> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.opengis.net/tms/1.0/supportedCRS> <http://www.opengis.net/def/crs/OGC/1.3/CRS84> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.opengis.net/tms/1.0/tileMatrix> _:b0 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.opengis.net/tms/1.0/title> “CRS84 for the World” .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.opengis.net/tms/1.0/wellKnownScaleSet> <http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/TileMatrixSetType> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/BoundingBox> <http://www.opengis.net/tms/1.0/crs> <http://www.opengis.net/def/crs/OGC/1.3/CRS84> .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/BoundingBox> <http://www.opengis.net/tms/1.0/lowerCorner> _:b21 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/BoundingBox> <http://www.opengis.net/tms/1.0/upperCorner> _:b23 .
<http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/BoundingBox> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/tms/1.0/BoundingBoxType> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/0> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b1 .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/1> .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b2 .
_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b11 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b11 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b12 .
_:b12 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b12 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b13 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b13 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b14 .
_:b14 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b14 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b15 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b15 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b16 .
_:b16 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b16 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b17 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b17 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b18 .
_:b18 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b18 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b19 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b19 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b20 .
_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/2> .
_:b2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b3 .
_:b20 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b20 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b21 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b21 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b22 .
_:b22 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b22 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b23 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b23 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b24 .
_:b24 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b24 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/3> .
_:b3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b4 .
_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/4> .
_:b4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b5 .
_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/5> .
_:b5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b6 .
_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <http://www.opengis.net/tms/1.0/example/WorldCRS84Quad/6> .
_:b6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b8 .
_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “9.0E1”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> “-1.8E2”^^<http://www.w3.org/2001/XMLSchema#double> .
_:b9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:b10 .


 

G.3     JSON-LD @context document example

This is the tms-context.json document that is included at the beginning of a JSON TileMatrixSet2D instance to transform it into a JSON-LD file. Other similar @context documents are included in other sections and are provided as supplementary material to this document as explained in Annex B.


{
   “@context”:
   {
      “tms”: “http://www.opengis.net/tms/1.0/”,
      “identifier”: “@id”,
      “type”: “@type”,
      “title”: “tms:title”,
      “abstract”: “tms:abstract”,
      “boundingBox”: “tms:boundingBox”,
      “TileMatrixSetType”: “tms:TileMatrixSetType”,
      “supportedCRS”:
      {
         “@id”: “tms:supportedCRS”,
         “@type”: “@id”
      },
      “wellKnownScaleSet”:
      {
         “@id”: “tms:wellKnownScaleSet”,
         “@type”: “@id”
      },
      “tileMatrix”:
      {
         “@id”: “tms:tileMatrix”,
         “@container”: “@list”
      }
   }
}


 

 

Annex H          Example encodings for Variable Matrix Width (Informative)

This informative Annex provides an example of the Variable Matrix Width extension. In this case, the variable matrix width is applied only to the tile matrix with identifier 3 and 4.

H.1     XML document instance using VariableMatrixWidth


<?xml version=“1.0” encoding=“UTF-8”?>
<TileMatrixSet id="WorldCRS84Quad" xmlns="http://www.opengis.net/tms/1.0" 
xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/tms/1.0 ../tms.xsd">
   <ows:Title>CRS84 for the World</ows:Title>
   <ows:Identifier>WorldCRS84Quad</ows:Identifier>
   <ows:BoundingBox crs="http://www.opengis.net/def/crs/OGC/1.3/CRS84">
      <ows:LowerCorner>-180 -90</ows:LowerCorner>
      <ows:UpperCorner>180 90</ows:UpperCorner>
   </ows:BoundingBox>
   <ows:SupportedCRS>
            http://www.opengis.net/def/crs/OGC/1.3/CRS84
         </ows:SupportedCRS>
   <WellKnownScaleSet>
            http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad
         </WellKnownScaleSet>
   <TileMatrix>
      <ows:Identifier>1</ows:Identifier>
      <ScaleDenominator>279541132.0143589</ScaleDenominator>
      <TopLeftCorner>-180 90</TopLeftCorner>
      <TileWidth>256</TileWidth>
      <TileHeight>256</TileHeight>
      <MatrixWidth>2</MatrixWidth>
      <MatrixHeight>1</MatrixHeight>
   </TileMatrix>
   <TileMatrix>
      <ows:Identifier>2</ows:Identifier>
      <ScaleDenominator>139770566.0071794</ScaleDenominator>
      <TopLeftCorner>-180 90</TopLeftCorner>
      <TileWidth>256</TileWidth>
      <TileHeight>256</TileHeight>
      <MatrixWidth>4</MatrixWidth>
      <MatrixHeight>2</MatrixHeight>
   </TileMatrix>
   <TileMatrix>
      <ows:Identifier>3</ows:Identifier>
      <ScaleDenominator>69885283.00358972</ScaleDenominator>
      <TopLeftCorner>-180 90</TopLeftCorner>
      <TileWidth>256</TileWidth>
      <TileHeight>256</TileHeight>
      <MatrixWidth>8</MatrixWidth>
      <MatrixHeight>4</MatrixHeight>
      <VariableMatrixWidth>
         <Coalesce>2</Coalesce>
         <MinTileRow>0</MinTileRow>
         <MaxTileRow>0</MaxTileRow>
      </VariableMatrixWidth>
      <VariableMatrixWidth>
         <Coalesce>2</Coalesce>
         <MinTileRow>3</MinTileRow>
         <MaxTileRow>3</MaxTileRow>
      </VariableMatrixWidth>
   </TileMatrix>
   <TileMatrix>
      <ows:Identifier>4</ows:Identifier>
      <ScaleDenominator>34942641.50179486</ScaleDenominator>
      <TopLeftCorner>-180 90</TopLeftCorner>
      <TileWidth>256</TileWidth>
      <TileHeight>256</TileHeight>
      <MatrixWidth>16</MatrixWidth>
      <MatrixHeight>8</MatrixHeight>
      <VariableMatrixWidth>
         <Coalesce>4</Coalesce>
         <MinTileRow>0</MinTileRow>
         <MaxTileRow>0</MaxTileRow>
      </VariableMatrixWidth>
      <VariableMatrixWidth>
         <Coalesce>2</Coalesce>
         <MinTileRow>1</MinTileRow>
         <MaxTileRow>1</MaxTileRow>
      </VariableMatrixWidth>
      <VariableMatrixWidth>
         <Coalesce>2</Coalesce>
         <MinTileRow>6</MinTileRow>
         <MaxTileRow>6</MaxTileRow>
      </VariableMatrixWidth>
      <VariableMatrixWidth>
         <Coalesce>4</Coalesce>
         <MinTileRow>7</MinTileRow>
         <MaxTileRow>7</MaxTileRow>
      </VariableMatrixWidth>
   </TileMatrix>
</TileMatrixSet>


 

H.2     JSON document instance using VariableMatrixWidth

This example takes the first five tile matrices of the definition of the GNOSIS Global Grid (http://ecere.ca/gnosis/) and presents them encoded in JSON following this standard. Please note that GNOSIS Global Grid conforms to the GoogleCRS84Quad well known scale set but it is not using the same identifiers as the WorldCRS84Quad TileMatrixSet. The complete example can be found in the supplemental material described in Annex B.


{
   “type”: “TileMatrixSetType”,
   “title”: “GNOSIS for the World”,
   “identifier”: “GNOSISGlobalGrid”,
   “boundingBox”:
   {
      “type”: “BoundingBoxType”,
      “crs”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
      “lowerCorner”:
      [
         -180,
         -90
      ],
      “upperCorner”:
      [
         180,
         90
      ]
   },
   “supportedCRS”: “http://www.opengis.net/def/crs/OGC/1.3/CRS84”,
   “wellKnownScaleSet”: “http://www.opengis.net/def/wkss/OGC/1.0/GoogleCRS84Quad”
   “tileMatrix”:
   [
      {
         “type”: “TileMatrixType”,
         “identifier”: “0”,
         “scaleDenominator”: 139770566.0071794390678,
         “topLeftCorner”:
         [
           -180,
           -90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 4,
         “matrixHeight”: 2
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “1”,
         “scaleDenominator”: 69885283.0035897195339,
         “topLeftCorner”:
         [
           -180,
           -90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 8,
         “matrixHeight”: 4,
         “variableMatrixWidth”:
         [
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 0,
              “maxTileRow”: 0
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 3,
              “maxTileRow”: 3
           }
         ]
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “2”,
         “scaleDenominator”: 34942641.501794859767,
         “topLeftCorner”:
         [
           -180,
           -90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 16,
         “matrixHeight”: 8,
         “variableMatrixWidth”:
         [
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 0,
              “maxTileRow”: 0
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 1,
              “maxTileRow”: 1
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 6,
              “maxTileRow”: 6
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 7,
              “maxTileRow”: 7
           }
         ]
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “3”,
         “scaleDenominator”: 17471320.7508974298835,
         “topLeftCorner”:
         [
           -180,
           -90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 32,
         “matrixHeight”: 16,
         “variableMatrixWidth”:
         [
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 8,
              “minTileRow”: 0,
              “maxTileRow”: 0
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 1,
              “maxTileRow”: 1
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 2,
              “maxTileRow”: 3
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 12,
              “maxTileRow”: 13
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 14,
              “maxTileRow”: 14
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 8,
              “minTileRow”: 15,
              “maxTileRow”: 15
           }
         ]
      },
      {
         “type”: “TileMatrixType”,
         “identifier”: “4”,
         “scaleDenominator”: 8735660.3754487149417,
         “topLeftCorner”:
         [
           -180,
           -90
         ],
         “tileWidth”: 256,
         “tileHeight”: 256,
         “matrixWidth”: 64,
         “matrixHeight”: 32,
         “variableMatrixWidth”:
         [
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 16,
              “minTileRow”: 0,
              “maxTileRow”: 0
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 8,
              “minTileRow”: 1,
              “maxTileRow”: 1
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 2,
              “maxTileRow”: 3
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 4,
              “maxTileRow”: 7
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 2,
              “minTileRow”: 24,
              “maxTileRow”: 27
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 4,
              “minTileRow”: 28,
              “maxTileRow”: 29
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 8,
              “minTileRow”: 30,
              “maxTileRow”: 30
           },
           {
              “type”: “VariableMatrixWidthType”,
              “coalesce”: 16,
              “minTileRow”: 31,
              “maxTileRow”: 31
           }
         ]
      }
   ] 
}


 

 

Annex I            Pseudocode (Informative)

This informative Annex provides pseudocode that illustrates how to get the tiles that cover a bounding box rectangle and how to get the CRS coordinates that bound a tile.

I.1       From BBOX to tile indices

The following fragment of pseudocode could be used to convert from a desired bounding box (bBoxMinX, bBoxMinY, bBoxMaxX, bBoxMaxY) in CRS coordinates to a range of tile set indices. This pseudocode uses the same notation that subclause 6.1.1 uses. In this pseudocode it is assumed that bBoxMinX, bBoxMinY, bBoxMaxX, bBoxMaxY, tileMatrixMinX, tileMatrixMinY, tileMatrixMinY, tileMatrixMaxY, tileSpanX and tileSpanY are floating point variables (IEEE-754) that have accuracy issues derived from the finite precision of the representation. These accuracy issues could be amplified in a typical floor() rounding down function that could return a value ±1 than that expected. To overcome this issue this code uses a small value (epsilon) added or subtracted in a place that is not affected by CRS coordinate precision.


// to compensate for floating point computation inaccuracies
epsilon = 1e-6
 
tileMinCol = floor((bBoxMinX - tileMatrixMinX) / tileSpanX + epsilon)
tileMaxCol = floor((bBoxMaxX - tileMatrixMinX) / tileSpanX - epsilon)
tileMinRow = floor((tileMatrixMaxY - bBoxMaxY) / tileSpanY + epsilon)
tileMaxRow = floor((tileMatrixMaxY - bBoxMinY) / tileSpanY - epsilon)
 
// to avoid requesting out-of-range tiles
if (tileMinCol < 0) tileMinCol = 0
if (tileMaxCol >= matrixWidth) tileMaxCol = matrixWidth-1
if (tileMinRow < 0) tileMinRow = 0
if (tileMaxRow >= matrixHeight) tileMaxRow = matrixHeight-1


 

To fetch all the tiles that cover this bounding box, a client would scan through tileMinCol to tileMaxCol and tileMinRow to tileMaxRow, all inclusive. A total of (tileMaxCol- tileMinCol+1) × (tileMaxRow- tileMinRow+1) will be fetched.

I.2       From tile indices to BBOX

The following pseudocode could be used to convert from a pair of tile indices (tileCol, tileRow) to the bounding box (in CRS coordinates) of this tile defined by the upper-left corner (leftX, upperY) of the tile:


leftX = tileCol * tileSpanX + tileMatrixMinX
upperY = tileMatrixMaxY - tileRow * tileSpanY
 
and the lower-right corner (rightX, lowerY) of the tile:
rightX = (tileCol+1) * tileSpanX + tileMatrixMinX
lowerY = tileMatrixMaxY – (tileRow+1) * tileSpanY


 

 

Annex J: Revision history

 

Date Release Author Paragraph modified Description

2017-08-04

v0.1

Joan Masó

All

Initial draft

2018-06-07

v0.7

Joan Masó

All

Document ready for the RFC period. http://www.opengeospatial.org/standards/requests/169

2019-02-07

v0.14

Joan Masó

All

Comments accepted introduced. Document sent to the TC for final approval

2019-02-28

v0.15

Joan Masó

Section 4 and Annex D

Tiling scheme and tile set concept added. EPSG:32661 and 32662 replaced by EPSG:5041 and 5042 respectively

 

 

Annex K: Bibliography

Craig Rollins and Mike Paniccia National Geospatial-Intelligence Agency ESRI Users Conference, July 22, 2015. https://www.slideshare.net/NGA_GEOINT/ngas-position-on-webmercator

Dengler, Klaus und Heinen, Torsten und Huber, Albert und Molch, Katrin und Mikusch, Eberhard (2013) The EOC Geoservice: Standardized Access to Earth Observation Data Sets and Value Added Products. PV 2013, 4.-6.Nov. 2013, Frascati, Italien. http://elib.dlr.de/86351

DLR Geospatial Web Services Lists of services and their current status. https://geoservice.dlr.de/web/services#tilecache

Digital Globe Web Map Tile Service Developer Guide. Cloud Services | August 2013. https://dg-cms-uploads-production.s3.amazonaws.com/uploads/document/file/174/DGCS_DeveloperGuide_WMTS.pdf

Emmanuel Stefanakis. Web Mercator Projection & Raster Tile Maps. Two cornerstones of Online Map Service Providers. Annual Conference – 2017 – Ottawa, May 31- June 2, 2017. http://www2.unb.ca/~estef/talks/CCA2017_Technical_Session_Stefanakis.pdf

Map projections: A working manual. Professional Paper 1395. By:John P. Snyder. https://pubs.usgs.gov/pp/1395/report.pdf

MBTiles Specification. https://github.com/mapbox/mbtiles-spec

NGA.SIG.0011_1.0_WEBMERC, National Geospatial-Intelligence Agency (NGA) Standardization Document. Implementation Practice Web Mercator Map Projection. https://nsgreg.nga.mil/doc/view?i=4105

NGA.SIG.0012_2.0.0_UTMUPS, The Universal Grids and the Transverse Mercator and Polar Stereographic Map Projections, Version 2.0.0, 25 March 2014. https://nsgreg.nga.mil/doc/view?i=4106

NGA.SIG.0014_1.0_PROJRAS, National Geospatial-Intelligence Agency (NGA) Map Projections for Tiled Raster Graphics, V1.0, 24 April 2015 https://nsgreg.nga.mil/doc/view?i=1810

NGA.SIG.0014_1.0_PROJRAS, UPS-Amendment, Map Projections for Tiled Raster Graphics Amendment for Universal Polar Stereographic, 2016-06-03, Version 0.1

NGA.SIG.0014_1.0_PROJRAS, Mercator-Addendum, Map Projections for Tiled Raster Graphics Addendum for the Mercator Projection, 2016-05-17, Version 0.2

DGIWG 124 Defence Profile of OGC’s Web Map Tile Service 1.0, 17 October 2017. https://portal.dgiwg.org/files/?artifact_id=68271&format=pdf

OGC 05-077r4 Symbology Encoding (SE) Implementation Specification, version 1.1.0. https://portal.ogc.org/files/16700

OGC 06-042 Web Map Service (WMS), version 1.3.0. https://portal.ogc.org/files/14416

OGC 07-036 Geography Markup Language (GML) Encoding Standard, version 3.2.1. https://portal.ogc.org/files/20509

OGC 07-057r7 Web Map Tile Service (WMTS), version 1.0. https://portal.ogc.org/files/35326

OGC 13-082r2 Web Map Tile Service (WMTS) Simple Profile, version 1.0. https://docs.ogc.org/is/13-082r2/13-082r2.html

 



[1] www.ogc.org/compliance