mirror of
https://github.com/ARUP-CAS/aiscr-qgis-amcr-viewer.git
synced 2026-10-09 20:37:37 +02:00
* fix: váha prvku komponent počítaná z komponent prošlých filtrem (#55) Váha prvku_vaha = 1/n se dosud počítala ze všech komponent dokumentační jednotky ještě před filtrem na období a areál, takže při aktivním filtru váhy prvků jedné DJ nedávaly v součtu 1 (DJ se 4 komponentami, filtru vyhoví 1 → váha 0,25 místo 1). - nová funkce _component_entries: nejdřív vyfiltruje komponenty, pak přidělí váhu 1/n z těch, které prošly; DJ bez komponent má váhu 1 - smoke test vaha_komponent (4×0,25; 1 ze 4 → 1; 2 ze 3 → 2×0,5; bez komponent → 1) - README: pole prvek_vaha v tabulce atributů komponent - changelog v2.2.0 doplněn (bez povýšení verze) - OpenSpec změna openspec/changes/fix-component-feature-weight Ověřeno: živá data (Praha, novověk) – 0 z 1204 DJ se součtem vah ≠ 1, původní kód 921; check_sources, bandit, detect-secrets, flake8, ruff, pyqgis4-checker, smoke test v qgis/qgis:ltr i :stable. Implementace připravena AI (Claude, subagent), ověřena a zkontrolována. * openspec: archivovat fix-component-feature-weight (#55) Ruční test v QGIS ověřen správcem: akce i lokality s Načíst komponenty, bez filtru i s filtrem období – váhy prvků jedné DJ dávají součet 1 a počítají se jen z vyfiltrovaných komponent. Úkol 3.2 odškrtnut, změna archivována přes openspec archive --skip-specs. Připraveno s pomocí AI (Claude).
1.5 KiB
1.5 KiB
Spec Delta
Purpose
Describes how components of fieldwork events and sites become map features and how their weight lets spatial analyses count a shared geometry once.
ADDED Requirements
Requirement: Weight of component features sums to one per DJ
When components are loaded as features, each feature SHALL carry the weight
prvek_vaha = 1/n, where n is the number of features created from the
same documentation unit in this download. Components excluded by the period
or area filter SHALL NOT count towards n.
Scenario: No component filter
- WHEN a documentation unit has 4 components and no period or area filter is set
- THEN 4 features are created, each with weight 0.25
Scenario: Filter keeps some components
- WHEN a documentation unit has 4 components and the period filter matches 1 of them
- THEN 1 feature is created with weight 1
Scenario: Filter keeps two of three components
- WHEN a documentation unit has 3 components and the filter matches 2 of them
- THEN 2 features are created, each with weight 0.5, and their weights sum to 1
Requirement: Documentation unit without components has weight one
When components are loaded and a documentation unit has no component, the single feature created for it SHALL have weight 1 and empty component fields.
Scenario: DJ without components, no filter
- WHEN a documentation unit with a PIAN has no components and no component filter is set
- THEN one feature is created with empty component fields and weight 1