|
| 1 | +# Fix Summary: Foreign-zone city timezone cleanup (#1085 follow-up) |
| 2 | + |
| 3 | +Closes the residual scope from #1085. The original issue called out a handful |
| 4 | +of countries (ES, RO) where city timezone fields pointed at the wrong IANA zone. |
| 5 | +Master is clean for those. This PR sweeps every remaining city row whose |
| 6 | +timezone field belongs to a neighbouring country. |
| 7 | + |
| 8 | +## Scope |
| 9 | + |
| 10 | +72 rows across 4 country files: |
| 11 | + |
| 12 | +| File | Wrong zone | Correct zone | Rows | |
| 13 | +|------|------------|--------------|-----:| |
| 14 | +| `contributions/cities/VN.json` | `Asia/Bangkok` | `Asia/Ho_Chi_Minh` | 63 | |
| 15 | +| `contributions/cities/PS.json` | `Asia/Jerusalem` | `Asia/Hebron` | 6 | |
| 16 | +| `contributions/cities/UZ.json` | `Asia/Bishkek` | `Asia/Tashkent` | 2 | |
| 17 | +| `contributions/cities/ID.json` | `Asia/Ho_Chi_Minh` | `Asia/Pontianak` | 1 | |
| 18 | + |
| 19 | +## Per-file rationale |
| 20 | + |
| 21 | +- **VN (63 rows):** All 63 sit in Vietnamese provinces (state codes spanning |
| 22 | + northern, central, and southern VN). Vietnam observes ICT (UTC+7) in a single |
| 23 | + IANA zone: `Asia/Ho_Chi_Minh`. `Asia/Bangkok` is Thailand's zone — never |
| 24 | + correct for a Vietnamese city. |
| 25 | + |
| 26 | +- **PS (6 rows):** All 6 sit in West Bank governates — Bethlehem (BTH), |
| 27 | + Hebron (HBN), Jerusalem governate (JEM), Salfit (SLT). The IANA mapping for |
| 28 | + the Palestinian territories is geographic: `Asia/Gaza` for Gaza Strip, |
| 29 | + `Asia/Hebron` for the West Bank. None of the 6 are in the Gaza Strip, |
| 30 | + so all map to `Asia/Hebron`. `Asia/Jerusalem` is Israel's zone. |
| 31 | + |
| 32 | +- **UZ (2 rows):** Both are in Fergana Region (state_code `FA`), eastern |
| 33 | + Uzbekistan. Uzbekistan observes UZT (UTC+5) under `Asia/Tashkent` (the |
| 34 | + most populous IANA zone for the country) or `Asia/Samarkand`. `Asia/Bishkek` |
| 35 | + is Kyrgyzstan's zone — never correct for a Uzbek city. |
| 36 | + |
| 37 | +- **ID (1 row):** Sambas (West Kalimantan, state_code `KB`) observes WIB |
| 38 | + (UTC+7) under `Asia/Pontianak`. `Asia/Ho_Chi_Minh` is Vietnam's zone. |
| 39 | + |
| 40 | +## Out of scope |
| 41 | + |
| 42 | +- **TF (Tromelin Island):** Currently tagged `Indian/Reunion`. Tromelin is |
| 43 | + administered by France as part of the Scattered Islands (TAAF) but is |
| 44 | + disputed with Mauritius. The current zone reflects de-facto administration — |
| 45 | + left untouched. |
| 46 | +- **FR (Nouméa, id 160039):** Tagged `Pacific/Noumea`. State_code is `NC` |
| 47 | + (New Caledonia, an FR overseas collectivity). This is correct, not a bug — |
| 48 | + excluded from the sweep. |
| 49 | + |
| 50 | +## Verification |
| 51 | + |
| 52 | +``` |
| 53 | +$ python3 bin/scripts/fixes/foreign_timezone_fixes.py |
| 54 | +Total rows fixed: 72 |
| 55 | +$ python3 bin/scripts/fixes/foreign_timezone_fixes.py |
| 56 | +Total rows fixed: 0 # idempotent |
| 57 | +``` |
| 58 | + |
| 59 | +After-counts: 0 VN rows tagged `Asia/Bangkok`, 0 PS rows tagged |
| 60 | +`Asia/Jerusalem`, 0 UZ rows tagged `Asia/Bishkek`, 0 ID rows tagged |
| 61 | +`Asia/Ho_Chi_Minh`. |
| 62 | + |
| 63 | +Schema, cross-reference, coordinate-bounds, and duplicate validators all |
| 64 | +pass — no FK or geometry changes, only the `timezone` text field. |
0 commit comments