Skip to content

GeoTIFF: Support reading and rendering stripped images #573

@kylebarron

Description

@kylebarron

This is probably a good chunk of work. We'll need to

  • create a separate tileset descriptor for the RasterTileLayer to localize strips instead of tiles
  • Support fetching strips instead of tiles
  • Check against max GPU texture sizes

Should mirror developmentseed/async-geotiff#106

We don't support strip-oriented TIFFs, but some "COGs" are so small that they only have a single tile and don't encode tile_height and tile_width values in the IFD.

For example from source-cooperative/cog-viewer#5

> rio cogeo info https://data.source.coop/clarkcga/multi-temporal-crop-classification/hls/chip_002_060_merged.tif
Driver: GTiff
File: https://data.source.coop/clarkcga/multi-temporal-crop-classification/hls/chip_002_060_merged.tif
COG: True
Compression: None
ColorSpace: None

Profile
    Width:            224
    Height:           224
    Bands:            18
    Tiled:            False
    Dtype:            int16
    NoData:           -9999.0
    Alpha Band:       False
    Internal Mask:    False
    Interleave:       PIXEL
    ColorMap:         False
    ColorInterp:      ('gray', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined', 'undefined')
    Scales:           (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    Offsets:          (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

Geo
    Crs:              EPSG:5070
    Origin:           (-1952895.0, 3159165.0)
    Resolution:       (30.0, -30.0)
    BoundingBox:      (-1952895.0, 3152445.0, -1946175.0, 3159165.0)
    MinZoom:          11
    MaxZoom:          12

Image Metadata
    AREA_OR_POINT: Area

Image Structure
    INTERLEAVE: PIXEL

Band 1
    ColorInterp: gray

Band 2
    ColorInterp: undefined

Band 3
    ColorInterp: undefined

Band 4
    ColorInterp: undefined

Band 5
    ColorInterp: undefined

Band 6
    ColorInterp: undefined

Band 7
    ColorInterp: undefined

Band 8
    ColorInterp: undefined

Band 9
    ColorInterp: undefined

Band 10
    ColorInterp: undefined

Band 11
    ColorInterp: undefined

Band 12
    ColorInterp: undefined

Band 13
    ColorInterp: undefined

Band 14
    ColorInterp: undefined

Band 15
    ColorInterp: undefined

Band 16
    ColorInterp: undefined

Band 17
    ColorInterp: undefined

Band 18
    ColorInterp: undefined

IFD
    Id      Size           BlockSize     Decimation
    0       224x224        224x1         0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions