mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-09 21:02:19 +00:00
Merge pull request #1569 from rudycelekli/fix/perimeters-sub-acre-size
fix(perimeters): show a 0.25-acre fire as 0.25 ac, not 0 ac
This commit is contained in:
4 files changed
+40
-1
No files matched your search
@@ -0,0 +1,3 @@
|
||||
- Show a fire perimeter under one acre at its reported size. The incident card
|
||||
rounded WFIGS sizes to whole acres, so a 0.25-acre fire read "0 ac"
|
||||
(Rudy Celekli, @rudycelekli, #1569).
|
||||
@@ -4707,6 +4707,10 @@ by `scripts/qa-emergency-squawk.mjs`. Both accept `--timeout-ms` for slow boot.
|
||||
|
||||
Fire Perimeters uses capped, timed server reads with stale-on-error caching and a per-client limit. A stale snapshot is served for at most 24 hours; the layer row then reads STALE, dated by that snapshot's fetch, and `get_fire_perimeters` returns `stale` and `retrieved_at` with "(data may be stale)" in its summary. Unchanged snapshots retain geometry; link checks cancel on disable or selection change, and the row legend shows reported containment.
|
||||
|
||||
The incident card rounds the WFIGS size to whole acres, except under one acre,
|
||||
where it keeps the reported hundredths: a 0.25-acre fire reads `0.25 ac`, not
|
||||
`0 ac`.
|
||||
|
||||
Prohibited & Restricted Airspace is off by default (share-link token `8`) and sits in
|
||||
Infrastructure. The proxy pages `TYPE_CODE IN ('P','R')` from the FAA SUA
|
||||
FeatureServer, caps the body, and reuses a one-hour snapshot, serving the last
|
||||
|
||||
@@ -159,7 +159,8 @@ export function buildIncidentCard(row, nowMs, { link = null } = {}) {
|
||||
// the known cause, behavior and complexity values and the wording around them.
|
||||
const facts = [];
|
||||
if (Number.isFinite(row.acres)) {
|
||||
const acres = Math.round(row.acres);
|
||||
const acres =
|
||||
row.acres < 1 ? Math.round(row.acres * 100) / 100 : Math.round(row.acres);
|
||||
facts.push(
|
||||
tn(acres, '{acres} ac', '{acres} ac', { acres: formatNumber(acres) }),
|
||||
);
|
||||
|
||||
@@ -302,3 +302,34 @@ test('partial incident details render only the facts that exist', () => {
|
||||
'Catron County · $85K to date',
|
||||
]);
|
||||
});
|
||||
|
||||
test('a fire under one acre keeps its WFIGS size instead of reading 0 ac', () => {
|
||||
const row = {
|
||||
stableId: 'x',
|
||||
name: 'Grey',
|
||||
acres: 0.25,
|
||||
containedPct: null,
|
||||
state: 'US-WA',
|
||||
category: 'WF',
|
||||
discoveredTime: null,
|
||||
updatedTime: null,
|
||||
cause: null,
|
||||
behavior: null,
|
||||
personnel: null,
|
||||
county: null,
|
||||
costToDate: null,
|
||||
complexity: null,
|
||||
};
|
||||
assert.equal(
|
||||
buildIncidentCard(row, 1758000000000).details[0],
|
||||
'0.25 ac · containment unknown · US-WA',
|
||||
);
|
||||
assert.equal(
|
||||
buildIncidentCard({ ...row, acres: 0.01 }, 1758000000000).details[0],
|
||||
'0.01 ac · containment unknown · US-WA',
|
||||
);
|
||||
assert.equal(
|
||||
buildIncidentCard({ ...row, acres: 1.4 }, 1758000000000).details[0],
|
||||
'1 ac · containment unknown · US-WA',
|
||||
);
|
||||
});
|
||||
Reference in new issue
Block a user