Tiler with custom TMS
Goal: add custom TMS to a tiler
requirements: titiler.core
1 - Create custom TMS and custom endpoints
"""routes.
app/routes.py
"""
from titiler.core.factory import TilerFactory, TMSFactory
from morecantile import tms, TileMatrixSet
from pyproj import CRS
# 1. Create Custom TMS
EPSG6933 = TileMatrixSet.custom(
(-17357881.81713629, -7324184.56362408, 17357881.81713629, 7324184.56362408),
CRS.from_epsg(6933),
id="EPSG6933",
matrix_scale=[1, 1],
)
# 2. Register TMS
tms = tms.register({EPSG6933.id:EPSG6933})
tms_factory = TMSFactory(supported_tms=tms)
cog_factory = TilerFactory(supported_tms=tms)
2 - Create app and register our custom endpoints
"""app.
app/main.py
"""
from titiler.core.errors import DEFAULT_STATUS_CODES, add_exception_handlers
from fastapi import FastAPI
from .routes import cog_factory, tms_factory
app = FastAPI(title="My simple app with custom TMS")
app.include_router(cog_factory.router, tags=["Cloud Optimized GeoTIFF"])
app.include_router(tms_factory.router, tags=["Tiling Schemes"])
add_exception_handlers(app, DEFAULT_STATUS_CODES)