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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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: |
|
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.
| 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.
| CRS |
|---|
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.
| 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.
| 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.
| 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).
|
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 |
|
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.
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.|
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.
(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).
|
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).
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.
|
##: 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.
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.
|
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.
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.
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.
|
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.
D.7 European ETRS89 LAEA Quad TileMatrixSet definition (http://www.opengis.net/def/tilematrixset/OGC/1.0/EuropeanETRS89_LAEAQuad)
|
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)
|
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