Tasks to compute Galiano Island's DSM as we've already done for the world, but, with the ability to render entire viewsheds instead of just longest lines.
DSM hillshade screenshots:

The raw data is 87,616x78,341 (~7 billion) elevation samples at 25cm resolution. ~14GB uncompressed. Computationally this is trivial. The hurdle is in fact the sheer scale of storing all the viewsheds, a naive approach would likely reach 100TB.
Reducing the resolution to 1m (~20,000x20,000) and using some basic storage optimisations could get us to around 2TB.
Core
Fixes
Storing viewsheds
Displaying viewsheds
Optional Optimisations
Storage
If 1m resolution is good enough then these aren't necessary
Computation
Seeing as computation is not our bottleneck, these are low priority
Tasks to compute Galiano Island's DSM as we've already done for the world, but, with the ability to render entire viewsheds instead of just longest lines.
DSM hillshade screenshots:

The raw data is 87,616x78,341 (~7 billion) elevation samples at 25cm resolution. ~14GB uncompressed. Computationally this is trivial. The hurdle is in fact the sheer scale of storing all the viewsheds, a naive approach would likely reach 100TB.
Reducing the resolution to 1m (~20,000x20,000) and using some basic storage optimisations could get us to around 2TB.
Core
Fixes
u16elevation data. Currently our.btimplementation and kernel only supportsi16. The Galiano DSM isu16with a max elevation of 33276cm. For now we can just hack it by offsetting intoi16. feat: usegdalfor loading and saving tiles CacheTVS#44Storing viewsheds
Displaying viewsheds
SHIFT+CLICKadds a new potentially overlapping viewshed without hiding the previously displayed viewshed.Optional Optimisations
Storage
If 1m resolution is good enough then these aren't necessary
Computation
Seeing as computation is not our bottleneck, these are low priority