{"checkedOn":"2026-09-15","sources":[{"id":"dosm-state-geography","publisher":"DOSM","title":"Official state geodata","url":"https://raw.githubusercontent.com/dosm-malaysia/data-open/main/datasets/geodata/administrative_1_state.geojson","file":"malaysia-states.geojson","sha256":"538f9301431c9f4a7c9262b419c9f6705fdfc57275aedf44c7bbbd7aff748587","license":"Open Data License Malaysia"},{"id":"dosm-par-geography","publisher":"DOSM","title":"Official Parliament geodata","url":"https://raw.githubusercontent.com/dosm-malaysia/data-open/main/datasets/geodata/electoral_0_parlimen.geojson","cachedFile":"/private/tmp/selangor-data/raw/parlimen_geo.geojson","sha256":"c6604bcb078ce7ca208c65cb2b778a40d299995457e88557a128e0c1ec69ac36","license":"Open Data License Malaysia"},{"id":"dosm-dun-geography","publisher":"DOSM","title":"Official DUN geodata","url":"https://raw.githubusercontent.com/dosm-malaysia/data-open/main/datasets/geodata/electoral_1_dun.geojson","cachedFile":"/private/tmp/selangor-data/raw/dun_geo.geojson","sha256":"692bdccedcc31f1abe84c0f47c8bb53434034fd20edf9a74aac87a9dc4631c38","license":"Open Data License Malaysia"},{"id":"dosm-hierarchy","publisher":"DOSM","title":"State-Parliament-DUN hierarchy","url":"https://raw.githubusercontent.com/dosm-malaysia/data-open/main/datasets/geodata/state_parlimen_dun.csv","cachedFile":"/private/tmp/selangor-data/raw/hierarchy.csv","sha256":"0438c6ed8d943a65380e68f84c31a5b7a00d43103e9955b8986d0f7f772caf44","license":"Open Data License Malaysia"},{"id":"dosm-population","publisher":"DOSM","title":"Population Table: States","url":"https://open.dosm.gov.my/data-catalogue/population_state","dataUrl":"https://storage.dosm.gov.my/population/population_state.csv","file":"raw/population_state.csv","sha256":"a3ac1a8831a4e66dbc0bc0d018b699b3810eaead3775fbee4c95e9eb2cc44945","dataYear":2026,"alsoExtractedYear":2024,"updatedOn":"2026-07-31","license":"CC BY 4.0","checkedOn":"2026-09-15"},{"id":"spr-pru","publisher":"SPR","title":"Keputusan PRU","url":"https://opendata.spr.gov.my/data/keputusan-pru.json","cachedFile":"/private/tmp/selangor-spr/keputusan-pru.json","sha256":"886fd3235da1a331a0ce8356a4f592b4cec25b4348f5379420b7e8982c49a91d","downloadedOn":"2026-09-14","freshVerifiedOn":"2026-09-15","verificationFile":"fresh-spr-verification.json","extraction":"221 federal PRU15 winning records; output excludes candidate names and personal details."},{"id":"spr-prk","publisher":"SPR","title":"Keputusan PRK","url":"https://opendata.spr.gov.my/data/keputusan-prk.json","cachedFile":"/private/tmp/selangor-spr/keputusan-prk.json","sha256SanitizedCache":"6b56ab8778cc6bd3942c359733199a99f8dee433c7e8bfd596e8125a89815d75","downloadedOn":"2026-09-14","freshVerifiedOn":"2026-09-15","verificationFile":"fresh-spr-verification.json","extraction":"Delayed Padang Serai PRU15 result in 2022 plus federal Kuala Terengganu, Kemaman and Pulai 2023 and Kinabatangan 2026. Output excludes candidate names and personal details."},{"id":"spr-kinabatangan-result","publisher":"SPR","title":"Keputusan PRK P.187 Kinabatangan dan N.58 Lamag, Bil6/2026","url":"https://spr.gov.my/wp-content/uploads/2026/01/KM-BIL-6-2026-KEPUTUSAN-PRK-PARLIMEN-P.187-KINABATANGAN-DAN-LAMAG-SABAH-2026-1.pdf","publishedOn":"2026-01-24","checkedOn":"2026-09-15","evidence":"Official result confirms BN won P.187; dated24January2026."},{"id":"dap-ge15-ballot","publisher":"Astro Awani","title":"Logo roket lebih dekat di hati pengundi DAP Sarawak - Kelvin Yii","url":"https://www.astroawani.com/berita-politik/logo-roket-lebih-dekat-di-hati-pengundi-dap-sarawak-kelvin-yii-387581","publishedOn":"2022-10-24","checkedOn":"2026-09-15","evidence":"Contemporaneous report explicitly identifies DAP Sarawak as a PH component using its own ballot logo; supports historical DAP→PH mapping, without deriving current membership."},{"id":"pas-ge15-ballot-kelantan","publisher":"Bernama","title":"GE15: Kelantan PN allocates nine seats to PAS, five to Bersatu","url":"https://www.bernama.com/en/news.php?id=2133413","publishedOn":"2022-10-30","checkedOn":"2026-09-15","evidence":"Contemporaneous report confirms all 14 PN candidates in Kelantan used the PAS ballot logo."},{"id":"pas-ge15-ballot-terengganu","publisher":"Bernama","title":"PILIHAN RAYA UMUM KE-15","url":"https://imagesapps.bernama.com/images/1151102/pilihan-raya-umum-ke-15","publishedOn":"2022-11-07","checkedOn":"2026-09-15","evidence":"Contemporaneous Marang caption confirms PN used the PAS logo on the east coast, while Kedah used PN."},{"id":"spr-pulai-result","publisher":"SPR","title":"Keputusan PRK P.161 Pulai dan N.13 Simpang Jeram, Bil.33/2023","url":"https://spr.gov.my/wp-content/uploads/2025/10/KM-BIL-33-2023-KEPUTUSAN-PRK-PARLIMEN-P.161-PULAI-DAN-DEWAN-NEGERI-N13-SIMPANG-JERAM-JOHOR.pdf","publishedOn":"2023-09-09","checkedOn":"2026-09-15","evidence":"Official result document dated 9 September 2023. Website migration folder 2025 is not the election date."},{"id":"spr-kemaman-date","publisher":"SPR","title":"Pengeluaran kertas undi pos PRK P.040 Kemaman, Bil.55/2023","url":"https://www.spr.gov.my/sites/default/files/KM%20BIL%2055%202023%20PENGELUARAN%20KERTAS%20UNDI%20POS%20DALAM%20DAN%20LUAR%20NEGARA%20PRK%20PARLIMEN%20P.040%20KEMAMAN%20TERENGGANU.pdf","checkedOn":"2026-09-15","evidence":"Official notice explicitly sets polling day to 2 December 2023."},{"id":"spr-kuala-terengganu-result","publisher":"SPR","title":"Keputusan PRU DUN Ke-15 dan PRK Parlimen P.036 Kuala Terengganu, Bil.22/2023","url":"https://www.spr.gov.my/sites/default/files/KM222023.pdf","publishedOn":"2023-08-12","evidence":"Official result notice; date also cross-checked against completed Terengganu source bundle."}],"geographySourceRepoCommit":"21a78e98efd4cd9b022a27a1bf67d167076b7591","geographySourceCommit":"b057365ccbf26cbe3db1c043668f6a0efe811cb2","geographyCommitDate":"2022-06-22T16:49:24Z","geographyDateMeaning":"Repository publication metadata; not a legal boundary commencement date.","geographyDownloadedOn":"2026-09-14","geographyProcessing":"Whole16-state GeoJSON copied byte-for-byte; embedded geometry values identical. No simplification, clipping, invented geometry or PDM polygons.","hierarchyCorrections":[{"state":"Johor","dun":"N.30 Paloh","field":"code_parlimen","rawValue":"P.032","normalizedValue":"P.153","basis":"Official hierarchy parent name P.153 Sembrong agrees with DOSM DUN polygon properties and SPR constituency hierarchy. Raw files retained unchanged."}],"populationSemantics":"Sum of the 16 official state/FT estimates; independent national estimate can differ due to rounding.","electionSemantics":"Historical winning electoral bloc of each Parliament seat: PRU15 2022, including delayed Padang Serai on 7 December 2022, with four later federal by-elections through 24 January 2026.","mapping":"PAS→PN and DAP→PH reflect their historical PRU15 coalitions; the original SPR ballot label is retained. MUDA is separate. GRS, GPS, BN, WARISAN, KDM, PBM and BEBAS remain separate.","privacy":"Only state aggregates and public constituency codes/labels exported; no candidate names, dates of birth, elector identifiers or other personal data.","limits":["No inference about current party membership, vacancies, legislative confidence or government alignment.","Four states/territories offer a basic state view only; detailed Parliament/DUN/PDM dashboards are not yet available.","No PDM polygons or personal elector records are included.","PRU15 individual polling dates are not normalized here except the separately recorded delayed Padang Serai poll.","Population estimates are independently rounded to one decimal thousand and must not be confused with registered electors."]}
