Skip to content

Commit 5c2b679

Browse files
Merge pull request #158 from developmentseed/feat/add-cog-endpoints
add /cog/ endpoints in raster service
2 parents c6ff359 + 7828dcc commit 5c2b679

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

.github/workflows/tests/test_raster.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,15 @@ def test_collections():
235235
collections = resp.json()
236236
assert len(collections) == 1
237237
assert collections[0]["id"] == "noaa-emergency-response"
238+
239+
240+
def test_cog_endpoints():
241+
"""test /cog endpoints"""
242+
resp = httpx.get(
243+
f"{raster_endpoint}/cog/info",
244+
params={
245+
"url": "https://noaa-eri-pds.s3.us-east-1.amazonaws.com/2020_Nashville_Tornado/20200307a_RGB/20200307aC0854500w361030n.tif",
246+
},
247+
)
248+
assert resp.status_code == 200
249+
assert resp.headers["content-type"] == "application/json"

runtime/eoapi/raster/eoapi/raster/app.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,14 @@
1717
from starlette.templating import Jinja2Templates
1818
from starlette_cramjam.middleware import CompressionMiddleware
1919
from titiler.core.errors import DEFAULT_STATUS_CODES, add_exception_handlers
20-
from titiler.core.factory import AlgorithmFactory, MultiBaseTilerFactory, TMSFactory
20+
from titiler.core.factory import (
21+
AlgorithmFactory,
22+
MultiBaseTilerFactory,
23+
TilerFactory,
24+
TMSFactory,
25+
)
2126
from titiler.core.middleware import CacheControlMiddleware
27+
from titiler.extensions import cogViewerExtension
2228
from titiler.mosaic.errors import MOSAIC_STATUS_CODES
2329
from titiler.pgstac.db import close_db_connection, connect_to_db
2430
from titiler.pgstac.dependencies import CollectionIdParams, ItemIdParams, SearchIdParams
@@ -210,6 +216,17 @@ def viewer(request: Request, item: pystac.Item = Depends(stac.path_dependency)):
210216
)
211217

212218

219+
###############################################################################
220+
# COG Endpoints
221+
cog = TilerFactory(
222+
router_prefix="/cog",
223+
extensions=[
224+
cogViewerExtension(),
225+
],
226+
)
227+
228+
app.include_router(cog.router, prefix="/cog", tags=["Cloud Optimized GeoTIFF"])
229+
213230
###############################################################################
214231
# Tiling Schemes Endpoints
215232
tms = TMSFactory()

runtime/eoapi/raster/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ classifiers = [
2020
dynamic = ["version"]
2121
dependencies = [
2222
"titiler.pgstac==1.0.0a3",
23+
"titiler.extensions",
2324
"starlette-cramjam>=0.3,<0.4",
2425
"importlib_resources>=1.1.0;python_version<'3.9'",
2526
]

0 commit comments

Comments
 (0)