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).
36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# 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
|