Replies: 4 comments 1 reply
-
@robintw I'm really sorry about this. Sadly this is due because Pydantic creates schema based on the latest json-schema spec and it seems that the openapi doesn't follow. I'm not really sure about all the implications tho. I don't see any fix for this, until OpenAPI and Swagger update to match the json-schema specs 🤷 I think the I'm able to create a valid an openapi document when I update the OpenAPI version to titiler app """titiler app."""
from titiler.core.factory import TilerFactory
from fastapi import FastAPI
cog = TilerFactory()
app = FastAPI()
app.include_router(cog.router) edited OpenAPI doc (updated {
"openapi": "3.1.0",
"servers": [
{"url": "http://127.0.0.1:8081"}
],
"info": {
"title": "FastAPI",
"version": "0.1.0"
},
"paths": {
"/bounds": {
"get": {
"summary": "Bounds",
"description": "Return the bounds of the COG.",
"operationId": "bounds_bounds_get",
"parameters": [
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return dataset's bounds.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Bounds"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/info": {
"get": {
"summary": "Info",
"description": "Return dataset's basic info.",
"operationId": "info_info_get",
"parameters": [
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return dataset's basic info.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Info"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/info.geojson": {
"get": {
"summary": "Info Geojson",
"description": "Return dataset's basic info as a GeoJSON feature.",
"operationId": "info_geojson_info_geojson_get",
"parameters": [
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return dataset's basic info as a GeoJSON feature.",
"content": {
"application/geo+json": {
"schema": {
"$ref": "#/components/schemas/Feature_Polygon__Info_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/statistics": {
"get": {
"summary": "Statistics",
"description": "Create image from a geojson feature.",
"operationId": "statistics_statistics_get",
"parameters": [
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "Return statistics for categorical dataset.",
"required": false,
"schema": {
"title": "Categorical",
"type": "boolean",
"description": "Return statistics for categorical dataset.",
"default": false
},
"name": "categorical",
"in": "query"
},
{
"description": "List of values for which to report counts.",
"required": false,
"schema": {
"title": "Pixels values for categories.",
"type": "array",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"description": "List of values for which to report counts."
},
"example": [
1,
2,
3
],
"name": "c",
"in": "query"
},
{
"description": "List of percentile values.",
"required": false,
"schema": {
"title": "Percentile values",
"type": "array",
"items": {
"type": "integer"
},
"description": "List of percentile values.",
"default": [
2,
98
]
},
"example": [
2,
5,
95,
98
],
"name": "p",
"in": "query"
},
{
"description": "\nDefines the number of equal-width bins in the given range (10, by default).\n\nIf bins is a sequence (comma `,` delimited values), it defines a monotonically increasing array of bin edges, including the rightmost edge, allowing for non-uniform bin widths.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n ",
"required": false,
"schema": {
"title": "Histogram bins.",
"type": "string",
"description": "\nDefines the number of equal-width bins in the given range (10, by default).\n\nIf bins is a sequence (comma `,` delimited values), it defines a monotonically increasing array of bin edges, including the rightmost edge, allowing for non-uniform bin widths.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n "
},
"examples": {
"simple": {
"description": "Defines the number of equal-width bins",
"value": 8
},
"array": {
"description": "Defines custom bin edges (comma `,` delimited values)",
"value": "0,100,200,300"
}
},
"name": "histogram_bins",
"in": "query"
},
{
"description": "\nComma `,` delimited range of the bins.\n\nThe lower and upper range of the bins. If not provided, range is simply (a.min(), a.max()).\n\nValues outside the range are ignored. The first element of the range must be less than or equal to the second.\nrange affects the automatic bin computation as well.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n ",
"required": false,
"schema": {
"title": "Histogram range",
"type": "string",
"description": "\nComma `,` delimited range of the bins.\n\nThe lower and upper range of the bins. If not provided, range is simply (a.min(), a.max()).\n\nValues outside the range are ignored. The first element of the range must be less than or equal to the second.\nrange affects the automatic bin computation as well.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n "
},
"example": "0,1000",
"name": "histogram_range",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return dataset's statistics.",
"content": {
"application/json": {
"schema": {
"title": "Response Statistics Statistics Get",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/BandStatistics"
}
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"summary": "Geojson Statistics",
"description": "Get Statistics from a geojson feature or featureCollection.",
"operationId": "geojson_statistics_statistics_post",
"parameters": [
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "Return statistics for categorical dataset.",
"required": false,
"schema": {
"title": "Categorical",
"type": "boolean",
"description": "Return statistics for categorical dataset.",
"default": false
},
"name": "categorical",
"in": "query"
},
{
"description": "List of values for which to report counts.",
"required": false,
"schema": {
"title": "Pixels values for categories.",
"type": "array",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"description": "List of values for which to report counts."
},
"example": [
1,
2,
3
],
"name": "c",
"in": "query"
},
{
"description": "List of percentile values.",
"required": false,
"schema": {
"title": "Percentile values",
"type": "array",
"items": {
"type": "integer"
},
"description": "List of percentile values.",
"default": [
2,
98
]
},
"example": [
2,
5,
95,
98
],
"name": "p",
"in": "query"
},
{
"description": "\nDefines the number of equal-width bins in the given range (10, by default).\n\nIf bins is a sequence (comma `,` delimited values), it defines a monotonically increasing array of bin edges, including the rightmost edge, allowing for non-uniform bin widths.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n ",
"required": false,
"schema": {
"title": "Histogram bins.",
"type": "string",
"description": "\nDefines the number of equal-width bins in the given range (10, by default).\n\nIf bins is a sequence (comma `,` delimited values), it defines a monotonically increasing array of bin edges, including the rightmost edge, allowing for non-uniform bin widths.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n "
},
"examples": {
"simple": {
"description": "Defines the number of equal-width bins",
"value": 8
},
"array": {
"description": "Defines custom bin edges (comma `,` delimited values)",
"value": "0,100,200,300"
}
},
"name": "histogram_bins",
"in": "query"
},
{
"description": "\nComma `,` delimited range of the bins.\n\nThe lower and upper range of the bins. If not provided, range is simply (a.min(), a.max()).\n\nValues outside the range are ignored. The first element of the range must be less than or equal to the second.\nrange affects the automatic bin computation as well.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n ",
"required": false,
"schema": {
"title": "Histogram range",
"type": "string",
"description": "\nComma `,` delimited range of the bins.\n\nThe lower and upper range of the bins. If not provided, range is simply (a.min(), a.max()).\n\nValues outside the range are ignored. The first element of the range must be less than or equal to the second.\nrange affects the automatic bin computation as well.\n\nlink: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html\n "
},
"example": "0,1000",
"name": "histogram_range",
"in": "query"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "Geojson",
"anyOf": [
{
"$ref": "#/components/schemas/FeatureCollection"
},
{
"$ref": "#/components/schemas/Feature"
}
],
"description": "GeoJSON Feature or FeatureCollection."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return dataset's statistics.",
"content": {
"application/geo+json": {
"schema": {
"title": "Response Geojson Statistics Statistics Post",
"anyOf": [
{
"$ref": "#/components/schemas/FeatureCollection_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon___StatisticsInGeoJSON_"
},
{
"$ref": "#/components/schemas/Feature_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon___StatisticsInGeoJSON_"
}
]
}
},
"application/json": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__TileMatrixSetId___z___x___y___scale_x__format__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Scale",
"type": "integer"
},
"name": "scale",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__TileMatrixSetId___z___x___y___scale_x_get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Scale",
"type": "integer"
},
"name": "scale",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{TileMatrixSetId}/{z}/{x}/{y}.{format}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__TileMatrixSetId___z___x___y___format__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "scale",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{TileMatrixSetId}/{z}/{x}/{y}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__TileMatrixSetId___z___x___y__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "scale",
"in": "query"
},
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{z}/{x}/{y}@{scale}x.{format}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__z___x___y___scale_x__format__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Scale",
"type": "integer"
},
"name": "scale",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{z}/{x}/{y}@{scale}x": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__z___x___y___scale_x_get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Scale",
"type": "integer"
},
"name": "scale",
"in": "path"
},
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{z}/{x}/{y}.{format}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__z___x___y___format__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "scale",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tiles/{z}/{x}/{y}": {
"get": {
"summary": "Tile",
"description": "Create map tile from a dataset.",
"operationId": "tile_tiles__z___x___y__get",
"parameters": [
{
"description": "TMS tiles's zoom level",
"required": true,
"schema": {
"title": "Z",
"maximum": 30,
"minimum": 0,
"type": "integer",
"description": "TMS tiles's zoom level"
},
"name": "z",
"in": "path"
},
{
"description": "TMS tiles's column",
"required": true,
"schema": {
"title": "X",
"type": "integer",
"description": "TMS tiles's column"
},
"name": "x",
"in": "path"
},
{
"description": "TMS tiles's row",
"required": true,
"schema": {
"title": "Y",
"type": "integer",
"description": "TMS tiles's row"
},
"name": "y",
"in": "path"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "scale",
"in": "query"
},
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/{TileMatrixSetId}/tilejson.json": {
"get": {
"summary": "Tilejson",
"description": "Return TileJSON document for a dataset.",
"operationId": "tilejson__TileMatrixSetId__tilejson_json_get",
"parameters": [
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "tile_format",
"in": "query"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Tile Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "tile_scale",
"in": "query"
},
{
"description": "Overwrite default minzoom.",
"required": false,
"schema": {
"title": "Minzoom",
"type": "integer",
"description": "Overwrite default minzoom."
},
"name": "minzoom",
"in": "query"
},
{
"description": "Overwrite default maxzoom.",
"required": false,
"schema": {
"title": "Maxzoom",
"type": "integer",
"description": "Overwrite default maxzoom."
},
"name": "maxzoom",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return a tilejson",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TileJSON"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/tilejson.json": {
"get": {
"summary": "Tilejson",
"description": "Return TileJSON document for a dataset.",
"operationId": "tilejson_tilejson_json_get",
"parameters": [
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "tile_format",
"in": "query"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Tile Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "tile_scale",
"in": "query"
},
{
"description": "Overwrite default minzoom.",
"required": false,
"schema": {
"title": "Minzoom",
"type": "integer",
"description": "Overwrite default minzoom."
},
"name": "minzoom",
"in": "query"
},
{
"description": "Overwrite default maxzoom.",
"required": false,
"schema": {
"title": "Maxzoom",
"type": "integer",
"description": "Overwrite default maxzoom."
},
"name": "maxzoom",
"in": "query"
},
{
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).",
"required": false,
"schema": {
"title": "Tile buffer.",
"exclusiveMinimum": 0,
"type": "number",
"description": "Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * tile_buffer` (e.g 0.5 = 257x257, 1.0 = 258x258)."
},
"name": "buffer",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return a tilejson",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TileJSON"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/{TileMatrixSetId}/WMTSCapabilities.xml": {
"get": {
"summary": "Wmts",
"description": "OGC WMTS endpoint.",
"operationId": "wmts__TileMatrixSetId__WMTSCapabilities_xml_get",
"parameters": [
{
"required": true,
"schema": {
"$ref": "#/components/schemas/TileMatrixSetName"
},
"name": "TileMatrixSetId",
"in": "path"
},
{
"description": "Output image type. Default is png.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is png.",
"default": "png"
},
"name": "tile_format",
"in": "query"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Tile Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "tile_scale",
"in": "query"
},
{
"description": "Overwrite default minzoom.",
"required": false,
"schema": {
"title": "Minzoom",
"type": "integer",
"description": "Overwrite default minzoom."
},
"name": "minzoom",
"in": "query"
},
{
"description": "Overwrite default maxzoom.",
"required": false,
"schema": {
"title": "Maxzoom",
"type": "integer",
"description": "Overwrite default maxzoom."
},
"name": "maxzoom",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/xml": {
"schema": {
"type": "string"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/WMTSCapabilities.xml": {
"get": {
"summary": "Wmts",
"description": "OGC WMTS endpoint.",
"operationId": "wmts_WMTSCapabilities_xml_get",
"parameters": [
{
"description": "Output image type. Default is png.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is png.",
"default": "png"
},
"name": "tile_format",
"in": "query"
},
{
"description": "Tile size scale. 1=256x256, 2=512x512...",
"required": false,
"schema": {
"title": "Tile Scale",
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer",
"description": "Tile size scale. 1=256x256, 2=512x512...",
"default": 1
},
"name": "tile_scale",
"in": "query"
},
{
"description": "Overwrite default minzoom.",
"required": false,
"schema": {
"title": "Minzoom",
"type": "integer",
"description": "Overwrite default minzoom."
},
"name": "minzoom",
"in": "query"
},
{
"description": "Overwrite default maxzoom.",
"required": false,
"schema": {
"title": "Maxzoom",
"type": "integer",
"description": "Overwrite default maxzoom."
},
"name": "maxzoom",
"in": "query"
},
{
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/TileMatrixSetName"
}
],
"description": "TileMatrixSet Name (default: 'WebMercatorQuad')",
"default": "WebMercatorQuad"
},
"name": "TileMatrixSetId",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/xml": {
"schema": {
"type": "string"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/point/{lon},{lat}": {
"get": {
"summary": "Point",
"description": "Get Point value for a dataset.",
"operationId": "point_point__lon___lat__get",
"parameters": [
{
"description": "Longitude",
"required": true,
"schema": {
"title": "Lon",
"type": "number",
"description": "Longitude"
},
"name": "lon",
"in": "path"
},
{
"description": "Latitude",
"required": true,
"schema": {
"title": "Lat",
"type": "number",
"description": "Latitude"
},
"name": "lat",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return a value for a point",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/titiler__core__models__responses__Point"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/preview.{format}": {
"get": {
"summary": "Preview",
"description": "Create preview of a dataset.",
"operationId": "preview_preview__format__get",
"parameters": [
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/preview": {
"get": {
"summary": "Preview",
"description": "Create preview of a dataset.",
"operationId": "preview_preview_get",
"parameters": [
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/crop/{minx},{miny},{maxx},{maxy}/{width}x{height}.{format}": {
"get": {
"summary": "Part",
"description": "Create image from part of a dataset.",
"operationId": "part_crop__minx___miny___maxx___maxy___width_x_height___format__get",
"parameters": [
{
"description": "Bounding box min X",
"required": true,
"schema": {
"title": "Minx",
"type": "number",
"description": "Bounding box min X"
},
"name": "minx",
"in": "path"
},
{
"description": "Bounding box min Y",
"required": true,
"schema": {
"title": "Miny",
"type": "number",
"description": "Bounding box min Y"
},
"name": "miny",
"in": "path"
},
{
"description": "Bounding box max X",
"required": true,
"schema": {
"title": "Maxx",
"type": "number",
"description": "Bounding box max X"
},
"name": "maxx",
"in": "path"
},
{
"description": "Bounding box max Y",
"required": true,
"schema": {
"title": "Maxy",
"type": "number",
"description": "Bounding box max Y"
},
"name": "maxy",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Height",
"type": "integer"
},
"name": "height",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Width",
"type": "integer"
},
"name": "width",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/crop/{minx},{miny},{maxx},{maxy}.{format}": {
"get": {
"summary": "Part",
"description": "Create image from part of a dataset.",
"operationId": "part_crop__minx___miny___maxx___maxy___format__get",
"parameters": [
{
"description": "Bounding box min X",
"required": true,
"schema": {
"title": "Minx",
"type": "number",
"description": "Bounding box min X"
},
"name": "minx",
"in": "path"
},
{
"description": "Bounding box min Y",
"required": true,
"schema": {
"title": "Miny",
"type": "number",
"description": "Bounding box min Y"
},
"name": "miny",
"in": "path"
},
{
"description": "Bounding box max X",
"required": true,
"schema": {
"title": "Maxx",
"type": "number",
"description": "Bounding box max X"
},
"name": "maxx",
"in": "path"
},
{
"description": "Bounding box max Y",
"required": true,
"schema": {
"title": "Maxy",
"type": "number",
"description": "Bounding box max Y"
},
"name": "maxy",
"in": "path"
},
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/crop/{width}x{height}.{format}": {
"post": {
"summary": "Geojson Crop",
"description": "Create image from a geojson feature.",
"operationId": "geojson_crop_crop__width_x_height___format__post",
"parameters": [
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Height",
"type": "integer"
},
"name": "height",
"in": "path"
},
{
"required": true,
"schema": {
"title": "Width",
"type": "integer"
},
"name": "width",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "Geojson",
"allOf": [
{
"$ref": "#/components/schemas/Feature"
}
],
"description": "GeoJSON Feature."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/crop.{format}": {
"post": {
"summary": "Geojson Crop",
"description": "Create image from a geojson feature.",
"operationId": "geojson_crop_crop__format__post",
"parameters": [
{
"required": true,
"schema": {
"$ref": "#/components/schemas/ImageType"
},
"name": "format",
"in": "path"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "Geojson",
"allOf": [
{
"$ref": "#/components/schemas/Feature"
}
],
"description": "GeoJSON Feature."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/crop": {
"post": {
"summary": "Geojson Crop",
"description": "Create image from a geojson feature.",
"operationId": "geojson_crop_crop_post",
"parameters": [
{
"description": "Output image type. Default is auto.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Output image type. Default is auto."
},
"name": "format",
"in": "query"
},
{
"description": "Dataset URL",
"required": true,
"schema": {
"title": "Url",
"type": "string",
"description": "Dataset URL"
},
"name": "url",
"in": "query"
},
{
"description": "Dataset band indexes",
"required": false,
"schema": {
"title": "Band indexes",
"type": "array",
"items": {
"type": "integer"
},
"description": "Dataset band indexes"
},
"examples": {
"one-band": {
"value": [
1
]
},
"multi-bands": {
"value": [
1,
2,
3
]
}
},
"name": "bidx",
"in": "query"
},
{
"description": "rio-tiler's band math expression",
"required": false,
"schema": {
"title": "Band Math expression",
"type": "string",
"description": "rio-tiler's band math expression"
},
"examples": {
"simple": {
"description": "Simple band math.",
"value": "b1/b2"
},
"multi-bands": {
"description": "Semicolon (;) delimited expressions (band1: b1/b2, band2: b2+b3).",
"value": "b1/b2;b2+b3"
}
},
"name": "expression",
"in": "query"
},
{
"description": "Overwrite internal Nodata value",
"required": false,
"schema": {
"title": "Nodata value",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "Overwrite internal Nodata value"
},
"name": "nodata",
"in": "query"
},
{
"description": "Apply internal Scale/Offset",
"required": false,
"schema": {
"title": "Apply internal Scale/Offset",
"type": "boolean",
"description": "Apply internal Scale/Offset",
"default": false
},
"name": "unscale",
"in": "query"
},
{
"description": "Resampling method.",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResamplingName"
}
],
"description": "Resampling method.",
"default": "nearest"
},
"name": "resampling",
"in": "query"
},
{
"description": "Maximum image size to read onto.",
"required": false,
"schema": {
"title": "Max Size",
"type": "integer",
"description": "Maximum image size to read onto.",
"default": 1024
},
"name": "max_size",
"in": "query"
},
{
"description": "Force output image height.",
"required": false,
"schema": {
"title": "Height",
"type": "integer",
"description": "Force output image height."
},
"name": "height",
"in": "query"
},
{
"description": "Force output image width.",
"required": false,
"schema": {
"title": "Width",
"type": "integer",
"description": "Force output image width."
},
"name": "width",
"in": "query"
},
{
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands.",
"required": false,
"schema": {
"title": "Min/Max data Rescaling",
"type": "array",
"items": {
"type": "string"
},
"description": "comma (',') delimited Min,Max range. Can set multiple time for multiple bands."
},
"example": [
"0,2000",
"0,1000",
"0,10000"
],
"name": "rescale",
"in": "query"
},
{
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)",
"required": false,
"schema": {
"title": "Color Formula",
"type": "string",
"description": "rio-color formula (info: https://github.com/mapbox/rio-color)"
},
"name": "color_formula",
"in": "query"
},
{
"description": "Colormap name",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMapName"
}
],
"description": "Colormap name"
},
"name": "colormap_name",
"in": "query"
},
{
"description": "JSON encoded custom Colormap",
"required": false,
"schema": {
"title": "Colormap",
"type": "string",
"description": "JSON encoded custom Colormap"
},
"name": "colormap",
"in": "query"
},
{
"description": "Add mask to the output data.",
"required": false,
"schema": {
"title": "Return Mask",
"type": "boolean",
"description": "Add mask to the output data.",
"default": true
},
"name": "return_mask",
"in": "query"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "Geojson",
"allOf": [
{
"$ref": "#/components/schemas/Feature"
}
],
"description": "GeoJSON Feature."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return an image.",
"content": {
"image/png": {},
"image/jpeg": {},
"image/jpg": {},
"image/webp": {},
"image/jp2": {},
"image/tiff; application=geotiff": {},
"application/x-binary": {}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"BandStatistics": {
"title": "BandStatistics",
"required": [
"min",
"max",
"mean",
"count",
"sum",
"std",
"median",
"majority",
"minority",
"unique",
"histogram",
"valid_percent",
"masked_pixels",
"valid_pixels"
],
"type": "object",
"properties": {
"min": {
"title": "Min",
"type": "number"
},
"max": {
"title": "Max",
"type": "number"
},
"mean": {
"title": "Mean",
"type": "number"
},
"count": {
"title": "Count",
"type": "number"
},
"sum": {
"title": "Sum",
"type": "number"
},
"std": {
"title": "Std",
"type": "number"
},
"median": {
"title": "Median",
"type": "number"
},
"majority": {
"title": "Majority",
"type": "number"
},
"minority": {
"title": "Minority",
"type": "number"
},
"unique": {
"title": "Unique",
"type": "number"
},
"histogram": {
"title": "Histogram",
"type": "array",
"items": {
"type": "array",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
}
},
"valid_percent": {
"title": "Valid Percent",
"type": "number"
},
"masked_pixels": {
"title": "Masked Pixels",
"type": "number"
},
"valid_pixels": {
"title": "Valid Pixels",
"type": "number"
}
},
"description": "Image statistics"
},
"BoundingBox": {
"title": "BoundingBox",
"required": [
"left",
"bottom",
"right",
"top"
],
"type": "object",
"properties": {
"left": {
"title": "Left"
},
"bottom": {
"title": "Bottom"
},
"right": {
"title": "Right"
},
"top": {
"title": "Top"
}
}
},
"Bounds": {
"title": "Bounds",
"required": [
"bounds"
],
"type": "object",
"properties": {
"bounds": {
"title": "Bounds",
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"title": "Left"
},
{
"title": "Bottom"
},
{
"title": "Right"
},
{
"title": "Top"
}
]
}
},
"description": "Dataset Bounding box"
},
"ColorMapName": {
"title": "ColorMapName",
"enum": [
"accent",
"accent_r",
"afmhot",
"afmhot_r",
"autumn",
"autumn_r",
"binary",
"binary_r",
"blues",
"blues_r",
"bone",
"bone_r",
"brbg",
"brbg_r",
"brg",
"brg_r",
"bugn",
"bugn_r",
"bupu",
"bupu_r",
"bwr",
"bwr_r",
"cfastie",
"cividis",
"cividis_r",
"cmrmap",
"cmrmap_r",
"cool",
"cool_r",
"coolwarm",
"coolwarm_r",
"copper",
"copper_r",
"cubehelix",
"cubehelix_r",
"dark2",
"dark2_r",
"flag",
"flag_r",
"gist_earth",
"gist_earth_r",
"gist_gray",
"gist_gray_r",
"gist_heat",
"gist_heat_r",
"gist_ncar",
"gist_ncar_r",
"gist_rainbow",
"gist_rainbow_r",
"gist_stern",
"gist_stern_r",
"gist_yarg",
"gist_yarg_r",
"gnbu",
"gnbu_r",
"gnuplot",
"gnuplot2",
"gnuplot2_r",
"gnuplot_r",
"gray",
"gray_r",
"greens",
"greens_r",
"greys",
"greys_r",
"hot",
"hot_r",
"hsv",
"hsv_r",
"inferno",
"inferno_r",
"jet",
"jet_r",
"magma",
"magma_r",
"nipy_spectral",
"nipy_spectral_r",
"ocean",
"ocean_r",
"oranges",
"oranges_r",
"orrd",
"orrd_r",
"paired",
"paired_r",
"pastel1",
"pastel1_r",
"pastel2",
"pastel2_r",
"pink",
"pink_r",
"piyg",
"piyg_r",
"plasma",
"plasma_r",
"prgn",
"prgn_r",
"prism",
"prism_r",
"pubu",
"pubu_r",
"pubugn",
"pubugn_r",
"puor",
"puor_r",
"purd",
"purd_r",
"purples",
"purples_r",
"rainbow",
"rainbow_r",
"rdbu",
"rdbu_r",
"rdgy",
"rdgy_r",
"rdpu",
"rdpu_r",
"rdylbu",
"rdylbu_r",
"rdylgn",
"rdylgn_r",
"reds",
"reds_r",
"rplumbo",
"schwarzwald",
"seismic",
"seismic_r",
"set1",
"set1_r",
"set2",
"set2_r",
"set3",
"set3_r",
"spectral",
"spectral_r",
"spring",
"spring_r",
"summer",
"summer_r",
"tab10",
"tab10_r",
"tab20",
"tab20_r",
"tab20b",
"tab20b_r",
"tab20c",
"tab20c_r",
"terrain",
"terrain_r",
"twilight",
"twilight_r",
"twilight_shifted",
"twilight_shifted_r",
"viridis",
"viridis_r",
"winter",
"winter_r",
"wistia",
"wistia_r",
"ylgn",
"ylgn_r",
"ylgnbu",
"ylgnbu_r",
"ylorbr",
"ylorbr_r",
"ylorrd",
"ylorrd_r"
],
"description": "An enumeration."
},
"Feature": {
"title": "Feature",
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"const": "Feature"
},
"geometry": {
"title": "Geometry",
"anyOf": [
{
"$ref": "#/components/schemas/geojson_pydantic__geometries__Point"
},
{
"$ref": "#/components/schemas/MultiPoint"
},
{
"$ref": "#/components/schemas/LineString"
},
{
"$ref": "#/components/schemas/MultiLineString"
},
{
"$ref": "#/components/schemas/Polygon"
},
{
"$ref": "#/components/schemas/MultiPolygon"
}
]
},
"properties": {
"title": "Properties",
"type": "object"
},
"id": {
"title": "Id",
"type": "string"
},
"bbox": {
"title": "Bbox",
"anyOf": [
{
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 6,
"minItems": 6,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"description": "Feature Model"
},
"FeatureCollection": {
"title": "FeatureCollection",
"required": [
"features"
],
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"const": "FeatureCollection"
},
"features": {
"title": "Features",
"type": "array",
"items": {
"$ref": "#/components/schemas/Feature"
}
},
"bbox": {
"title": "Bbox",
"anyOf": [
{
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 6,
"minItems": 6,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"description": "FeatureCollection Model"
},
"FeatureCollection_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon___StatisticsInGeoJSON_": {
"title": "FeatureCollection[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon], StatisticsInGeoJSON]",
"required": [
"features"
],
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"const": "FeatureCollection"
},
"features": {
"title": "Features",
"type": "array",
"items": {
"$ref": "#/components/schemas/Feature_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon___StatisticsInGeoJSON_"
}
},
"bbox": {
"title": "Bbox",
"anyOf": [
{
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 6,
"minItems": 6,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"description": "FeatureCollection Model"
},
"Feature_Polygon__Info_": {
"title": "Feature[Polygon, Info]",
"required": [
"geometry"
],
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"const": "Feature"
},
"geometry": {
"$ref": "#/components/schemas/Polygon"
},
"properties": {
"$ref": "#/components/schemas/Info"
},
"id": {
"title": "Id",
"type": "string"
},
"bbox": {
"title": "Bbox",
"anyOf": [
{
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 6,
"minItems": 6,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"description": "Feature Model"
},
"Feature_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon___StatisticsInGeoJSON_": {
"title": "Feature[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon], StatisticsInGeoJSON]",
"required": [
"geometry"
],
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"const": "Feature"
},
"geometry": {
"title": "Geometry",
"anyOf": [
{
"$ref": "#/components/schemas/geojson_pydantic__geometries__Point"
},
{
"$ref": "#/components/schemas/MultiPoint"
},
{
"$ref": "#/components/schemas/LineString"
},
{
"$ref": "#/components/schemas/MultiLineString"
},
{
"$ref": "#/components/schemas/Polygon"
},
{
"$ref": "#/components/schemas/MultiPolygon"
}
]
},
"properties": {
"$ref": "#/components/schemas/StatisticsInGeoJSON"
},
"id": {
"title": "Id",
"type": "string"
},
"bbox": {
"title": "Bbox",
"anyOf": [
{
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 6,
"minItems": 6,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"description": "Feature Model"
},
"HTTPValidationError": {
"title": "HTTPValidationError",
"type": "object",
"properties": {
"detail": {
"title": "Detail",
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
}
}
}
},
"ImageType": {
"title": "ImageType",
"enum": [
"png",
"npy",
"tif",
"jpeg",
"jpg",
"jp2",
"webp",
"pngraw"
],
"type": "string",
"description": "Available Output image type."
},
"Info": {
"title": "Info",
"required": [
"bounds",
"minzoom",
"maxzoom",
"band_metadata",
"band_descriptions",
"dtype",
"nodata_type"
],
"type": "object",
"properties": {
"bounds": {
"title": "Bounds",
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"title": "Left"
},
{
"title": "Bottom"
},
{
"title": "Right"
},
{
"title": "Top"
}
]
},
"minzoom": {
"title": "Minzoom",
"type": "integer"
},
"maxzoom": {
"title": "Maxzoom",
"type": "integer"
},
"band_metadata": {
"title": "Band Metadata",
"type": "array",
"items": {
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "object"
}
]
}
},
"band_descriptions": {
"title": "Band Descriptions",
"type": "array",
"items": {
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"dtype": {
"title": "Dtype",
"type": "string"
},
"nodata_type": {
"$ref": "#/components/schemas/NodataTypes"
},
"colorinterp": {
"title": "Colorinterp",
"type": "array",
"items": {
"type": "string"
}
},
"scale": {
"title": "Scale",
"type": "number"
},
"offset": {
"title": "Offset",
"type": "number"
},
"colormap": {
"title": "Colormap",
"type": "object",
"additionalProperties": {
"maxItems": 4,
"minItems": 4,
"type": "array",
"items": [
{
"type": "integer"
},
{
"type": "integer"
},
{
"type": "integer"
},
{
"type": "integer"
}
]
}
}
},
"description": "Dataset Info."
},
"LineString": {
"title": "LineString",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"minItems": 2,
"type": "array",
"items": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"type": {
"title": "Type",
"type": "string",
"const": "LineString"
}
},
"description": "LineString Model"
},
"MultiLineString": {
"title": "MultiLineString",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"minItems": 1,
"type": "array",
"items": {
"minItems": 2,
"type": "array",
"items": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
}
},
"type": {
"title": "Type",
"type": "string",
"const": "MultiLineString"
}
},
"description": "MultiLineString Model"
},
"MultiPoint": {
"title": "MultiPoint",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"minItems": 1,
"type": "array",
"items": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
},
"type": {
"title": "Type",
"type": "string",
"const": "MultiPoint"
}
},
"description": "MultiPoint Model"
},
"MultiPolygon": {
"title": "MultiPolygon",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"minItems": 1,
"type": "array",
"items": {
"minItems": 1,
"type": "array",
"items": {
"minItems": 4,
"type": "array",
"items": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
}
}
},
"type": {
"title": "Type",
"type": "string",
"const": "MultiPolygon"
}
},
"description": "MultiPolygon Model"
},
"NodataTypes": {
"title": "NodataTypes",
"enum": [
"Alpha",
"Mask",
"Internal",
"Nodata",
"None"
],
"type": "string",
"description": "rio-tiler Nodata types."
},
"Polygon": {
"title": "Polygon",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"minItems": 1,
"type": "array",
"items": {
"minItems": 4,
"type": "array",
"items": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
}
}
},
"type": {
"title": "Type",
"type": "string",
"const": "Polygon"
}
},
"description": "Polygon Model"
},
"ResamplingName": {
"title": "ResamplingName",
"enum": [
"nearest",
"bilinear",
"cubic",
"cubic_spline",
"lanczos",
"average",
"mode",
"gauss",
"max",
"min",
"med",
"q1",
"q3",
"sum",
"rms"
],
"description": "An enumeration."
},
"SchemeEnum": {
"title": "SchemeEnum",
"enum": [
"xyz",
"tms"
],
"type": "string",
"description": "TileJSON scheme choice."
},
"StatisticsInGeoJSON": {
"title": "StatisticsInGeoJSON",
"required": [
"statistics"
],
"type": "object",
"properties": {
"statistics": {
"title": "Statistics",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/BandStatistics"
}
}
},
"description": "Statistics model in geojson response."
},
"TileJSON": {
"title": "TileJSON",
"required": [
"tiles"
],
"type": "object",
"properties": {
"tilejson": {
"title": "Tilejson",
"type": "string",
"default": "2.2.0"
},
"name": {
"title": "Name",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"version": {
"title": "Version",
"type": "string",
"default": "1.0.0"
},
"attribution": {
"title": "Attribution",
"type": "string"
},
"template": {
"title": "Template",
"type": "string"
},
"legend": {
"title": "Legend",
"type": "string"
},
"scheme": {
"allOf": [
{
"$ref": "#/components/schemas/SchemeEnum"
}
],
"default": "xyz"
},
"tiles": {
"title": "Tiles",
"type": "array",
"items": {
"type": "string"
}
},
"grids": {
"title": "Grids",
"type": "array",
"items": {
"type": "string"
}
},
"data": {
"title": "Data",
"type": "array",
"items": {
"type": "string"
}
},
"minzoom": {
"title": "Minzoom",
"maximum": 30,
"minimum": 0,
"type": "integer",
"default": 0
},
"maxzoom": {
"title": "Maxzoom",
"maximum": 30,
"minimum": 0,
"type": "integer",
"default": 30
},
"bounds": {
"title": "Bounds",
"type": "array",
"items": {
"type": "number"
},
"default": [
-180,
-90,
180,
90
]
},
"center": {
"title": "Center",
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "integer"
}
]
}
},
"description": "TileJSON model.\n\nBased on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0"
},
"TileMatrixSetName": {
"title": "TileMatrixSetName",
"enum": [
"CanadianNAD83_LCC",
"EuropeanETRS89_LAEAQuad",
"LINZAntarticaMapTilegrid",
"NZTM2000",
"NZTM2000Quad",
"UPSAntarcticWGS84Quad",
"UPSArcticWGS84Quad",
"UTM31WGS84Quad",
"WGS1984Quad",
"WebMercatorQuad",
"WorldCRS84Quad",
"WorldMercatorWGS84Quad"
],
"description": "An enumeration."
},
"ValidationError": {
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"type": "object",
"properties": {
"loc": {
"title": "Location",
"type": "array",
"items": {
"type": "string"
}
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
}
},
"geojson_pydantic__geometries__Point": {
"title": "Point",
"required": [
"coordinates"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
},
{
"maxItems": 3,
"minItems": 3,
"type": "array",
"items": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
{
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
]
}
]
},
"type": {
"title": "Type",
"type": "string",
"const": "Point"
}
},
"description": "Point Model"
},
"titiler__core__models__responses__Point": {
"title": "Point",
"required": [
"coordinates",
"values"
],
"type": "object",
"properties": {
"coordinates": {
"title": "Coordinates",
"type": "array",
"items": {
"type": "number"
}
},
"values": {
"title": "Values",
"type": "array",
"items": {
"type": "number"
}
}
},
"description": "Point model.\n\nresponse model for `/point` endpoints"
}
}
}
} validate OpenAPI doc (https://redoc.ly/openapi-cli/) $ openapi lint api.yaml
No configurations were defined in extends -- using built in recommended configuration by default.
validating api.yaml...
[1] api.yaml:6:3 at #/info/description
Info object should contain `description` field.
4 | {"url": "http://127.0.0.1:8081"}
5 | ],
6 | "info": {
7 | "title": "FastAPI",
8 | "version": "0.1.0"
Warning was generated by the info-description rule.
[2] api.yaml:6:3 at #/info
Info object should contain `license` field.
4 | {"url": "http://127.0.0.1:8081"}
5 | ],
6 | "info": {
7 | "title": "FastAPI",
8 | "version": "0.1.0"
Warning was generated by the info-license rule.
[3] api.yaml:1269:5 at #/paths/~1tiles~1{TileMatrixSetId}~1{z}~1{x}~1{y}.{format}
Paths should resolve unambiguously. Found two ambiguous paths: `/tiles/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}` and `/tiles/{TileMatrixSetId}/{z}/{x}/{y}.{format}`.
1267 | }
1268 | },
1269 | "/tiles/{TileMatrixSetId}/{z}/{x}/{y}.{format}": {
1270 | "get": {
1271 | "summary": "Tile",
Warning was generated by the no-ambiguous-paths rule.
[4] api.yaml:1554:5 at #/paths/~1tiles~1{TileMatrixSetId}~1{z}~1{x}~1{y}
Paths should resolve unambiguously. Found two ambiguous paths: `/tiles/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}` and `/tiles/{TileMatrixSetId}/{z}/{x}/{y}`.
1552 | }
1553 | },
1554 | "/tiles/{TileMatrixSetId}/{z}/{x}/{y}": {
1555 | "get": {
1556 | "summary": "Tile",
Warning was generated by the no-ambiguous-paths rule.
[5] api.yaml:2425:5 at #/paths/~1tiles~1{z}~1{x}~1{y}.{format}
Paths should resolve unambiguously. Found two ambiguous paths: `/tiles/{z}/{x}/{y}@{scale}x.{format}` and `/tiles/{z}/{x}/{y}.{format}`.
2423 | }
2424 | },
2425 | "/tiles/{z}/{x}/{y}.{format}": {
2426 | "get": {
2427 | "summary": "Tile",
Warning was generated by the no-ambiguous-paths rule.
[6] api.yaml:2717:5 at #/paths/~1tiles~1{z}~1{x}~1{y}
Paths should resolve unambiguously. Found two ambiguous paths: `/tiles/{z}/{x}/{y}@{scale}x.{format}` and `/tiles/{z}/{x}/{y}`.
2715 | }
2716 | },
2717 | "/tiles/{z}/{x}/{y}": {
2718 | "get": {
2719 | "summary": "Tile",
Warning was generated by the no-ambiguous-paths rule.
[7] api.yaml:4111:5 at #/paths/~1point~1{lon},{lat}
Paths should resolve unambiguously. Found two ambiguous paths: `/{TileMatrixSetId}/tilejson.json` and `/point/{lon},{lat}`.
4109 | }
4110 | },
4111 | "/point/{lon},{lat}": {
4112 | "get": {
4113 | "summary": "Point",
Warning was generated by the no-ambiguous-paths rule.
[8] api.yaml:5068:5 at #/paths/~1crop~1{minx},{miny},{maxx},{maxy}.{format}
Paths should resolve unambiguously. Found two ambiguous paths: `/{TileMatrixSetId}/tilejson.json` and `/crop/{minx},{miny},{maxx},{maxy}.{format}`.
5066 | }
5067 | },
5068 | "/crop/{minx},{miny},{maxx},{maxy}.{format}": {
5069 | "get": {
5070 | "summary": "Part",
Warning was generated by the no-ambiguous-paths rule.
[9] api.yaml:5362:5 at #/paths/~1crop~1{width}x{height}.{format}
Paths should resolve unambiguously. Found two ambiguous paths: `/{TileMatrixSetId}/tilejson.json` and `/crop/{width}x{height}.{format}`.
5360 | }
5361 | },
5362 | "/crop/{width}x{height}.{format}": {
5363 | "post": {
5364 | "summary": "Geojson Crop",
Warning was generated by the no-ambiguous-paths rule.
[10] api.yaml:6257:7 at #/components/schemas/BoundingBox
Component: "BoundingBox" is never used.
6255 | "description": "Image statistics"
6256 | },
6257 | "BoundingBox": {
6258 | "title": "BoundingBox",
6259 | "required": [
Warning was generated by the no-unused-components rule.
api.yaml: validated in 111ms
Woohoo! Your OpenAPI definition is valid. 🎉
You have 10 warnings. FYI: I'm going to move this over |
Beta Was this translation helpful? Give feedback.
-
Thanks so much @vincentsarago - this gave me what I needed to find a workaround. You're right that the OpenAPI JSON that is produced is a mostly valid OpenAPI 3.1 spec. I did the changes you did (changing the version and adding the servers list). This produced a valid v3.1 spec, but I needed a valid 3.0 spec. Luckily I found that apimatic have a transformer here that will transform API specs from various different formats, including different versions of OpenAPI. It's a paid service, but has a 14-day trial. Using that I managed to transform the spec to v3.0, and that worked fine in Azure API Management. Thanks for the help! |
Beta Was this translation helpful? Give feedback.
-
Thanks, this was super helpful! It would be great if this could be solved directly, but until this bug is fixed upstream in pydantic and/or APIM supports OpenAPI version 3.1.0, the apimatic transformer works for me. |
Beta Was this translation helpful? Give feedback.
-
Glad you found this useful @jlev. I actually later found an easier way that removes the requirement to use apimatic (which costs after a short trial). The Planetary Computer people run a custom version of Titiler on Azure APIM, and they have some code that runs inside FastAPI to alter the OpenAPI output so that it's compatible with APIM. The code is at https://github.com/microsoft/planetary-computer-apis/blob/a4f79b41af1607f4eecc9e0d8a6fb26ab077a3c8/pccommon/pccommon/openapi.py#L22. Hope that helps! |
Beta Was this translation helpful? Give feedback.
-
Problem description
I'm trying to get Titiler set up with Azure's API Management service. This service can be configured from an OpenAPI JSON document, to set up the endpoints, parameters etc. However, when I tried this it failed saying that the OpenAPI definition was invalid.
I've tried some online OpenAPI validators like this one using the OpenAPI JSON that comes from a vanilla install of master, and I get a lot of errors listed. I won't list them all here (you can paste the JSON into the link above and see the errors), but they include errors like:
Structural error at paths./cog/info.geojson.get.responses.200.content.application/geo+json.schema.$ref should match format "uri-reference" format: uri-reference
Structural error at paths./cog/tiles/{TileMatrixSetId}/{z}/{x}/{y}.{format}.get.parameters.5.schema.exclusiveMaximum should be boolean
(there are lots of these!)Semantic error at components.schemas.titiler__mosaic__factory__Feature[Polygon, Info] Component names can only contain the characters A-Z a-z 0-9 - . _
Structural error at components.schemas.TMSBoundingBox.properties.crs.anyOf.0.type should be equal to one of the allowed values allowedValues: array, boolean, integer, number, object, string
I've found some issues on FastAPI (eg. here) which seem to suggest this is a problem with different versions of the OpenAPI spec. For example, v3.1 of OpenAPI changed how
exclusiveMaximum
works. Azure API Management only supports v3 not v3.1, however the OpenAPI JSON that I get from Titiler says that it is version 3.0.2, so it should be compatible.I'm aware this may not be a Titiler-specific bug, but has anyone else run into similar problems? I don't know how much of this is a problem with how the API is defined by Titiler, and how much of it is a problem with how FastAPI is generating the OpenAPI JSON, or some weird differences with the specification versions.
Expected Output
Valid OpenAPI specification, at the version specified at the top of the OpenAPI JSON.
Environment Information
OS: Windows
Python version: 3.9
Titiler version: master
Beta Was this translation helpful? Give feedback.
All reactions