|
16 | 16 | - **Local catalog persistence**: `register_local()` persists to |
17 | 17 | `~/.rasteret/datasets.local.json`; `export_local_descriptor()` for |
18 | 18 | sharing catalog entries alongside Collections. |
| 19 | +- **Torchgeo GeoDataset**: Adapter created that use rasteret's own I/O parts to create a Torchgeo |
| 20 | + GeoDataset. |
19 | 21 | - **Native dtype preservation**: COG tiles return in their source dtype (uint16, int8, |
20 | 22 | float32, etc.). No forced float32 conversion. |
21 | 23 | - **Rasterio-aligned masking defaults**: AOI reads now default to `all_touched=False` |
22 | 24 | and fill masked/outside-coverage pixels with `nodata` when present, otherwise `0`. |
23 | | - The primary read API (`read_cog`) returns a `valid_mask` so ML pipelines can avoid |
24 | | - learning from filled pixels. |
| 25 | + The primary read API (`read_cog`) returns a `valid_mask`. |
25 | 26 | - **rioxarray removed**: CRS encoding uses pyproj CF conventions directly (WKT2, PROJJSON, |
26 | 27 | GeoTransform). The `xarray` extra no longer pulls rioxarray. |
27 | 28 | - **Extended TIFF header parsing**: nodata, SamplesPerPixel, PlanarConfiguration, |
|
32 | 33 | reproject to the most common CRS. Cross-CRS reprojection uses GDAL's |
33 | 34 | `calculate_default_transform` for correct resolution handling. |
34 | 35 |
|
| 36 | + |
| 37 | +### Collection API |
| 38 | + |
| 39 | +- **Collection inspection**: `.bands`, `.bounds`, `.epsg`, `len()`, `__repr__()`, |
| 40 | + `.describe()`, `.compare_to_catalog()` for quick metadata access without |
| 41 | + materializing the full table. |
| 42 | +- **Filtering**: `collection.subset(cloud_cover_lt=..., date_range=..., bbox=..., |
| 43 | + geometries=..., split=...)` for friendly filtering; `collection.where(expr)` for |
| 44 | + raw Arrow dataset expressions. `select_split()` convenience wrapper. |
| 45 | +- **Sharing**: `collection.export("path/")` writes a portable copy; |
| 46 | + `rasteret.load("path/")` reloads it. |
| 47 | + |
35 | 48 | ### Other changes |
36 | 49 |
|
37 | 50 | - Arrow-native geometry internals (GeoArrow replaces Shapely in hot paths). |
38 | 51 | - obstore as base dependency for Rust-native HTTP backend. |
39 | 52 | - CLI: `rasteret collections build|list|info|delete|import`, `rasteret build` shortcut. |
40 | 53 | - CLI: `rasteret datasets list|info|build|register-local|export-local|unregister-local`. |
41 | | -- Polished documentation, tutorials, and example scripts. |
42 | | -- CI workflow fixes and public repo cleanup. |
43 | 54 |
|
44 | 55 | ### Tested |
45 | 56 |
|
|
49 | 60 | as the oracle, matching TorchGeo's own read semantics. See |
50 | 61 | `test_dataset_pixel_comparison.py` and `test_network_smoke.py`. |
51 | 62 |
|
52 | | -### Stability |
53 | | - |
54 | | -- STAC + COG scene workflows: **stable** |
55 | | -- Multi-cloud (S3, Azure Blob, GCS): stable |
56 | | -- Dataset catalog: stable |
57 | | -- TorchGeo adapter: **stable** (upgraded from experimental) |
58 | | -- Non-STAC / record-table ingestion (build_from_table): stable |
59 | | - |
60 | 63 | ### Breaking changes |
61 | 64 |
|
62 | 65 | - `get_xarray()` returns data in native COG dtype instead of always float32. Code that |
|
0 commit comments