diff --git a/index.html b/index.html index 82896d0..de5b362 100644 --- a/index.html +++ b/index.html @@ -686,9 +686,7 @@
You'll need to have TITILER_STACAPI_STAC_API_URL
variables set in your environment pointing to your STAC API service.
export TITILER_STACAPI_STAC_API_URL=https://api.stac
-
By default the stac_api_url
is planetarycomputer.microsoft.com/api/stac/v1, but you can override it by setting the environment variable TITILER_STACAPI_STAC_API_URL
.
python -m pip install uvicorn
uvicorn titiler.stacapi.main:app --port 8000
@@ -700,7 +698,7 @@ Using Docker
It runs titiler.stacapi
using Gunicorn web server.
See CONTRIBUTING.md
See contributors for a listing of individual contributors.
See CHANGES.md.
+See CHANGELOG.md.
diff --git a/search/search_index.json b/search/search_index.json index c24b644..54164de 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"titiler-stacapi-mspc","text":"
Connect titiler to MS Planetary Computer STAC API
Documentation: developmentseed.org/titiler-stacapi-mspc/
Source Code: developmentseed/titiler-stacapi-mspc
"},{"location":"#installation","title":"Installation","text":"Install from sources and run for development:
$ git clone https://github.com/developmentseed/titiler-stacapi-mspc.git\n$ cd titiler-stacapi-mspc\n$ python -m pip install -e .\n
"},{"location":"#launch","title":"Launch","text":"You'll need to have TITILER_STACAPI_STAC_API_URL
variables set in your environment pointing to your STAC API service.
export TITILER_STACAPI_STAC_API_URL=https://api.stac\n
python -m pip install uvicorn\n\nuvicorn titiler.stacapi.main:app --port 8000\n
"},{"location":"#using-docker","title":"Using Docker","text":"$ git clone https://github.com/developmentseed/titiler-stacapi-mspc.git\n$ cd titiler-stacapi-mspc\n$ docker-compose up --build api\n
It runs titiler.stacapi
using Gunicorn web server.
See CONTRIBUTING.md
"},{"location":"#license","title":"License","text":"See LICENSE
"},{"location":"#authors","title":"Authors","text":"See contributors for a listing of individual contributors.
"},{"location":"#changes","title":"Changes","text":"See CHANGES.md.
"},{"location":"contributing/","title":"Development - Contributing","text":"Issues and pull requests are more than welcome: github.com/developmentseed/titiler-stacapi/issues
dev install
git clone https://github.com/developmentseed/titiler-stacapi.git\ncd titiler-stacapi\n\npython -m pip install pre-commit -e .[\"dev,test\"]\n
You can then run the tests with the following command:
python -m pytest --cov titiler.stacapi --cov-report term-missing\n
This repo is set to use pre-commit
to run isort, flake8, pydocstring, black (\"uncompromising Python code formatter\") and mypy when committing new code.
$ pre-commit install\n
"},{"location":"technical-considerations/","title":"Technical Considerations","text":""},{"location":"technical-considerations/#optimizing-tile-requests-in-titiler-stacapi","title":"Optimizing Tile Requests in titiler-stacapi","text":"To enhance the efficiency of tile requests in titiler-stacapi, it's essential to set appropriate zoom levels and bounding boxes and be mindful of the number of requests made to the STAC API. This guide will walk you through understanding and applying these settings to improve performance and avoid overloading the service with expansive queries.
"},{"location":"technical-considerations/#understanding-zoom-levels","title":"Understanding Zoom Levels","text":"Zoom levels dictate the level of detail in the tiles requested. Specifying a range (min/max) can significantly optimize request times and resource usage.
"},{"location":"technical-considerations/#bounding-box-considerations","title":"Bounding Box Considerations","text":"The bounding box limits the geographical area of interest, preventing unnecessarily broad tile generation. Define this based on your application's specific needs to reduce load times and server strain.
"},{"location":"technical-considerations/#mindful-usage-of-stac-api-requests","title":"Mindful Usage of STAC API Requests","text":"Each tile request to titiler-stacapi results in one request to a STAC API /search
. It's vital to use this feature respectfully towards STAC API providers by being aware of the request load. High volumes of tile requests translate to an equal number of STAC API requests, which could overwhelm the API endpoints.
For detailed examples and more on optimizing your usage of titiler-stacapi, refer to the project's primary documentation.
"},{"location":"endpoints/","title":"Endpoints","text":"By default the main application (titiler.pgstac.main.app
) provides three sets of endpoints:
GET
/collections/{collection_id}/tiles/{TileMatrixSetId}/{z}/{x}/{y}[@{scale}x][.{format}]
image/bin Create a web map tile image for a collection and a tile index GET
/collections/{collection_id}/{TileMatrixSetId}/tilejson.json
JSON (TileJSON) Return a Mapbox TileJSON document GET
/collections/{collection_id}/{TileMatrixSetId}/map
HTML simple map viewer"},{"location":"endpoints/collections_endpoints/#tiles","title":"Tiles","text":":endpoint:/collections/{collection_id}/tiles/{TileMatrixSetId}/{z}/{x}/{y}[@{scale}x][.{format}]
PathParams:
WebMercatorQuad
).QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
STAC API Search QueryParams:
RFC 3339
format (github.com/radiantearth/stac-api-spec/blob/v1.0.0/implementation.md#datetime-parameter-handling)Important
assets OR expression is required
Example:
https://myendpoint/collections/my-collection/tiles/WebMercatorQuad/1/2/3?assets=B01
https://myendpoint/collections/my-collection/tiles/WebMercatorQuad/1/2/3.jpg?assets=B01
https://myendpoint/collections/my-collection/tiles/WorldCRS84Quad/1/2/3@2x.png?assets=B01&assets=B02&assets=B03
https://myendpoint/collections/my-collection/tiles/WorldCRS84Quad/1/2/3?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}[/{TileMatrixSetId}]/tilejson.json
PathParams:
WebMercatorQuad
).QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
STAC API Search QueryParams:
RFC 3339
format (github.com/radiantearth/stac-api-spec/blob/v1.0.0/implementation.md#datetime-parameter-handling)Important
assets OR expression is required
Example:
https://myendpoint/collections/my-collection/WebMercatorQuad/tilejson.json?assets=B01
https://myendpoint/collections/my-collection/WebMercatorQuad/tilejson.json?assets=B01&tile_format=png
https://myendpoint/collections/my-collection/WorldCRS84Quad/tilejson.json?assets=B01&tile_scale=2
The Item
endpoints are created using TiTiler's MultiBaseTilerFactory
GET
/collections/{collection_id}/items/{item_id}/bounds
JSON (Bounds) return dataset's bounds GET
/collections/{collection_id}/items/{item_id}/assets
JSON return the list of available assets GET
/collections/{collection_id}/items/{item_id}/info
JSON (Info) return assets basic info GET
/collections/{collection_id}/items/{item_id}/info.geojson
GeoJSON (InfoGeoJSON) return assets basic info as a GeoJSON feature GET
/collections/{collection_id}/items/{item_id}/asset_statistics
JSON (Statistics) return per asset statistics GET
/collections/{collection_id}/items/{item_id}/statistics
JSON (Statistics) return assets statistics (merged) POST
/collections/{collection_id}/items/{item_id}/statistics
GeoJSON (Statistics) return assets statistics for a GeoJSON (merged) GET
/collections/{collection_id}/items/{item_id}/tiles[/{TileMatrixSetId}]/{z}/{x}/{y}[@{scale}x][.{format}]
image/bin create a web map tile image from assets GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/tilejson.json
JSON (TileJSON) return a Mapbox TileJSON document GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/WMTSCapabilities.xml
XML return OGC WMTS Get Capabilities GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/map
HTML simple map viewer GET
/collections/{collection_id}/items/{item_id}/point/{lon},{lat}
JSON (Point) return pixel values from assets GET
/collections/{collection_id}/items/{item_id}/preview[.{format}]
image/bin create a preview image from assets GET
/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}[/{width}x{height}].{format}
image/bin create an image from part of assets POST
/collections/{collection_id}/items/{item_id}/feature[/{width}x{height}][.{format}]
image/bin create an image from a geojson feature intersecting assets"},{"location":"endpoints/items_endpoints/#tiles","title":"Tiles","text":":endpoint:/collections/{collection_id}/items/{item_id}/tiles[/{TileMatrixSetId}]/{z}/{x}/{y}[@{scale}x][.{format}]
PathParams:
WebMercatorQuad
. OptionalQueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
hillshade
).Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/tiles/1/2/3?assets=B01&assets=B00
https://myendpoint/collections/mycollection/items/oneitem/tiles/1/2/3.jpg?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tiles/WorldCRS84Quad/1/2/3@2x.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tiles/WorldCRS84Quad/1/2/3?expression=B01/B02&rescale=0,1000&colormap_name=cfastie&asset_as_band=True
:endpoint:/collections/{collection_id}/items/{item_id}/preview[.{format}]
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).hillshade
).nearest
.nearest
.rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/preview?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/preview.jpg?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/preview?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}.{format}
:endpoint:/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}/{width}x{height}.{format}
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.hillshade
).nearest
.nearest
.rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/bbox/0,0,10,10.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/bbox/0,0,10,10.png?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/feature[/{width}x{height}][].{format}] - [POST]
Body:
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/crop?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/crop.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/100x100.png?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/point/{lon},{lat}
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/point/0,0?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/tilejson.json
tileJSON document
PathParams:
WebMercatorQuad
.QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/tilejson.json?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tilejson.json?assets=B01&tile_format=png
https://myendpoint/collections/mycollection/items/oneitem/WorldCRS84Quad/tilejson.json?tile_scale=2&expression=B01/B02&asset_as_band=True
:endpoint:/collections/{collection_id}/items/{item_id}/bounds
- Return the bounds of the STAC item.
Example:
https://myendpoint/collections/mycollection/items/oneitem/bounds
:endpoint:/collections/{collection_id}/items/{item_id}/info
- Return basic info on STAC item's COG.
PathParams:
QueryParams:
Example:
https://myendpoint/collections/mycollection/items/oneitem/info?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}/info.geojson
- Return basic info on STAC item's COG as a GeoJSON feature
PathParams:
QueryParams:
Example:
https://myendpoint/collections/mycollection/items/oneitem/info.geojson?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}/assets
- Return the list of available assets
:endpoint:/collections/{collection_id}/items/{item_id}/assets
- Return a list of available assets
Example:
https://myendpoint/collections/mycollection/items/oneitem/assets
:endpoint:/collections/{collection_id}/items/{item_id}/asset_statistics - [GET]
PathParams:
QueryParams:
Asset1|1;2;3
).Asset1|b1\\*b2
).nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
:endpoint:/collections/{collection_id}/items/{item_id}/statistics - [GET]
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
:endpoint:/collections/{collection_id}/items/{item_id}/statistics - [POST]
Body:
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.nearest
.nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
GET
/tileMatrixSets
JSON (TMS list) return the list of supported TileMatrixSet GET
/tileMatrixSets/{TileMatrixSetId}
JSON (TileMatrixSet) return the TileMatrixSet JSON document"},{"location":"endpoints/tms_endpoints/#list-tms","title":"List TMS","text":":endpoint:/tileMatrixSets
- Get the list of supported TileMatrixSet
curl https://myendpoint/tileMatrixSets | jq\n>> {\n \"tileMatrixSets\": [\n {\n \"id\": \"LINZAntarticaMapTilegrid\",\n \"title\": \"LINZ Antarctic Map Tile Grid (Ross Sea Region)\",\n \"links\": [\n {\n \"href\": \"https://myendpoint/tileMatrixSets/LINZAntarticaMapTilegrid\",\n \"rel\": \"item\",\n \"type\": \"application/json\"\n }\n ]\n },\n ...\n ]\n}\n
"},{"location":"endpoints/tms_endpoints/#get-tms-info","title":"Get TMS info","text":":endpoint:/tileMatrixSets/{TileMatrixSetId}
- Get the TileMatrixSet JSON document
curl http://127.0.0.1:8000/tileMatrixSets/WebMercatorQuad | jq\n>> {\n \"type\": \"TileMatrixSetType\",\n \"title\": \"Google Maps Compatible for the World\",\n \"identifier\": \"WebMercatorQuad\",\n \"supportedCRS\": \"http://www.opengis.net/def/crs/EPSG/0/3857\",\n \"wellKnownScaleSet\": \"http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible\",\n \"boundingBox\": {\n \"type\": \"BoundingBoxType\",\n \"crs\": \"http://www.opengis.net/def/crs/EPSG/0/3857\",\n \"lowerCorner\": [\n -20037508.3427892,\n -20037508.3427892\n ],\n \"upperCorner\": [\n 20037508.3427892,\n 20037508.3427892\n ]\n },\n \"tileMatrix\": [\n {\n \"type\": \"TileMatrixType\",\n \"identifier\": \"0\",\n \"scaleDenominator\": 559082264.028717,\n \"topLeftCorner\": [\n -20037508.3427892,\n 20037508.3427892\n ],\n \"tileWidth\": 256,\n \"tileHeight\": 256,\n \"matrixWidth\": 1,\n \"matrixHeight\": 1\n },\n ...\n
"}]}
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"titiler-stacapi-mspc","text":"
Connect titiler to MS Planetary Computer STAC API
Documentation: developmentseed.org/titiler-stacapi-mspc/
Source Code: developmentseed/titiler-stacapi-mspc
"},{"location":"#installation","title":"Installation","text":"Install from sources and run for development:
$ git clone https://github.com/developmentseed/titiler-stacapi-mspc.git\n$ cd titiler-stacapi-mspc\n$ python -m pip install -e .\n
"},{"location":"#launch","title":"Launch","text":"By default the stac_api_url
is planetarycomputer.microsoft.com/api/stac/v1, but you can override it by setting the environment variable TITILER_STACAPI_STAC_API_URL
.
python -m pip install uvicorn\n\nuvicorn titiler.stacapi.main:app --port 8000\n
"},{"location":"#using-docker","title":"Using Docker","text":"$ git clone https://github.com/developmentseed/titiler-stacapi-mspc.git\n$ cd titiler-stacapi-mspc\n$ docker-compose up --build api\n
It runs titiler.stacapi
using Gunicorn web server.
See CONTRIBUTING.md
"},{"location":"#license","title":"License","text":"See LICENSE
"},{"location":"#authors","title":"Authors","text":"See contributors for a listing of individual contributors.
"},{"location":"#changes","title":"Changes","text":"See CHANGELOG.md.
"},{"location":"contributing/","title":"Development - Contributing","text":"Issues and pull requests are more than welcome: github.com/developmentseed/titiler-stacapi/issues
dev install
git clone https://github.com/developmentseed/titiler-stacapi.git\ncd titiler-stacapi\n\npython -m pip install pre-commit -e .[\"dev,test\"]\n
You can then run the tests with the following command:
python -m pytest --cov titiler.stacapi --cov-report term-missing\n
This repo is set to use pre-commit
to run isort, flake8, pydocstring, black (\"uncompromising Python code formatter\") and mypy when committing new code.
$ pre-commit install\n
"},{"location":"technical-considerations/","title":"Technical Considerations","text":""},{"location":"technical-considerations/#optimizing-tile-requests-in-titiler-stacapi","title":"Optimizing Tile Requests in titiler-stacapi","text":"To enhance the efficiency of tile requests in titiler-stacapi, it's essential to set appropriate zoom levels and bounding boxes and be mindful of the number of requests made to the STAC API. This guide will walk you through understanding and applying these settings to improve performance and avoid overloading the service with expansive queries.
"},{"location":"technical-considerations/#understanding-zoom-levels","title":"Understanding Zoom Levels","text":"Zoom levels dictate the level of detail in the tiles requested. Specifying a range (min/max) can significantly optimize request times and resource usage.
"},{"location":"technical-considerations/#bounding-box-considerations","title":"Bounding Box Considerations","text":"The bounding box limits the geographical area of interest, preventing unnecessarily broad tile generation. Define this based on your application's specific needs to reduce load times and server strain.
"},{"location":"technical-considerations/#mindful-usage-of-stac-api-requests","title":"Mindful Usage of STAC API Requests","text":"Each tile request to titiler-stacapi results in one request to a STAC API /search
. It's vital to use this feature respectfully towards STAC API providers by being aware of the request load. High volumes of tile requests translate to an equal number of STAC API requests, which could overwhelm the API endpoints.
For detailed examples and more on optimizing your usage of titiler-stacapi, refer to the project's primary documentation.
"},{"location":"endpoints/","title":"Endpoints","text":"By default the main application (titiler.pgstac.main.app
) provides three sets of endpoints:
GET
/collections/{collection_id}/tiles/{TileMatrixSetId}/{z}/{x}/{y}[@{scale}x][.{format}]
image/bin Create a web map tile image for a collection and a tile index GET
/collections/{collection_id}/{TileMatrixSetId}/tilejson.json
JSON (TileJSON) Return a Mapbox TileJSON document GET
/collections/{collection_id}/{TileMatrixSetId}/map
HTML simple map viewer"},{"location":"endpoints/collections_endpoints/#tiles","title":"Tiles","text":":endpoint:/collections/{collection_id}/tiles/{TileMatrixSetId}/{z}/{x}/{y}[@{scale}x][.{format}]
PathParams:
WebMercatorQuad
).QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
STAC API Search QueryParams:
RFC 3339
format (github.com/radiantearth/stac-api-spec/blob/v1.0.0/implementation.md#datetime-parameter-handling)Important
assets OR expression is required
Example:
https://myendpoint/collections/my-collection/tiles/WebMercatorQuad/1/2/3?assets=B01
https://myendpoint/collections/my-collection/tiles/WebMercatorQuad/1/2/3.jpg?assets=B01
https://myendpoint/collections/my-collection/tiles/WorldCRS84Quad/1/2/3@2x.png?assets=B01&assets=B02&assets=B03
https://myendpoint/collections/my-collection/tiles/WorldCRS84Quad/1/2/3?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}[/{TileMatrixSetId}]/tilejson.json
PathParams:
WebMercatorQuad
).QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
STAC API Search QueryParams:
RFC 3339
format (github.com/radiantearth/stac-api-spec/blob/v1.0.0/implementation.md#datetime-parameter-handling)Important
assets OR expression is required
Example:
https://myendpoint/collections/my-collection/WebMercatorQuad/tilejson.json?assets=B01
https://myendpoint/collections/my-collection/WebMercatorQuad/tilejson.json?assets=B01&tile_format=png
https://myendpoint/collections/my-collection/WorldCRS84Quad/tilejson.json?assets=B01&tile_scale=2
The Item
endpoints are created using TiTiler's MultiBaseTilerFactory
GET
/collections/{collection_id}/items/{item_id}/bounds
JSON (Bounds) return dataset's bounds GET
/collections/{collection_id}/items/{item_id}/assets
JSON return the list of available assets GET
/collections/{collection_id}/items/{item_id}/info
JSON (Info) return assets basic info GET
/collections/{collection_id}/items/{item_id}/info.geojson
GeoJSON (InfoGeoJSON) return assets basic info as a GeoJSON feature GET
/collections/{collection_id}/items/{item_id}/asset_statistics
JSON (Statistics) return per asset statistics GET
/collections/{collection_id}/items/{item_id}/statistics
JSON (Statistics) return assets statistics (merged) POST
/collections/{collection_id}/items/{item_id}/statistics
GeoJSON (Statistics) return assets statistics for a GeoJSON (merged) GET
/collections/{collection_id}/items/{item_id}/tiles[/{TileMatrixSetId}]/{z}/{x}/{y}[@{scale}x][.{format}]
image/bin create a web map tile image from assets GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/tilejson.json
JSON (TileJSON) return a Mapbox TileJSON document GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/WMTSCapabilities.xml
XML return OGC WMTS Get Capabilities GET
/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/map
HTML simple map viewer GET
/collections/{collection_id}/items/{item_id}/point/{lon},{lat}
JSON (Point) return pixel values from assets GET
/collections/{collection_id}/items/{item_id}/preview[.{format}]
image/bin create a preview image from assets GET
/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}[/{width}x{height}].{format}
image/bin create an image from part of assets POST
/collections/{collection_id}/items/{item_id}/feature[/{width}x{height}][.{format}]
image/bin create an image from a geojson feature intersecting assets"},{"location":"endpoints/items_endpoints/#tiles","title":"Tiles","text":":endpoint:/collections/{collection_id}/items/{item_id}/tiles[/{TileMatrixSetId}]/{z}/{x}/{y}[@{scale}x][.{format}]
PathParams:
WebMercatorQuad
. OptionalQueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
hillshade
).Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/tiles/1/2/3?assets=B01&assets=B00
https://myendpoint/collections/mycollection/items/oneitem/tiles/1/2/3.jpg?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tiles/WorldCRS84Quad/1/2/3@2x.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tiles/WorldCRS84Quad/1/2/3?expression=B01/B02&rescale=0,1000&colormap_name=cfastie&asset_as_band=True
:endpoint:/collections/{collection_id}/items/{item_id}/preview[.{format}]
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).hillshade
).nearest
.nearest
.rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/preview?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/preview.jpg?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/preview?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}.{format}
:endpoint:/collections/{collection_id}/items/{item_id}/bbox/{minx},{miny},{maxx},{maxy}/{width}x{height}.{format}
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.hillshade
).nearest
.nearest
.rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/bbox/0,0,10,10.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/bbox/0,0,10,10.png?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/feature[/{width}x{height}][].{format}] - [POST]
Body:
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).hillshade
).Important
assets OR expression is required
if height and width are provided max_size will be ignored.
Example:
https://myendpoint/collections/mycollection/items/oneitem/crop?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/crop.png?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/100x100.png?assets=B01&rescale=0,1000&colormap_name=cfastie
:endpoint:/collections/{collection_id}/items/{item_id}/point/{lon},{lat}
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/point/0,0?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}[/{TileMatrixSetId}]/tilejson.json
tileJSON document
PathParams:
WebMercatorQuad
.QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.nearest
.hillshade
).rescale=0,1000
, rescale=0,1000&rescale=0,3000&rescale=0,2000
).0.5
. Output tilesize will be expanded to tilesize + 2 * buffer
(e.g 0.5 = 257x257, 1.0 = 258x258).0
Important
assets OR expression is required
Example:
https://myendpoint/collections/mycollection/items/oneitem/tilejson.json?assets=B01
https://myendpoint/collections/mycollection/items/oneitem/tilejson.json?assets=B01&tile_format=png
https://myendpoint/collections/mycollection/items/oneitem/WorldCRS84Quad/tilejson.json?tile_scale=2&expression=B01/B02&asset_as_band=True
:endpoint:/collections/{collection_id}/items/{item_id}/bounds
- Return the bounds of the STAC item.
Example:
https://myendpoint/collections/mycollection/items/oneitem/bounds
:endpoint:/collections/{collection_id}/items/{item_id}/info
- Return basic info on STAC item's COG.
PathParams:
QueryParams:
Example:
https://myendpoint/collections/mycollection/items/oneitem/info?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}/info.geojson
- Return basic info on STAC item's COG as a GeoJSON feature
PathParams:
QueryParams:
Example:
https://myendpoint/collections/mycollection/items/oneitem/info.geojson?assets=B01
:endpoint:/collections/{collection_id}/items/{item_id}/assets
- Return the list of available assets
:endpoint:/collections/{collection_id}/items/{item_id}/assets
- Return a list of available assets
Example:
https://myendpoint/collections/mycollection/items/oneitem/assets
:endpoint:/collections/{collection_id}/items/{item_id}/asset_statistics - [GET]
PathParams:
QueryParams:
Asset1|1;2;3
).Asset1|b1\\*b2
).nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
:endpoint:/collections/{collection_id}/items/{item_id}/statistics - [GET]
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
:endpoint:/collections/{collection_id}/items/{item_id}/statistics - [POST]
Body:
PathParams:
QueryParams:
Asset1_b1/Asset2_b1
).Asset1/Asset2
can be passed.Asset1|1;2;3
).epsg:4326
.coord_crs
.nearest
.nearest
.Example:
https://myendpoint/collections/mycollection/items/oneitem/statistics?assets=B01&categorical=true&c=1&c=2&c=3&p=2&p98
GET
/tileMatrixSets
JSON (TMS list) return the list of supported TileMatrixSet GET
/tileMatrixSets/{TileMatrixSetId}
JSON (TileMatrixSet) return the TileMatrixSet JSON document"},{"location":"endpoints/tms_endpoints/#list-tms","title":"List TMS","text":":endpoint:/tileMatrixSets
- Get the list of supported TileMatrixSet
curl https://myendpoint/tileMatrixSets | jq\n>> {\n \"tileMatrixSets\": [\n {\n \"id\": \"LINZAntarticaMapTilegrid\",\n \"title\": \"LINZ Antarctic Map Tile Grid (Ross Sea Region)\",\n \"links\": [\n {\n \"href\": \"https://myendpoint/tileMatrixSets/LINZAntarticaMapTilegrid\",\n \"rel\": \"item\",\n \"type\": \"application/json\"\n }\n ]\n },\n ...\n ]\n}\n
"},{"location":"endpoints/tms_endpoints/#get-tms-info","title":"Get TMS info","text":":endpoint:/tileMatrixSets/{TileMatrixSetId}
- Get the TileMatrixSet JSON document
curl http://127.0.0.1:8000/tileMatrixSets/WebMercatorQuad | jq\n>> {\n \"type\": \"TileMatrixSetType\",\n \"title\": \"Google Maps Compatible for the World\",\n \"identifier\": \"WebMercatorQuad\",\n \"supportedCRS\": \"http://www.opengis.net/def/crs/EPSG/0/3857\",\n \"wellKnownScaleSet\": \"http://www.opengis.net/def/wkss/OGC/1.0/GoogleMapsCompatible\",\n \"boundingBox\": {\n \"type\": \"BoundingBoxType\",\n \"crs\": \"http://www.opengis.net/def/crs/EPSG/0/3857\",\n \"lowerCorner\": [\n -20037508.3427892,\n -20037508.3427892\n ],\n \"upperCorner\": [\n 20037508.3427892,\n 20037508.3427892\n ]\n },\n \"tileMatrix\": [\n {\n \"type\": \"TileMatrixType\",\n \"identifier\": \"0\",\n \"scaleDenominator\": 559082264.028717,\n \"topLeftCorner\": [\n -20037508.3427892,\n 20037508.3427892\n ],\n \"tileWidth\": 256,\n \"tileHeight\": 256,\n \"matrixWidth\": 1,\n \"matrixHeight\": 1\n },\n ...\n
"}]}
\ No newline at end of file