morecantile 3.2.5__tar.gz → 4.0.0a0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {morecantile-3.2.5 → morecantile-4.0.0a0}/.bumpversion.cfg +1 -1
  2. morecantile-4.0.0a0/.pre-commit-config.yaml +34 -0
  3. {morecantile-3.2.5 → morecantile-4.0.0a0}/PKG-INFO +60 -27
  4. {morecantile-3.2.5 → morecantile-4.0.0a0}/README.md +57 -26
  5. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/__init__.py +1 -1
  6. morecantile-4.0.0a0/morecantile/data/CanadianNAD83_LCC.json +270 -0
  7. morecantile-4.0.0a0/morecantile/data/EuropeanETRS89_LAEAQuad.json +170 -0
  8. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/data/LINZAntarticaMapTilegrid.json +64 -61
  9. morecantile-4.0.0a0/morecantile/data/NZTM2000Quad.json +298 -0
  10. morecantile-4.0.0a0/morecantile/data/UPSAntarcticWGS84Quad.json +260 -0
  11. morecantile-4.0.0a0/morecantile/data/UPSArcticWGS84Quad.json +260 -0
  12. morecantile-4.0.0a0/morecantile/data/UTM31WGS84Quad.json +250 -0
  13. morecantile-4.0.0a0/morecantile/data/WGS1984Quad.json +325 -0
  14. morecantile-4.0.0a0/morecantile/data/WebMercatorQuad.json +261 -0
  15. morecantile-4.0.0a0/morecantile/data/WorldCRS84Quad.json +250 -0
  16. morecantile-4.0.0a0/morecantile/data/WorldMercatorWGS84Quad.json +261 -0
  17. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/defaults.py +11 -13
  18. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/errors.py +4 -0
  19. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/models.py +299 -186
  20. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/scripts/cli.py +5 -5
  21. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/utils.py +17 -5
  22. {morecantile-3.2.5 → morecantile-4.0.0a0}/pyproject.toml +28 -4
  23. morecantile-3.2.5/.flake8 +0 -5
  24. morecantile-3.2.5/.pre-commit-config.yaml +0 -32
  25. morecantile-3.2.5/morecantile/data/CanadianNAD83_LCC.json +0 -358
  26. morecantile-3.2.5/morecantile/data/EuropeanETRS89_LAEAQuad.json +0 -345
  27. morecantile-3.2.5/morecantile/data/NZTM2000.json +0 -242
  28. morecantile-3.2.5/morecantile/data/NZTM2000Quad.json +0 -307
  29. morecantile-3.2.5/morecantile/data/UPSAntarcticWGS84Quad.json +0 -345
  30. morecantile-3.2.5/morecantile/data/UPSArcticWGS84Quad.json +0 -345
  31. morecantile-3.2.5/morecantile/data/UTM31WGS84Quad.json +0 -332
  32. morecantile-3.2.5/morecantile/data/WGS1984Quad.json +0 -255
  33. morecantile-3.2.5/morecantile/data/WebMercatorQuad.json +0 -346
  34. morecantile-3.2.5/morecantile/data/WorldCRS84Quad.json +0 -255
  35. morecantile-3.2.5/morecantile/data/WorldMercatorWGS84Quad.json +0 -346
  36. morecantile-3.2.5/setup.py +0 -31
  37. {morecantile-3.2.5 → morecantile-4.0.0a0}/.gitignore +0 -0
  38. {morecantile-3.2.5 → morecantile-4.0.0a0}/LICENSE +0 -0
  39. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/commons.py +0 -0
  40. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/data/README.md +0 -0
  41. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/py.typed +0 -0
  42. {morecantile-3.2.5 → morecantile-4.0.0a0}/morecantile/scripts/__init__.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 3.2.5
2
+ current_version = 4.0.0a0
3
3
  commit = True
4
4
  tag = True
5
5
  tag_name = {new_version}
