Commit e87d888
committed
feat(rust/sedona-raster): trinary Override for BandOverrides; copy_into stops composing views
Replace the all-Option BandOverrides fields with a trinary Override<T>
(Keep/Clear/Set) for the clearable fields (name, nodata, outdb_uri,
outdb_format, view); dim_names stays Option because a band always has dim
names, so there is no absent state for Clear to express. copy_into now
resolves each field by matching on the Override and never composes the
view: Keep inherits the source view, Clear resets to the canonical
identity view, and Set uses the given view verbatim. Callers that want
the old compose behaviour pass Set(&source.view().compose(&next)?).
RasterBuilder::with_view adopts this model: it composes the supplied
delta onto the input's own view itself and passes the absolute result as
Override::Set, inheriting nodata and the outdb hints from the input via
Override::Keep (a None override maps to Keep, an explicit value to Set).
This keeps both the source-nodata inheritance and the compose-time bound
against the parent's visible window that copy_into used to provide.1 parent 5ddcfb1 commit e87d888
3 files changed
Lines changed: 241 additions & 71 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
819 | 819 | | |
820 | 820 | | |
821 | 821 | | |
822 | | - | |
| 822 | + | |
823 | 823 | | |
824 | 824 | | |
825 | 825 | | |
| |||
888 | 888 | | |
889 | 889 | | |
890 | 890 | | |
891 | | - | |
| 891 | + | |
892 | 892 | | |
893 | 893 | | |
894 | 894 | | |
| |||
918 | 918 | | |
919 | 919 | | |
920 | 920 | | |
921 | | - | |
922 | | - | |
923 | | - | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
924 | 924 | | |
925 | 925 | | |
926 | 926 | | |
| |||
949 | 949 | | |
950 | 950 | | |
951 | 951 | | |
952 | | - | |
| 952 | + | |
953 | 953 | | |
954 | 954 | | |
955 | 955 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
404 | 408 | | |
405 | 409 | | |
406 | 410 | | |
407 | | - | |
| 411 | + | |
408 | 412 | | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
413 | 417 | | |
414 | 418 | | |
415 | 419 | | |
| |||
0 commit comments