Skip to content

Commit 33c980e

Browse files
add default tms (#556)
1 parent ec8486f commit 33c980e

File tree

12 files changed

+50
-35
lines changed

12 files changed

+50
-35
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Release Notes
22

3+
## 0.9.0 (2022-12-05)
4+
5+
### titiler.core
6+
7+
* add `default_tms` in `BaseTilerFactory` to set the default TMS identifier supported by the tiler (e.g `WebMercatorQuad`)
8+
39
## 0.8.1 (2022-12-01)
410

511
### titiler.core

docs/src/advanced/dependencies.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ Additional reader options. Defaults to `DefaultDependency` (empty).
197197

198198
##### Supported TMS
199199

200-
201200
The TMS dependency sets the available TMS for a tile endpoint.
202201

203202
```python
@@ -216,6 +215,15 @@ default_tms = TileMatrixSets({"WebMercatorQuad": tms.get("WebMercatorQuad")})
216215
tiler = TilerFactory(supported_tms=default_tms)
217216
```
218217

218+
##### Default TMS
219+
220+
Set the default's TMS Identifier (default to `WebMercatorQuad`).
221+
222+
```python
223+
# Create a Tile with it's default TMS being `WGS1984Quad`
224+
tiler = TilerFactory(default_tms="WGS1984Quad")
225+
```
226+
219227
### TilerFactory
220228

221229
The `TilerFactory` inherits dependency from `BaseTilerFactory`.

docs/src/tile_matrix_sets.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,18 @@ As one of the first requirements, we built `TiTiler` with support for serving ti
1212

1313
```python
1414
$ curl http://127.0.0.1:8000/tileMatrixSets | jq '.tileMatrixSets[] | .id'
15-
"CanadianNAD83_LCC"
16-
"EPSG3413"
17-
"EPSG6933"
18-
"EuropeanETRS89_LAEAQuad"
1915
"LINZAntarticaMapTilegrid"
16+
"EuropeanETRS89_LAEAQuad"
17+
"CanadianNAD83_LCC"
18+
"UPSArcticWGS84Quad"
2019
"NZTM2000"
2120
"NZTM2000Quad"
22-
"UPSAntarcticWGS84Quad"
23-
"UPSArcticWGS84Quad"
2421
"UTM31WGS84Quad"
25-
"WebMercatorQuad"
26-
"WorldCRS84Quad"
22+
"UPSAntarcticWGS84Quad"
2723
"WorldMercatorWGS84Quad"
24+
"WGS1984Quad"
25+
"WorldCRS84Quad"
26+
"WebMercatorQuad"
2827
```
2928

3029
You can easily add more TileMatrixSet support, see [custom tms](advanced/customization.md#custom-tms).

setup.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ current_version = 0.8.1
33
commit = True
44
tag = True
55
tag_name = {new_version}
6-
parse =
6+
parse =
77
(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
88
((?P<pre>a|b|rc)(?P<prenum>\d+))?
9-
serialize =
9+
serialize =
1010
{major}.{minor}.{patch}{pre}{prenum}
1111
{major}.{minor}.{patch}
1212

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
with open("README.md") as f:
66
long_description = f.read()
77

8-
__version__ = "0.8.1"
8+
__version__ = "0.9.0"
99

1010
inst_reqs = [
1111
f"titiler.core=={__version__}",

src/titiler/application/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
inst_reqs = [
99
"rio-cogeo>=3.1,<4.0",
10-
"titiler.core>=0.8,<0.9",
11-
"titiler.mosaic>=0.8,<0.9",
10+
"titiler.core>=0.9,<0.10",
11+
"titiler.mosaic>=0.9,<0.10",
1212
"starlette-cramjam>=0.3,<0.4",
1313
"python-dotenv",
1414
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""titiler.application"""
22

3-
__version__ = "0.8.1"
3+
__version__ = "0.9.0"

src/titiler/core/titiler/core/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""titiler.core"""
22

3-
__version__ = "0.8.1"
3+
__version__ = "0.9.0"
44

55
from . import dependencies, errors, factory, routing # noqa
66
from .factory import ( # noqa

src/titiler/core/titiler/core/factory.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from geojson_pydantic.features import Feature, FeatureCollection
99
from geojson_pydantic.geometries import Polygon
1010
from morecantile import TileMatrixSet
11-
from morecantile import tms as default_tms
11+
from morecantile import tms as morecantile_tms
1212
from morecantile.defaults import TileMatrixSets
1313
from rio_tiler.io import BaseReader, MultiBandReader, MultiBaseReader, Reader
1414
from rio_tiler.models import BandStatistics, Bounds, Info
@@ -143,7 +143,8 @@ class BaseTilerFactory(metaclass=abc.ABCMeta):
143143
environment_dependency: Callable[..., Dict] = lambda: dict()
144144

145145
# TileMatrixSet dependency
146-
supported_tms: TileMatrixSets = default_tms
146+
supported_tms: TileMatrixSets = morecantile_tms
147+
default_tms: str = "WebMercatorQuad"
147148

148149
# Router Prefix is needed to find the path for /tile if the TilerFactory.router is mounted
149150
# with other router (multiple `.../tile` routes).
@@ -465,8 +466,8 @@ def tile(
465466
x: int = Path(..., description="TMS tiles's column"),
466467
y: int = Path(..., description="TMS tiles's row"),
467468
TileMatrixSetId: Literal[tuple(self.supported_tms.list())] = Query(
468-
"WebMercatorQuad",
469-
description="TileMatrixSet Name (default: 'WebMercatorQuad')",
469+
self.default_tms,
470+
description=f"TileMatrixSet Name (default: '{self.default_tms}')",
470471
),
471472
scale: int = Query(
472473
1, gt=0, lt=4, description="Tile size scale. 1=256x256, 2=512x512..."
@@ -549,8 +550,8 @@ def tilejson(self): # noqa: C901
549550
def tilejson(
550551
request: Request,
551552
TileMatrixSetId: Literal[tuple(self.supported_tms.list())] = Query(
552-
"WebMercatorQuad",
553-
description="TileMatrixSet Name (default: 'WebMercatorQuad')",
553+
self.default_tms,
554+
description=f"TileMatrixSet Name (default: '{self.default_tms}')",
554555
),
555556
src_path=Depends(self.path_dependency),
556557
tile_format: Optional[ImageType] = Query(
@@ -694,8 +695,8 @@ def wmts(self): # noqa: C901
694695
def wmts(
695696
request: Request,
696697
TileMatrixSetId: Literal[tuple(self.supported_tms.list())] = Query(
697-
"WebMercatorQuad",
698-
description="TileMatrixSet Name (default: 'WebMercatorQuad')",
698+
self.default_tms,
699+
description=f"TileMatrixSet Name (default: '{self.default_tms}')",
699700
),
700701
src_path=Depends(self.path_dependency),
701702
tile_format: ImageType = Query(
@@ -1457,7 +1458,7 @@ def geojson_statistics(
14571458
class TMSFactory:
14581459
"""TileMatrixSet endpoints Factory."""
14591460

1460-
supported_tms: TileMatrixSets = default_tms
1461+
supported_tms: TileMatrixSets = morecantile_tms
14611462

14621463
# FastAPI router
14631464
router: APIRouter = field(default_factory=APIRouter)

src/titiler/mosaic/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
with open("README.md") as f:
66
long_description = f.read()
77

8-
inst_reqs = ["titiler.core>=0.8,<0.9", "cogeo-mosaic>=5.0,<5.1"]
8+
inst_reqs = ["titiler.core>=0.9,<0.10", "cogeo-mosaic>=5.0,<5.1"]
99
extra_reqs = {
1010
"test": ["pytest", "pytest-cov", "pytest-asyncio", "httpx"],
1111
}

0 commit comments

Comments
 (0)