mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-05-13 10:36:21 +02:00
* fix(supply-chain): correct PortWatch ArcGIS URL, field names, and chokepoint mappings The PortWatch seed was failing silently because: 1. Wrong service name: portal_chokepoint_daily -> Daily_Chokepoints_Data 2. Wrong query fields: chokepoint/observation_date -> portname/date (epoch) 3. Wrong data model: expected one row per vessel type, actual schema has all counts as columns (n_tanker, n_cargo, n_total) per row 4. Wrong chokepoint names: e.g. "Strait of Malacca" -> "Malacca Strait", "Bab el-Mandeb" -> "Bab el-Mandeb Strait", "Bosphorus" -> "Bosporus Strait" 5. Removed Dardanelles (not in PortWatch dataset) Discovered via IMF PortWatch ArcGIS service directory and returnDistinctValues query on the portname field. * feat(supply-chain): add Korea, Dover, Kerch, Lombok chokepoints Extend from 10 to 14 monitored chokepoints using PortWatch data availability. All 4 new straits have IMF PortWatch coverage. - Korea Strait: Japan-Korea trade, busiest East Asia corridor - Dover Strait: world's busiest shipping lane - Kerch Strait: war_zone (Russia controls, Ukraine grain restricted) - Lombok Strait: Malacca bypass for VLCCs Added to: handler config, canonical ID map, PortWatch seed names, AIS relay transit counter, tests. * docs: update maritime docs and changelog for 14 chokepoints + transit intelligence - maritime-intelligence.mdx: 9 -> 14 chokepoints, add data source descriptions, add chart rendering note - changelog.mdx + CHANGELOG.md: add [Unreleased] section for #1560 and #1572 * fix(tests): update portwatch test for pre-aggregated column model pwClassifyVesselType was removed when switching to pre-aggregated n_tanker/n_cargo/n_total columns. Update test to verify the new field names instead. * fix(supply-chain): sync canonical PortWatch names with actual ArcGIS feed P1: Dardanelles has no PortWatch data (0 rows). Set portwatchName to empty string so it won't attempt fetch or show phantom zero history. P2: portwatchNameToId() returned undefined for Malacca Strait, Bab el-Mandeb Strait, Gibraltar Strait, Bosporus Strait because canonical map used old names instead of actual ArcGIS portname values. Fixed mappings: Strait of Malacca -> Malacca Strait Bab el-Mandeb -> Bab el-Mandeb Strait Strait of Gibraltar -> Gibraltar Strait Bosphorus -> Bosporus Strait Dardanelles -> '' (not in PortWatch) * refactor(supply-chain): merge Dardanelles into Turkish Straits IMF PortWatch tracks Bosphorus+Dardanelles as a single corridor (Bosporus Strait). Keeping them separate caused double-counting in AIS transit data and left Dardanelles with permanently empty history. - Merge into single "Turkish Straits" entry (id stays 'bosphorus') - Absorb all Dardanelles keywords (canakkale, gallipoli, aegean) - Single wider AIS geofence (lat 40.70, lon 28.0, radius 1.5) - 14 -> 13 chokepoints - Update docs, changelog, tests * fix: rename Turkish Straits to Bosporus Strait (match PortWatch naming)