Repository navigation
v0.3.1
Bug-fix release for large Google Earth Engine requests (#134). gse could return duplicated mosaics for ROIs above about 262,144 pixels, and every GEE-backed model could gain a fill-value row or column, or lose a real one, where an oversized request was split. If you exported gse embeddings, or grid outputs from on-the-fly models, for BBox ROIs above that size, re-export them.
Fixed
gseno longer returns duplicated mosaics for large ROIs.gseused to tile oversized requests itself: it sized them with an estimate that undercounts EPSG:3857 pixels by about 1/cos(lat), cut overlapping tiles, and joined them with a plain concatenation. Results came back duplicated at any latitude: a near-complete copy of the ROI in each quadrant at high latitude, about 2.2× at 35–38°N and 500 m. Pooled vectors were biased the same way, and some requests raised aValueError.gsenow makes a single provider request and leaves the splitting to the provider.- GEE requests above the
sampleRectanglepixel limit now stitch exactly. The provider's pixel-limit fallback cut requests at the Mercator midpoint and then trimmed or padded each seam toward an estimated length, which could insert a fill-value row/column or drop a real one. Cuts now fall on pixel edges of the common EPSG:3857 grid, so a split request reproduces the single-request grid exactly. OversizedBBoxrequests are also split up front instead of after a failed request.- Who was affected:
gseand all on-the-fly models (single-image, Sentinel-1 and multi-frame fetches share this path), for aBBoxROI above 262,144 pixels atscale_m, roughly 5 km × 5 km at 10 m. Not every such request was hit; it depended on where the cut landed. For on-the-fly models a seam showed up as a black line in the model input, with the image beyond it shifted by one pixel. That perturbed grid embeddings near the seam and slightly biased pooled vectors. - Not affected:
PointBufferROIs (an oversized one raises an error instead),BBoxROIs under the limit,tessera,copernicus_embed, user-provided data (get_embedding_from_data), and model-sideinput_prep="tile"tiling.
- Who was affected:
Deprecated
RS_EMBED_GSE_MAX_PIXELSno longer has any effect and emits aFutureWarningwhen set; it will be removed in a future release. It only served as a workaround for thegseduplication above.