Module titiler.mosaic.factory¶
TiTiler.mosaic Router factories.
Variables¶
MAX_THREADS
img_endpoint_params
mosaic_tms
Functions¶
PixelSelectionParams¶
def PixelSelectionParams(
pixel_selection: titiler.mosaic.resources.enums.PixelSelectionMethod = Query(first)
) -> rio_tiler.mosaic.methods.base.MosaicMethodBase
Returns the mosaic method used to combine datasets together.
Classes¶
MosaicTilerFactory¶
class MosaicTilerFactory(
reader: Type[cogeo_mosaic.backends.base.BaseBackend] = <function MosaicBackend at 0x7fb8defa7310>,
router: fastapi.routing.APIRouter = <factory>,
path_dependency: Callable[..., Any] = <function DatasetPathParams at 0x7fb8de651550>,
dataset_dependency: Type[titiler.core.dependencies.DefaultDependency] = <class 'titiler.core.dependencies.DatasetParams'>,
layer_dependency: Type[titiler.core.dependencies.DefaultDependency] = <class 'titiler.core.dependencies.BidxExprParams'>,
render_dependency: Type[titiler.core.dependencies.DefaultDependency] = <class 'titiler.core.dependencies.ImageRenderingParams'>,
colormap_dependency: Callable[..., Union[Dict[int, Tuple[int, int, int, int]], Sequence[Tuple[Tuple[Union[float, int], Union[float, int]], Tuple[int, int, int, int]]], NoneType]] = <function ColorMapParams at 0x7fb8de6514c0>,
rescale_dependency: Callable[..., Union[List[Tuple[float, ...]], NoneType]] = <function RescalingParams at 0x7fb8de6515e0>,
process_dependency: Callable[..., Union[titiler.core.algorithm.base.BaseAlgorithm, NoneType]] = <function Algorithms.dependency.<locals>.post_process at 0x7fb8de2ea820>,
reader_dependency: Type[titiler.core.dependencies.DefaultDependency] = <class 'titiler.core.dependencies.DefaultDependency'>,
environment_dependency: Callable[..., Dict] = <function BaseTilerFactory.<lambda> at 0x7fb8de2ea790>,
supported_tms: morecantile.defaults.TileMatrixSets = TileMatrixSets(tms={'WebMercatorQuad': <TileMatrixSet title='Google Maps Compatible for the World' identifier='WebMercatorQuad'>}),
default_tms: str = 'WebMercatorQuad',
router_prefix: str = '',
optional_headers: List[titiler.core.resources.enums.OptionalHeader] = <factory>,
route_dependencies: List[Tuple[List[titiler.core.routing.EndpointScope], List[fastapi.params.Depends]]] = <factory>,
extensions: List[titiler.core.factory.FactoryExtension] = <factory>,
templates: starlette.templating.Jinja2Templates = <starlette.templating.Jinja2Templates object at 0x7fb8de5ff790>,
dataset_reader: Union[Type[rio_tiler.io.base.BaseReader], Type[rio_tiler.io.base.MultiBaseReader], Type[rio_tiler.io.base.MultiBandReader]] = <class 'rio_tiler.io.rasterio.Reader'>,
backend_dependency: Type[titiler.core.dependencies.DefaultDependency] = <class 'titiler.core.dependencies.DefaultDependency'>,
pixel_selection_dependency: Callable[..., rio_tiler.mosaic.methods.base.MosaicMethodBase] = <function PixelSelectionParams at 0x7fb8defa71f0>,
add_viewer: bool = True
)
MosaicTiler Factory.
The main difference with titiler.endpoint.factory.TilerFactory is that this factory
needs the reader
to be of cogeo_mosaic.backends.BaseBackend
type (e.g MosaicBackend) and a dataset_reader
(BaseReader).
Ancestors (in MRO)¶
- titiler.core.factory.BaseTilerFactory
Class variables¶
add_viewer
backend_dependency
dataset_dependency
dataset_reader
default_tms
layer_dependency
reader_dependency
render_dependency
router_prefix
supported_tms
templates
Methods¶
add_route_dependencies¶
def add_route_dependencies(
self,
*,
scopes: List[titiler.core.routing.EndpointScope],
dependencies=typing.List[fastapi.params.Depends]
)
Add dependencies to routes.
Allows a developer to add dependencies to a route after the route has been defined.
assets¶
def assets(
self
)
Register /assets endpoint.
bounds¶
def bounds(
self
)
Register /bounds endpoint.
colormap_dependency¶
def colormap_dependency(
colormap_name: titiler.core.dependencies.ColorMapName = Query(None),
colormap: str = Query(None)
) -> Union[Dict[int, Tuple[int, int, int, int]], Sequence[Tuple[Tuple[Union[float, int], Union[float, int]], Tuple[int, int, int, int]]], NoneType]
Colormap Dependency.
environment_dependency¶
def environment_dependency(
)
info¶
def info(
self
)
Register /info endpoint
map_viewer¶
def map_viewer(
self
)
Register /map endpoint.
path_dependency¶
def path_dependency(
url: str = Query(Ellipsis)
) -> str
Create dataset path from args
pixel_selection_dependency¶
def pixel_selection_dependency(
pixel_selection: titiler.mosaic.resources.enums.PixelSelectionMethod = Query(first)
) -> rio_tiler.mosaic.methods.base.MosaicMethodBase
Returns the mosaic method used to combine datasets together.
point¶
def point(
self
)
Register /point endpoint.
process_dependency¶
def process_dependency(
algorithm: Literal['hillshade', 'contours', 'normalizedIndex', 'terrarium', 'terrainrgb'] = Query(None),
algorithm_params: str = Query(None)
) -> Union[titiler.core.algorithm.base.BaseAlgorithm, NoneType]
Data Post-Processing options.
read¶
def read(
self
)
Register / (Get) Read endpoint.
reader¶
def reader(
input: str,
*args: Any,
**kwargs: Any
) -> cogeo_mosaic.backends.base.BaseBackend
Select mosaic backend for input.
register_routes¶
def register_routes(
self
)
This Method register routes to the router.
Because we wrap the endpoints in a class we cannot define the routes as methods (because of the self argument). The HACK is to define routes inside the class method and register them after the class initialization.
rescale_dependency¶
def rescale_dependency(
rescale: Union[List[str], NoneType] = Query(None)
) -> Union[List[Tuple[float, ...]], NoneType]
Min/Max data Rescaling
tile¶
def tile(
self
)
Register /tiles endpoints.
tilejson¶
def tilejson(
self
)
Add tilejson endpoint.
url_for¶
def url_for(
self,
request: starlette.requests.Request,
name: str,
**path_params: Any
) -> str
Return full url (with prefix) for a specific endpoint.
validate¶
def validate(
self
)
Register /validate endpoint.
wmts¶
def wmts(
self
)
Add wmts endpoint.