review.md
53 lines · skills/geomaster/references/review.md at 5f2bc03
Review scope and sources
Reviewed 2026-10-01. This skill contains broad geospatial references, not one package. Every preexisting reference was read. Invalid scientific shortcuts were corrected or replaced with bounded workflows; useful API fragments were retained where verified.
Raw lines 1 to 6Evidence boundaries
- The isolated Python 3.13 suite passed 43 tests. Synthetic checks cover masked indices/calibration, terrain with known planes, raster output metadata, classification masks/labels/CRS, refusal to overwrite existing files, and corrected local recipes.
- Public STAC GET searches at Planetary Computer, Earth Search and CDSE each returned two Sentinel-2 L2A items plus next-page links. Separate PySTAC Client searches followed pagination and bounded results to three items per catalog, checking collection/cloud filters. These are metadata tests, not imagery or authenticated download tests.
- A local ODC-STAC 0.5.3 load preserved raw DN values despite asset scale/offset metadata; callers must calibrate explicitly once. Real local COG, GeoParquet and Zarr 2 round trips, Dask raster/vector, Fiona, PyKrige, ESDA, MovingPandas, OSMnx and watershed checks passed.
- Desktop QGIS/ArcPy/GRASS/SAGA, native GDAL, R/Julia/Java/Go/Rust, GPUs and real-scene ML/physical calibration were not executed. Their examples are illustrative and use referenced current interfaces; source review is not runtime validation.
- No authenticated Earth Engine/CDS/Google/Mapbox/OpenWeather calls, service mutations, cloud exports, training jobs, commercial image orders or pretrained weights were used.
Upstream contracts checked
| Surface | Source and result |
|---|---|
| Core GIS | GeoPandas, PyProj, Rasterio masks: axis order, CRS transforms, nodata and array dimensions |
| Raster/COG | GDAL COG, viewshed: actual driver layout, projected coordinates and nodata limitation |
| STAC | PySTAC Client, CDSE, Earth Search: bounded iterator, pages, collection and asset names |
| Planetary Computer | SDK signing source: account/container SAS endpoint, expiry and item modifier |
| Sentinel/Landsat | S2 SR, Landsat L2, normalizedDifference, SAR: QA, reflectance scales, thermal products, negative values and power/dB |
| Climate APIs | CDS: PAT configuration, current API URL and data_format request |
| Other HTTP APIs | Google, Mapbox, OpenWeather, Overpass: current routes, query keys, response status/shape and traversal limits |
| OSM services | OSMnx, Nominatim policy, tile policy: 2.x names, free-flow times and service use boundaries |
| Cloud arrays | ODC, Rioxarray, Xarray Zarr, Dask-GeoPandas: chunks, spatial shuffle, explicit store format |
| Specialist local APIs | MovingPandas, PyKrige, SciPy MILP: current constructors, variance and integer constraints |
| ML/GPU | group splits, SHAP, cuSpatial, PyTorch AMP: output types, holdouts and current namespaces |
| Native GIS | QGIS, ArcGIS viewshed, GRASS, SAGA: actual processing contracts |
| Languages | sf, terra, ArchGDAL, GeoStats, orb, GeoRust, Turf: corrected method names, units and ownership boundaries |
The executed core stack included GeoPandas 1.2.0, Shapely 2.1.2, PyProj 3.8.0, Rasterio 1.5.2, Rioxarray 0.23.0, Xarray 2026.9.0, Dask 2026.8.0, Dask-GeoPandas 0.5.0, scikit-learn 1.9.1, OSMnx 2.1.1, PySTAC Client 0.9.0, Planetary Computer 1.0.0, ODC-STAC 0.5.3, PyArrow 25.0.1, Zarr 3.4.0, MovingPandas 0.23.0, PyKrige 1.7.3, ESDA 2.10.0 and rio-cogeo 7.0.3. Upstream warnings concerned Rioxarray affine multiplication deprecation and the absent optional Stone Soup smoother; the tested MovingPandas operations do not use it.
The core environment intentionally excludes heavy GPU/desktop/specialist stacks. A package being importable or a synthetic check passing does not validate real-world scientific accuracy, field transfer, calibration or service availability.
Raw lines 25 to 53