++ ++
GeoZL

codec / split · 1→2 / lossless

nodata

Keep missing samples out of the predictor.

nodata separates a raster into filled values and a validity mask. Missing positions borrow a nearby valid value, so later predictors see a continuous surface instead of a sudden jump. During decoding, the declared nodata value or NaN is restored wherever the mask marks a hole. Put this codec before quantization, and use it only on tiles that contain nodata.

ctid
0x72D70C
header
the nodata pattern at the sample width
modes
every NaN · one declared sentinel
widths
8 · 16 · 32 · 64-bit samples
decode
branchless select, values where the mask keeps, pattern where it discards
Code geozl.lossless.Nodata(width, value, dtype)
nodata splits the raster into a filled value stream and a validity mask. Holes are filled from the west neighbour, and on decode the stored pattern is written back wherever the mask is zero holes leave as a mask, values fill in behind them