News for hackers. Stuff that matters.
Re:Terracotta: Serverless GeoTiff Tile Server by Waterluvian on Monday July 26, 2021 @07:47AM (#27958274)
For tile raster services, the story for caching already rendered tiles to a CDN needs to be first class. The Lambda portion is really just the minor detail: the thing that generates tiles if thy haven’t been generated yet.

But depending on your zoom levels and map size, ideally you don’t even have a lambda service and just precache tiles. Then you’ve reduced your service to a dead simple file host problem.

Re:Terracotta: Serverless GeoTiff Tile Server by dionhaefner on Monday July 26, 2021 @07:51AM (#27958306)
That is true to some degree, but with Terracotta we allow the frontend to do manipulations on the fly. Like changing contrast, applying colormaps, or band math. So the number of possible tiles is infinite.

If you don’t need that, you can just pre-generate all PNGs - then you don’t even need a server anymore, just a hash function to identify the right file and a big disk.

Re:Terracotta: Serverless GeoTiff Tile Server by jhgb on Tuesday July 27, 2021 @06:02AM (#27970615)
> like changing contrast, applying colormaps, or band math

Surely these are examples of things that a client could do with raster data independent of the capabilities of a server?

Re:Terracotta: Serverless GeoTiff Tile Server by dionhaefner on Tuesday July 27, 2021 @06:34AM (#27970812)
Only if the client has access to the full bit depth. The rendered PNGs are uint8, but the underlying raw data is often stored in 16 or even 32 bit precision.
Re:Terracotta: Serverless GeoTiff Tile Server by jhgb on Tuesday July 27, 2021 @07:59AM (#27971392)
I imagine that with HTTP range requests, it shouldn't be hard to access original TIFF data. Javascript or WebAssembly can then work with arbitrary bytevectors.
Re:Terracotta: Serverless GeoTiff Tile Server by dionhaefner on Tuesday July 27, 2021 @09:36AM (#27972250)
Yes, it’s possible. There are some proofs of concept for that IIRC. If you prefer to write everything in Javascript you can do that and do all heavy lifting in the client (plus some extra work to provide indexing and metadata like Terracotta).