Problem
dft_rast_break() (added in #30) produces per-pixel break date and
magnitude rasters, but not a categorical "from → to" label for each break.
The optional bolt-on described in #30 would attach a land-cover transition label
to each detected break by sampling the existing IO LULC maps at break-pixel
locations on either side of break_date — turning continuous-index hotspots
into option-1-style categorical transitions (e.g. "Trees → Bare").
Why deferred from #30
This depends on the arbitrary-factor-raster generalization tracked in #19 (to
reuse dft_rast_transition() cleanly against sampled IO LULC labels), and #30
already delivers standalone value (break date + magnitude) without it.
Proposed approach
- For each pixel with a finite
break_date, sample the IO LULC class in the
year before and the year after the break.
- Reuse
dft_rast_transition() to form the "from → to" label.
- Return the break raster with an added categorical
transition layer (or an
sf of break patches labelled with transitions, dovetailing with
dft_transition_vectors()).
Depends on #19. Relates to #30.
Problem
dft_rast_break()(added in #30) produces per-pixel break date andmagnitude rasters, but not a categorical "from → to" label for each break.
The optional bolt-on described in #30 would attach a land-cover transition label
to each detected break by sampling the existing IO LULC maps at break-pixel
locations on either side of
break_date— turning continuous-index hotspotsinto option-1-style categorical transitions (e.g. "Trees → Bare").
Why deferred from #30
This depends on the arbitrary-factor-raster generalization tracked in #19 (to
reuse
dft_rast_transition()cleanly against sampled IO LULC labels), and #30already delivers standalone value (break date + magnitude) without it.
Proposed approach
break_date, sample the IO LULC class in theyear before and the year after the break.
dft_rast_transition()to form the "from → to" label.transitionlayer (or ansfof break patches labelled with transitions, dovetailing withdft_transition_vectors()).Depends on #19. Relates to #30.