Skip to content

NDVI Scaled Int16 Small

rasterGeoTIFFEPSG:32633tinybundled

An int16 NDVI raster with a 0.0001 scale factor and a NoData value. Reading the raw integers without applying scale_factor yields NDVI in the thousands.

Pixels of ndvi_scaled_int16_small, a 16x16 raster, with NoData in magenta
1 band, 16x16 px, int16, sentinel NoData. Rendered from the case's actual pixels, contrast-stretched for display; NoData is shown in magenta.
Property Value
Case ID ndvi_scaled_int16_small
Category raster
Format GeoTIFF
CRS EPSG:32633
Location Southern Italy / Sicily (synthetic, UTM 33N) — 15.00°E, 40.65°N → 15.00°E, 40.65°N
Test tier integration
Size class tiny
Storage class bundled
Redistributable yes
Loader rasterio
Status validated

Use this case

import pytest


@pytest.mark.geocase_case("ndvi_scaled_int16_small")
def test_ndvi_scaled_int16_small(geocase_case) -> None:
    data = geocase_case.load()
    assert data is not None

Use GeoCase in your tests

Install the complete set of vector, raster, and NetCDF dependencies:

pip install "geocase[all]"

View GeoCase on PyPI.

What this case checks

Confirm GeoCase preserves a scaled int16 NDVI product, its scale factor, and its NoData sentinel.

Risk types covered

Expected behavior

Assertion Expected
expect_loadable yes
expect_crs yes
expected_epsg 32633
expect_nodata yes
expected_band_count 1
expected_dtype int16
expected_shape [16, 16]
expected_nodata_value -32768
nodata_convention sentinel
expected_compression deflate
expected_band_names ndvi
expected_scale_factor 0.0001

Known answer

Computed from the actual bytes and gated against them. Grade your own output against these.

Quantity Value
Mean over valid pixels -8818.9529411765
Mean including NoData -8912.50390625
NoData pixels 1
Bounds (case CRS) [500000.0, 4499840.0, 500160.0, 4500000.0]

Known consumer divergences

Disagreements already investigated on this case. If your reader reproduces one of these, it is catalogued — not a new finding.

odc-stac — odc-stac 0.3.x, GDAL 3.12.2

The declared STAC raster:bands scale is dropped at _mdtools.py:125-131, so loaded values are raw DN -- a 10 000x difference against stackstac, which applies it. Silent: no warning is emitted.

Upstream: https://github.com/farzinashouri/geocase/blob/main/docs/plans/38-six-consumer-round-2-and-the-stac-adapter.md

Required capabilities

  • load
  • scale-factor-check
  • nodata-check

Files

Browse this case on GitHub

Source and license

  • Source: geocase-synthetic
  • License: MIT

Tags

delivery:single-file derived geography:utm geotiff ndvi product:ndvi raster