@@ -0,0 +1,34 @@
1
+ repos:
2
+ - repo: https://github.com/abravalheri/validate-pyproject
3
+ rev: v0.12.1
4
+ hooks:
5
+ - id: validate-pyproject
6
+
7
+ - repo: https://github.com/psf/black
8
+ rev: 22.12.0
9
+ hooks:
10
+ - id: black
11
+ language_version: python
12
+
13
+ - repo: https://github.com/PyCQA/isort
14
+ rev: 5.12.0
15
+ hooks:
16
+ - id: isort
17
+ language_version: python
18
+
19
+ - repo: https://github.com/charliermarsh/ruff-pre-commit
20
+ rev: v0.0.238
21
+ hooks:
22
+ - id: ruff
23
+ args: ["--fix"]
24
+
25
+ - repo: https://github.com/pre-commit/mirrors-mypy
26
+ rev: v0.991
27
+ hooks:
28
+ - id: mypy
29
+ language_version: python
30
+ # No reason to run if only tests have changed. They intentionally break typing.
31
+ exclude: tests/.*
32
+ additional_dependencies:
33
+ - types-attrs
34
+ - types-cachetools
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: morecantile
3
- Version: 3.2.5
3
+ Version: 4.0.0a0
4
4
  Summary: Construct and use map tile grids (a.k.a TileMatrixSet / TMS).
5
5
  Keywords: GIS,TMS,TileMatrixSet,Map Tile
6
6
  Author-email: Vincent Sarago <vincent@developmentseed.com>
@@ -17,6 +17,7 @@ Classifier: Topic :: Scientific/Engineering :: GIS
17
17
  Requires-Dist: attrs
18
18
  Requires-Dist: pyproj~=3.1
19
19
  Requires-Dist: pydantic
20
+ Requires-Dist: cachetools
20
21
  Requires-Dist: pre-commit ; extra == "dev"
21
22
  Requires-Dist: mkdocs ; extra == "docs"
22
23
  Requires-Dist: mkdocs-material ; extra == "docs"
@@ -25,6 +26,7 @@ Requires-Dist: rasterio>=1.2.1 ; extra == "rasterio"
25
26
  Requires-Dist: mercantile ; extra == "test"
26
27
  Requires-Dist: pytest ; extra == "test"
27
28
  Requires-Dist: pytest-cov ; extra == "test"
29
+ Requires-Dist: rasterio>=1.2.1 ; extra == "test"
28
30
  Project-URL: Documentation, https://developmentseed.org/morecantile/
29
31
  Project-URL: Source, https://github.com/developmentseed/morecantile
30
32
  Provides-Extra: dev
@@ -34,26 +36,10 @@ Provides-Extra: test
34
36
 
35
37
  # Morecantile
36
38
 
37
- ```
38
- +-------------+-------------+ ymax
39
- | | |
40
- | x: 0 | x: 1 |
41
- | y: 0 | y: 0 |
42
- | z: 1 | z: 1 |
43
- | | |
44
- +-------------+-------------+
45
- | | |
46
- | x: 0 | x: 1 |
47
- | y: 1 | y: 1 |
48
- | z: 1 | z: 1 |
49
- | | |
50
- +-------------+-------------+ ymin
51
-
52
- xmin xmax
53
- ```
54
-
55
39
  <p align="center">
56
- <em>Construct and use map tile grids (a.k.a TileMatrixSet / TMS).</em>
40
+ <img height="500" src="https://github.com/developmentseed/morecantile/assets/10407788/a1523c6d-e255-4dc6-a201-20029715858a"/>
41
+ <p align="center">Construct and use map tile grids (a.k.a TileMatrixSet / TMS).</p>
42
+
57
43
  </p>
58
44
  <p align="center">
59
45
  <a href="https://github.com/developmentseed/morecantile/actions?query=workflow%3ACI" target="_blank">
@@ -83,27 +69,70 @@ xmin xmax
83
69
 
84
70
  Morecantile is like [mercantile](https://github.com/mapbox/mercantile) (the best tool to work with Web Mercator tile indexes), but with support for other TileMatrixSet grids.
85
71
 
86
- **Morecantile** follows the **OGC Two Dimensional Tile Matrix Set** specification found in [http://docs.opengeospatial.org/is/17-083r2/17-083r2.html](http://docs.opengeospatial.org/is/17-083r2/17-083r2.html)
72
+ **Morecantile** follows the **OGC Two Dimensional Tile Matrix Set** specification **2.0** found in [https://docs.ogc.org/is/17-083r4/17-083r4.html](https://docs.ogc.org/is/17-083r4/17-083r4.html)
73
+
74
+ | Morecantile Version | OGC Specification Version | Link
75
+ | ------------------- | ------------------------- |---------
76
+ | 4.0 | 2.0 | https://docs.ogc.org/is/17-083r4/17-083r4.html
77
+ | 3.0 and earlier | 1.0 | http://docs.opengeospatial.org/is/17-083r2/17-083r2.html
87
78
 
88
79
  **Note**: Variable matrix width tile set are not supported.
89
80
 
90
81
  ## Install
91
82
 
92
83
  ```bash
93
- $ pip install -U pip
94
- $ pip install morecantile
84
+ $ python -m pip install -U pip
85
+ $ python -m pip install morecantile
95
86
 
96
87
  # Or install from source:
88
+ $ python -m pip install -U pip
89
+ $ python -m pip install git+https://github.com/developmentseed/morecantile.git
90
+ ```
97
91
 
98
- $ pip install git+https://github.com/developmentseed/morecantile.git
92
+ ## Usage
93
+
94
+ ```python
95
+ import morecantile
96
+
97
+ tms = morecantile.tms.get("WebMercatorQuad")
98
+
99
+ # Get TMS bounding box
100
+ print(tms.xy_bbox)
101
+ >>> BoundingBox(
102
+ left=-20037508.342789244,
103
+ bottom=-20037508.34278919,
104
+ right=20037508.34278919,
105
+ top=20037508.342789244,
106
+ )
107
+
108
+ # Get the bounds for tile Z=4, X=10, Y=10 in the TMS's CRS (e.g epsg:3857)
109
+ print(tms.xy_bounds(morecantile.Tile(10, 10, 4)))
110
+ >>> BoundingBox(
111
+ left=5009377.085697308,
112
+ bottom=-7514065.628545959,
113
+ right=7514065.628545959,
114
+ top=-5009377.085697308,
115
+ )
116
+
117
+ # Get the bounds for tile Z=4, X=10, Y=10 in Geographic CRS (e.g epsg:4326)
118
+ print(tms.bounds(morecantile.Tile(10, 10, 4)))
119
+ >>> BoundingBox(
120
+ left=44.999999999999964,
121
+ bottom=-55.776573018667634,
122
+ right=67.4999999999999,
123
+ top=-40.97989806962009,
124
+ )
99
125
  ```
100
126
 
127
+ More info can be found at https://developmentseed.org/morecantile/usage/
128
+
101
129
  ### Defaults Grids
102
130
 
131
+ `morecantile` provides a set of default TMS grids:
132
+
103
133
  - **CanadianNAD83_LCC**: Lambert conformal conic NAD83 for Canada - EPSG:3978
104
134
  - **EuropeanETRS89_LAEAQuad**: ETRS89-extended / LAEA Europe - EPGS:3035
105
135
  - **LINZAntarticaMapTilegrid**: LINZ Antarctic Map Tile Grid (Ross Sea Region) - EPSG:5482
106
- - **NZTM2000**: LINZ NZTM2000 Map Tile Grid - EPSG:2193
107
136
  - **NZTM2000Quad**: LINZ NZTM2000 Map Tile Grid - EPSG:2193
108
137
  - **UPSAntarcticWGS84Quad**: Universal Polar Stereographic WGS 84 Quad for Antarctic - EPSG:5042
109
138
  - **UPSArcticWGS84Quad**: Universal Polar Stereographic WGS 84 Quad for Arctic - EPSG:5041
@@ -113,12 +142,16 @@ $ pip install git+https://github.com/developmentseed/morecantile.git
113
142
  - **WorldCRS84Quad**: CRS84 for the World
114
143
  - **WorldMercatorWGS84Quad**: Elliptical Mercator projection - EPGS:3395
115
144
 
116
- ref: http://schemas.opengis.net/tms/1.0/json/examples/
145
+ ref: https://schemas.opengis.net/tms/2.0/json/examples/tilematrixset/
117
146
 
118
147
  ## Implementations
119
148
 
120
149
  - [rio-tiler](https://github.com/cogeotiff/rio-tiler): Create tile from raster using Morecantile TMS.
121
- - [timvt](https://github.com/developmentseed/timvt): A lightweight PostGIS based dynamic vector tile server.
150
+ - [titiler](https://github.com/developmentseed/titiler): A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
151
+ - [tipg](https://github.com/developmentseed/tipg): OGC Features and Tiles API.
152
+ - [planetcantile](https://github.com/AndrewAnnex/planetcantile): Tile matrix sets for other planets.
153
+ - [supermorecado](https://github.com/developmentseed/supermorecado): Extend the functionality of morecantile with additional commands.
154
+
122
155
 
123
156
  ## Changes
124
157
 
@@ -1,25 +1,9 @@
1
1
  # Morecantile
2
2
 
3
- ```
4
- +-------------+-------------+ ymax
5
- | | |
6
- | x: 0 | x: 1 |
7
- | y: 0 | y: 0 |
8
- | z: 1 | z: 1 |
9
- | | |
10
- +-------------+-------------+
11
- | | |
12
- | x: 0 | x: 1 |
13
- | y: 1 | y: 1 |
14
- | z: 1 | z: 1 |
15
- | | |
16
- +-------------+-------------+ ymin
17
-
18
- xmin xmax
19
- ```
20
-
21
3
  <p align="center">
22
- <em>Construct and use map tile grids (a.k.a TileMatrixSet / TMS).</em>
4
+ <img height="500" src="https://github.com/developmentseed/morecantile/assets/10407788/a1523c6d-e255-4dc6-a201-20029715858a"/>
5
+ <p align="center">Construct and use map tile grids (a.k.a TileMatrixSet / TMS).</p>
6
+
23
7
  </p>
24
8
  <p align="center">
25
9
  <a href="https://github.com/developmentseed/morecantile/actions?query=workflow%3ACI" target="_blank">
@@ -49,27 +33,70 @@ xmin xmax
49
33
 
50
34
  Morecantile is like [mercantile](https://github.com/mapbox/mercantile) (the best tool to work with Web Mercator tile indexes), but with support for other TileMatrixSet grids.
51
35
 
52
- **Morecantile** follows the **OGC Two Dimensional Tile Matrix Set** specification found in [http://docs.opengeospatial.org/is/17-083r2/17-083r2.html](http://docs.opengeospatial.org/is/17-083r2/17-083r2.html)
36
+ **Morecantile** follows the **OGC Two Dimensional Tile Matrix Set** specification **2.0** found in [https://docs.ogc.org/is/17-083r4/17-083r4.html](https://docs.ogc.org/is/17-083r4/17-083r4.html)
37
+
38
+ | Morecantile Version | OGC Specification Version | Link
39
+ | ------------------- | ------------------------- |---------
40
+ | 4.0 | 2.0 | https://docs.ogc.org/is/17-083r4/17-083r4.html
41
+ | 3.0 and earlier | 1.0 | http://docs.opengeospatial.org/is/17-083r2/17-083r2.html
53
42
 
54
43
  **Note**: Variable matrix width tile set are not supported.
55
44
 
56
45
  ## Install
57
46
 
58
47
  ```bash
59
- $ pip install -U pip
60
- $ pip install morecantile
48
+ $ python -m pip install -U pip
49
+ $ python -m pip install morecantile
61
50
 
62
51
  # Or install from source:
52
+ $ python -m pip install -U pip
53
+ $ python -m pip install git+https://github.com/developmentseed/morecantile.git
54
+ ```
63
55
 
64
- $ pip install git+https://github.com/developmentseed/morecantile.git
56
+ ## Usage
57
+
58
+ ```python
59
+ import morecantile
60
+
61
+ tms = morecantile.tms.get("WebMercatorQuad")
62
+
63
+ # Get TMS bounding box
64
+ print(tms.xy_bbox)
65
+ >>> BoundingBox(
66
+ left=-20037508.342789244,
67
+ bottom=-20037508.34278919,
68
+ right=20037508.34278919,
69
+ top=20037508.342789244,
70
+ )
71
+
72
+ # Get the bounds for tile Z=4, X=10, Y=10 in the TMS's CRS (e.g epsg:3857)
73
+ print(tms.xy_bounds(morecantile.Tile(10, 10, 4)))
74
+ >>> BoundingBox(
75
+ left=5009377.085697308,
76
+ bottom=-7514065.628545959,
77
+ right=7514065.628545959,
78
+ top=-5009377.085697308,
79
+ )
80
+
81
+ # Get the bounds for tile Z=4, X=10, Y=10 in Geographic CRS (e.g epsg:4326)
82
+ print(tms.bounds(morecantile.Tile(10, 10, 4)))
83
+ >>> BoundingBox(
84
+ left=44.999999999999964,
85
+ bottom=-55.776573018667634,
86
+ right=67.4999999999999,
87
+ top=-40.97989806962009,
88
+ )
65
89
  ```
66
90
 
91
+ More info can be found at https://developmentseed.org/morecantile/usage/
92
+
67
93
  ### Defaults Grids
68
94
 
95
+ `morecantile` provides a set of default TMS grids:
96
+
69
97
  - **CanadianNAD83_LCC**: Lambert conformal conic NAD83 for Canada - EPSG:3978
70
98
  - **EuropeanETRS89_LAEAQuad**: ETRS89-extended / LAEA Europe - EPGS:3035
71
99
  - **LINZAntarticaMapTilegrid**: LINZ Antarctic Map Tile Grid (Ross Sea Region) - EPSG:5482
72
- - **NZTM2000**: LINZ NZTM2000 Map Tile Grid - EPSG:2193
73
100
  - **NZTM2000Quad**: LINZ NZTM2000 Map Tile Grid - EPSG:2193
74
101
  - **UPSAntarcticWGS84Quad**: Universal Polar Stereographic WGS 84 Quad for Antarctic - EPSG:5042
75
102
  - **UPSArcticWGS84Quad**: Universal Polar Stereographic WGS 84 Quad for Arctic - EPSG:5041
@@ -79,12 +106,16 @@ $ pip install git+https://github.com/developmentseed/morecantile.git
79
106
  - **WorldCRS84Quad**: CRS84 for the World
80
107
  - **WorldMercatorWGS84Quad**: Elliptical Mercator projection - EPGS:3395
81
108
 
82
- ref: http://schemas.opengis.net/tms/1.0/json/examples/
109
+ ref: https://schemas.opengis.net/tms/2.0/json/examples/tilematrixset/
83
110
 
84
111
  ## Implementations
85
112
 
86
113
  - [rio-tiler](https://github.com/cogeotiff/rio-tiler): Create tile from raster using Morecantile TMS.
87
- - [timvt](https://github.com/developmentseed/timvt): A lightweight PostGIS based dynamic vector tile server.
114
+ - [titiler](https://github.com/developmentseed/titiler): A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
115
+ - [tipg](https://github.com/developmentseed/tipg): OGC Features and Tiles API.
116
+ - [planetcantile](https://github.com/AndrewAnnex/planetcantile): Tile matrix sets for other planets.
117
+ - [supermorecado](https://github.com/developmentseed/supermorecado): Extend the functionality of morecantile with additional commands.
118
+
88
119
 
89
120
  ## Changes
90
121
 
@@ -8,7 +8,7 @@ Refs:
8
8
 
9
9
  """
10
10
 
11
- __version__ = "3.2.5"
11
+ __version__ = "4.0.0a0"
12
12
 
13
13
  from .commons import BoundingBox, Coords, Tile # noqa
14
14
  from .defaults import TileMatrixSets, tms # noqa
@@ -0,0 +1,270 @@
1
+ {
2
+ "id": "CanadianNAD83_LCC",
3
+ "title": "Lambert conformal conic NAD83 for Canada",
4
+ "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/CanadianNAD83_LCC",
5
+ "crs": "http://www.opengis.net/def/crs/EPSG/0/3978",
6
+ "orderedAxes": ["E", "N"],
7
+ "tileMatrices":
8
+ [
9
+ {
10
+ "id": "0",
11
+ "scaleDenominator": 145000000,
12
+ "cellSize": 38364.6600626534,
13
+ "pointOfOrigin": [-34655800,39310000],
14
+ "tileWidth": 256,
15
+ "tileHeight": 256,
16
+ "matrixWidth": 5,
17
+ "matrixHeight": 5
18
+ },
19
+ {
20
+ "id": "1",
21
+ "scaleDenominator": 85000000,
22
+ "cellSize": 22489.6283125899,
23
+ "pointOfOrigin": [-34655800,39310000],
24
+ "tileWidth": 256,
25
+ "tileHeight": 256,
26
+ "matrixWidth": 8,
27
+ "matrixHeight": 8
28
+ },
29
+ {
30
+ "id": "2",
31
+ "scaleDenominator": 50000000,
32
+ "cellSize": 13229.1931250529,
33
+ "pointOfOrigin": [-34655800,39310000],
34
+ "tileWidth": 256,
35
+ "tileHeight": 256,
36
+ "matrixWidth": 13,
37
+ "matrixHeight": 14
38
+ },
39
+ {
40
+ "id": "3",
41
+ "scaleDenominator": 30000000,
42
+ "cellSize": 7937.51587503175,
43
+ "pointOfOrigin": [-34655800,39310000],
44
+ "tileWidth": 256,
45
+ "tileHeight": 256,
46
+ "matrixWidth": 21,
47
+ "matrixHeight": 22
48
+ },
49
+ {
50
+ "id": "4",
51
+ "scaleDenominator": 17500000,
52
+ "cellSize": 4630.21759376852,
53
+ "pointOfOrigin": [-34655800,39310000],
54
+ "tileWidth": 256,
55
+ "tileHeight": 256,
56
+ "matrixWidth": 36,
57
+ "matrixHeight": 38
58
+ },
59
+ {
60
+ "id": "5",
61
+ "scaleDenominator": 10000000,
62
+ "cellSize": 2645.83862501058,
63
+ "pointOfOrigin": [-34655800,39310000],
64
+ "tileWidth": 256,
65
+ "tileHeight": 256,
66
+ "matrixWidth": 62,
67
+ "matrixHeight": 66
68
+ },
69
+ {
70
+ "id": "6",
71
+ "scaleDenominator": 6000000,
72
+ "cellSize": 1587.50317500635,
73
+ "pointOfOrigin": [-34655800,39310000],
74
+ "tileWidth": 256,
75
+ "tileHeight": 256,
76
+ "matrixWidth": 103,
77
+ "matrixHeight": 110
78
+ },
79
+ {
80
+ "id": "7",
81
+ "scaleDenominator": 3500000,
82
+ "cellSize": 926.043518753704,
83
+ "pointOfOrigin": [-34655800,39310000],
84
+ "tileWidth": 256,
85
+ "tileHeight": 256,
86
+ "matrixWidth": 177,
87
+ "matrixHeight": 188
88
+ },
89
+ {
90
+ "id": "8",
91
+ "scaleDenominator": 2000000,
92
+ "cellSize": 529.167725002116,
93
+ "pointOfOrigin": [-34655800,39310000],
94
+ "tileWidth": 256,
95
+ "tileHeight": 256,
96
+ "matrixWidth": 309,
97
+ "matrixHeight": 329
98
+ },
99
+ {
100
+ "id": "9",
101
+ "scaleDenominator": 1200000,
102
+ "cellSize": 317.50063500127,
103
+ "pointOfOrigin": [-34655800,39310000],
104
+ "tileWidth": 256,
105
+ "tileHeight": 256,
106
+ "matrixWidth": 515,
107
+ "matrixHeight": 548
108
+ },
109
+ {
110
+ "id": "10",
111
+ "scaleDenominator": 700000,
112
+ "cellSize": 185.20870375074,
113
+ "pointOfOrigin": [-34655800,39310000],
114
+ "tileWidth": 256,
115
+ "tileHeight": 256,
116
+ "matrixWidth": 882,
117
+ "matrixHeight": 938
118
+ },
119
+ {
120
+ "id": "11",
121
+ "scaleDenominator": 420000,
122
+ "cellSize": 111.125222250444,
123
+ "pointOfOrigin": [-34655800,39310000],
124
+ "tileWidth": 256,
125
+ "tileHeight": 256,
126
+ "matrixWidth": 1470,
127
+ "matrixHeight": 1563
128
+ },
129
+ {
130
+ "id": "12",
131
+ "scaleDenominator": 250000,
132
+ "cellSize": 66.1459656252646,
133
+ "pointOfOrigin": [-34655800,39310000],
134
+ "tileWidth": 256,
135
+ "tileHeight": 256,
136
+ "matrixWidth": 2469,
137
+ "matrixHeight": 2626
138
+ },
139
+ {
140
+ "id": "13",
141
+ "scaleDenominator": 145000,
142
+ "cellSize": 38.3646600626534,
143
+ "pointOfOrigin": [-34655800,39310000],
144
+ "tileWidth": 256,
145
+ "tileHeight": 256,
146
+ "matrixWidth": 4257,
147
+ "matrixHeight": 4528
148
+ },
149
+ {
150
+ "id": "14",
151
+ "scaleDenominator": 85000,
152
+ "cellSize": 22.4896283125899,
153
+ "pointOfOrigin": [-34655800,39310000],
154
+ "tileWidth": 256,
155
+ "tileHeight": 256,
156
+ "matrixWidth": 7262,
157
+ "matrixHeight": 7723
158
+ },
159
+ {
160
+ "id": "15",
161
+ "scaleDenominator": 50000,
162
+ "cellSize": 13.2291931250529,
163
+ "pointOfOrigin": [-34655800,39310000],
164
+ "tileWidth": 256,
165
+ "tileHeight": 256,
166
+ "matrixWidth": 12344,
167
+ "matrixHeight": 13130
168
+ },
169
+ {
170
+ "id": "16",
171
+ "scaleDenominator": 30000,
172
+ "cellSize": 7.93751587503175,
173
+ "pointOfOrigin": [-34655800,39310000],
174
+ "tileWidth": 256,
175
+ "tileHeight": 256,
176
+ "matrixWidth": 20574,
177
+ "matrixHeight": 21882
178
+ },
179
+ {
180
+ "id": "17",
181
+ "scaleDenominator": 17500,
182
+ "cellSize": 4.63021759376852,
183
+ "pointOfOrigin": [-34655800,39310000],
184
+ "tileWidth": 256,
185
+ "tileHeight": 256,
186
+ "matrixWidth": 35269,
187
+ "matrixHeight": 37512
188
+ },
189
+ {
190
+ "id": "18",
191
+ "scaleDenominator": 10000,
192
+ "cellSize": 2.64583862501058,
193
+ "pointOfOrigin": [-34655800,39310000],
194
+ "tileWidth": 256,
195
+ "tileHeight": 256,
196
+ "matrixWidth": 61720,
197
+ "matrixHeight": 65646
198
+ },
199
+ {
200
+ "id": "19",
201
+ "scaleDenominator": 6000,
202
+ "cellSize": 1.58750317500635,
203
+ "pointOfOrigin": [-34655800,39310000],
204
+ "tileWidth": 256,
205
+ "tileHeight": 256,
206
+ "matrixWidth": 102866,
207
+ "matrixHeight": 109409
208
+ },
209
+ {
210
+ "id": "20",
211
+ "scaleDenominator": 3500,
212
+ "cellSize": 0.926043518753704,
213
+ "pointOfOrigin": [-34655800,39310000],
214
+ "tileWidth": 256,
215
+ "tileHeight": 256,
216
+ "matrixWidth": 176341,
217
+ "matrixHeight": 187558
218
+ },
219
+ {
220
+ "id": "21",
221
+ "scaleDenominator": 2000,
222
+ "cellSize": 0.529167725002116,
223
+ "pointOfOrigin": [-34655800,39310000],
224
+ "tileWidth": 256,
225
+ "tileHeight": 256,
226
+ "matrixWidth": 308596,
227
+ "matrixHeight": 328227
228
+ },
229
+ {
230
+ "id": "22",
231
+ "scaleDenominator": 1200,
232
+ "cellSize": 0.31750063500127,
233
+ "pointOfOrigin": [-34655800,39310000],
234
+ "tileWidth": 256,
235
+ "tileHeight": 256,
236
+ "matrixWidth": 514327,
237
+ "matrixHeight": 547044
238
+ },
239
+ {
240
+ "id": "23",
241
+ "scaleDenominator": 700,
242
+ "cellSize": 0.18520870375074,
243
+ "pointOfOrigin": [-34655800,39310000],
244
+ "tileWidth": 256,
245
+ "tileHeight": 256,
246
+ "matrixWidth": 881703,
247
+ "matrixHeight": 937790
248
+ },
249
+ {
250
+ "id": "24",
251
+ "scaleDenominator": 420,
252
+ "cellSize": 0.111125222250444,
253
+ "pointOfOrigin": [-34655800,39310000],
254
+ "tileWidth": 256,
255
+ "tileHeight": 256,
256
+ "matrixWidth": 1469505,
257
+ "matrixHeight": 1562983
258
+ },
259
+ {
260
+ "id": "25",
261
+ "scaleDenominator": 250,
262
+ "cellSize": 0.0661459656252645,
263
+ "pointOfOrigin": [-34655800,39310000],
264
+ "tileWidth": 256,
265
+ "tileHeight": 256,
266
+ "matrixWidth": 2468768,
267
+ "matrixHeight": 2625811
268
+ }
269
+ ]
270
+ }