Version: [6870] LEE RS Lab 2.4.1 Experimental

2.4.1 Code-safety fixes for the QGIS plugin repository scan: no silent
try/except/pass (Planetary Computer token expiry is now checked
explicitly and logged), no ambiguous variable names. No change in
behaviour.
2.4.0 Simpler panel: Basic / Advanced switch in the header (Basic is
the default and hides filters, PCA, ISODATA, extra algorithms and
parameters, signatures, WorldCover training, polygon export and the
LEE tab; nothing is removed). Magic wand (click-to-grow) training:
pick a class, click a pixel, similar connected pixels become a
training polygon (tolerance, max. area, undo, counts per class; the
training layer is created automatically).
2.3.1 Fixes: (1) Map layout scale bar — labels no longer overlap
("2,5005,000 m"): kilometres, 2 segments with a round length (1, 2, 5
× 10^n) of about a quarter of the map width. (2) Change ›
one-transition map: the layer name, legend and status line use the
class names in the current language (Khmer: «តំបន់សំណង់ → ស្រូវ /
ដីដំណាំ» instead of "Built-up → Rice / cropland"). (3) Cluster / class
spectra charts: when radar bands in dB (VV, VH, e.g. the multi-season
stack) are mixed with reflectance or indices, the radar bands get
their own panel and dB axis, so the index lines are no longer squashed
flat.
2.3.0 Classify › Unsupervised, from the Land Cover Mapper:
"Multi-season stack (local, no login)" builds a 13-band feature stack
for the AOI with LEE — Sentinel-2 dry season (Feb–Apr) and green
season (Sep–Nov) medians (NDVI, seasonal swing, NDMI, red-edge, MNDWI,
NDBI, SWIR, brightness) plus Sentinel-1 VH/VV dry and wet season — so
K-means separates evergreen from deciduous trees, paddy from upland
crops, permanent from seasonal water and built-up land; the stack is
chosen for clustering automatically. The cluster table has a Hint
column (also for ordinary images, from NDVI/MNDWI/NDBI); clicking a
row zooms to a random pixel of that cluster on Esri imagery (click
again for the next one); "Suggest classes from hints" fills empty →
class boxes from the active scheme; "Split selected cluster into n"
re-clusters a mixed cluster. Khmer: reflectance = ការចាំងផ្លាត.
2.2.4 Fix: MODIS NDVI/EVI (and any Planetary Computer data) failed
with "HTTP response code: 403" for every image. Files are now signed
with a token for their own storage container (like the official
planetary_computer library) instead of a token by collection name; a
rejected or expired token is refreshed and the read retried once; a
clear message if the server still refuses.
2.2.3 The AOI is kept: it is saved in the project and, by default, as
a GeoPackage layer "AOI" in the Layers panel, and it comes back
automatically after a plugin update, a reload or reopening the
project. New imagery: Landsat 1-5 MSS Collection 2 Level-1 (raw DN, 60
m, 1972-2013) from Planetary Computer; choosing it moves the dates
into the sensor lifetime.
2.2.2 More datasets and every LEE layer are now cut to the AOI shape
(DEM, slope, hillshade, land cover…), and class statistics count only
the AOI; land-cover legends list only the classes found in the AOI (no
"Snow and ice" in Cambodia); lee.config(clip=False) and img.clip() for
scripts. Band combination: "Apply automatically when a setting
changes" (on by default; choosing another image never restyles it by
itself).
2.2.1 First release on plugins.qgis.org (experimental). LICENSE file
in the plugin; only http(s) URLs are opened; ignored errors are logged
at debug level; Khmer text in charts is drawn by Qt so it is shaped
correctly; change detection refuses results made from raw images; PDF
report keeps the map on page 1; Help links to the online manual. Khmer
terms: plugin = កម្មវិធីជំនួយ, remote sensing = ការយកព័ត៌មានពីចម្ងាយ.
2.2.0 Renamed LEE RS Lab. One toolbar icon (no basemap arrow; basemaps
stay in the panel header). Fix: installing scikit-learn on macOS
crashed ("init_sys_streams … text_encoding") — only a Python of the
same version as QGIS is used, never with QGIS's standard library;
otherwise pip runs inside QGIS; the button shows when scikit-learn is
already installed. Fix: "&" in section titles showed as an underline.
Khmer: band = ប៊ែន, reflectance = ការចាំផ្លាត. Classify: one shared
Classes (legend) section with schemes (RS Lab, LULC level 1, Auto 7,
ESA WorldCover), save/open CSV; clusters are labelled with class
drop-downs; K-means / ISODATA enable only their own parameters. From
the GEE LULC Toolkit: Cochran sample size with proportional / equal
allocation and a minimum per class; point labelling with class
buttons, next / previous / next unlabelled, zoom and an optional
map-class hint; automatic training points from ESA WorldCover (Auto 7,
pure pixels); print map layout (title, legend, scale bar, north arrow,
sources, accuracy). Change: from → to is the default, with gains /
losses per class, the largest transitions, net-change chart, Sankey
diagram of the from → to flows (offline HTML, from the GEE LULC
Toolkit), date 1 vs date 2 area chart, CSV, map of one chosen
transition (e.g. Forest → Cropland) and the tables in the PDF report;
codes are now from×1000+to (class ids up to 999, e.g. WorldCover 100).
LEE: "Use a result in the other tabs" (Enhance, Classify, Accuracy,
Change date 1/2), class maps go to the accuracy/change boxes, and
lee.Image.open("layer name" or path) reads project rasters into
scripts. 18 new LEE examples (32 in all): indices pack, red-edge
chlorophyll, land surface temperature, urban expansion, forest loss /
gain, NDVI-drop deforestation, rice calendar from Sentinel-1 VH, radar
colour composite, S2 + S1 fusion clustering, dry vs rainy season
water, JRC water seasonality, elevation zones, MODIS drought anomaly,
Landsat 5 vs today, clear-observation count, haze-free percentile
composite, mangroves & wetlands, Image.open. Reversed colour ramps
(e.g. "Spectral_r").
2.1.0 Compact panel: 10 tabs → 5 (1 Data · 2 Enhance · 3 Classify · 4
Change · 5 LEE) with collapsible one-at-a-time sections, lessons
inside each section, result tables shown only when there are results,
button rows that wrap, combo boxes and form rows that fit a narrow
dock (tab bar scrolls on macOS). One toolbar icon: click opens the
panel, its arrow lists the basemaps (also in the panel header). New:
area-adjusted accuracy and class areas with 95 percent confidence
intervals (Olofsson et al. 2014) in the accuracy section, CSV and PDF
report; Clean up & export polygons (sieve to a minimum mapping unit,
polygonize to GeoPackage with class name and area). Fix: Search scenes
/ Preview / Download failed (missing scene-parameter helpers).
2.0.2 Fix a QGIS crash (segmentation fault in QLocale::doubleToString)
when styling a layer whose pixels all have one value (e.g. a water or
flood mask): colour ramps and legend labels are now built by RS Lab
with a guarded min/max.
2.0.1 Accuracy: points are sampled at their exact pixel; a clear
message (and the attribute table opens) when ref_class is still empty,
points fall outside the map, or only on unclassified pixels. LEE
label: "LEE · Local Earth Engine" tag, tab "9 LEE Script", LEE badge
on the icon.
2.0.0 No Google Earth Engine: everything uses free data without login
and runs locally. New tab 9 Script — LEE (Local Earth Engine),
GEE-style scripting with 14 examples. More datasets for the AOI:
Copernicus DEM, NASADEM, ESA WorldCover, annual land cover, JRC
surface water, MODIS NDVI. Setup tab: connection test and cache
control.
1.3.1 Fix: "wrapped C/C++ object of type QToolBar has been deleted"
when unloading or reloading the plugin.
1.3.0 Project CRS follows the AOI (UTM zone at the AOI centre, Web
Mercator for very wide AOIs; can be switched off); Auto download CRS
shows the detected zone. Basemaps: 10 one-click XYZ basemaps (Esri,
Google, EOX Sentinel-2 cloudless, OSM, OpenTopoMap, CARTO) from the
toolbar or the Download tab, added under the imagery; attribution goes
into the report.
1.2.0 Renamed RS Lab (was RS Teaching Lab; settings and installed
Earth Engine package are reused). Own toolbar. AOI preset to
administrative units with a country level for any country (HDX COD-AB
→ ODC → geoBoundaries → Earth Engine), preset Cambodia; whole-country
AOI; boundaries load automatically. Imagery source preset to Microsoft
Planetary Computer.
1.1.2 Fix: panel failed to open when a web basemap (Google Satellite
XYZ/WMS) was in the project; image boxes now list only file-based
rasters.
1.1.1 Faster cloud downloads: cloud masks read first so only the
clearest scenes over the AOI are downloaded; parallel connections
(setting); direct window reads without reprojection when the image is
already in the target UTM zone; HTTP/2 and caching. Earth Search tile
ids shown.
1.1.0 Imagery without GEE: Earth Search (AWS) and Microsoft Planetary
Computer STAC sources (Sentinel-2 L2A, Landsat 5/7/8/9 L2, Sentinel-1
RTC) with local cloud-masked composites and quick look; local band-set
builder for EarthExplorer / Copernicus Browser / SAFE files. Admin
boundaries: robust HDX COD-AB reader (both schemas, P-code cascade,
Khmer names), ODC fallback, own boundary file, add AOI to map.
Language switch now also translates legend class labels and keeps the
province/district/commune selection.
1.0.0 First release.

yes

khgeo

2026-11-08T16:26:33.241552+00:00

3.22.0

3.99.0

None

yes

Version management

Plugin details