Rasters.jl icon indicating copy to clipboard operation
Rasters.jl copied to clipboard

Add support for SRTM from RasterDataSources.jl

Open jenkspt opened this issue 3 years ago • 5 comments

SRTM is a new dataset in RasterDataSources.jl. The SRTM type needs to be added to src/sources/rasterdatasources.jl to support the following interface:

Raster(SRTM; crs=..., bounds=(...))

Details:

  • getraster(SRTM, ...) returns a matrix of tile paths, which is currently unsupported by Raster (?)
  • Since tiles are still somewhat large (6000 x 6000 pixels), using a BlockArray of DiskArrays is an option for the Raster array backing. (BlockArrays.jl)

jenkspt avatar Jan 20 '22 18:01 jenkspt

@rafaqz

jenkspt avatar Jan 20 '22 18:01 jenkspt

Yep. Could also be generally useful to have a way to stitch tiles together, mosaic is very slow compared to when you know the tiles match step size and dont overlap.

This needs 2 parts. A way to stitch the BlockArrays, and a way to combine the dimensions. Probably combine already has that part solved. Other than that its just a regular Raster.

Then we'll need a method for RasterDataSources types that have tiles, or just this SRTM to get started.

Do you want to have a go at a PR?

rafaqz avatar Jan 20 '22 19:01 rafaqz

Yea I'll have a go at it. Thanks for the feedback!

jenkspt avatar Jan 20 '22 20:01 jenkspt

Sweet! Don't hesitate to ping me on things here, or make a work in progress PR. I try to streamline things but DimensionalData.jl is inherantly pretty complicated, and you may need to understand a bit of how LookupArray and Dimensions work to get this done.

rafaqz avatar Jan 20 '22 20:01 rafaqz

I've just registered a new version of DiskArrays.jl with lazy cat, so we can cat together the SRTM tiles without reading the files.

rafaqz avatar Aug 04 '23 19:08 rafaqz