# postcode_updated — version ปรับปรุงจาก postcode_shapefile_old_version

สร้างเมื่อ 2026-06-10 จากต้นฉบับ `postcode_shapefile_old_version/postcode_new_final.shp`
(ต้นฉบับไม่ถูกแก้ไข) ด้วยสคริปต์ใน `../analysis/` (build_updated.py → fix_remaining_pc.py
→ fix_prefix_pc.py → final_clean.py)

## ไฟล์
- `postcode_updated.shp` (+ .dbf/.shx/.prj/.cpg) — Shapefile, EPSG:4326, UTF-8
- `postcode_updated.gpkg` — GeoPackage (แนะนำให้ใช้ตัวนี้ ไม่มีข้อจำกัดชื่อคอลัมน์/ขนาด)

## ผลการปรับปรุง (ก่อน → หลัง)
| รายการ | ก่อน | หลัง |
|---|---|---|
| Invalid geometry | 24 | **0** |
| Postcode ผิดรูปแบบ/ว่าง | 16 | **0** (955 รหัส distinct ครบเดิม) |
| ข้อมูลตำบล/อำเภอ/จังหวัดขาด | 97 | **0** |
| ช่องว่างเส้นขอบเขตไม่บรรจบ | 945 รู / 0.62 km² | **0 km²** (เหลือเศษ sliver ระดับ < 1 m²) |
| พื้นที่ซ้อนทับ (overlap) | 193.2 km² | **7.8 km²** (-96%) |
| จำนวน feature | 14,814 | 14,814 (ครบเดิม) |

## คอลัมน์ `fix_note` — บันทึกการแก้ไขรายแถว
| ค่า | ความหมาย | จำนวน |
|---|---|---|
| `geom_fixed` | ซ่อม invalid geometry | 24 |
| `pc_fixed(เดิม)` | เติม postcode จากตำบลเดียวกัน | 10 |
| `pc_neighbor/pc_prefix` | เติม postcode จากเพื่อนบ้าน + บังคับ prefix (`5700*`→57000, `9513*`→95130) | 6 |
| `admin_filled` | เติมตำบล/อำเภอ/จังหวัดจาก polygon ข้างเคียง | 97 |
| `gap_merged` | ยุบช่องว่างเข้า polygon ที่ขอบติดกันยาวสุด | 375 |
| `overlap_cut` | ตัดส่วนซ้อนทับออกจาก polygon ที่ใหญ่กว่า | 439 |

## ข้อควรทราบ
- แถวที่แก้ด้วยการอนุมาน (`pc_neighbor`, `admin_filled`) ควรสุ่มตรวจกับข้อมูลจริงของ ปณท.
  โดยเฉพาะ ต.แม่หวาด อ.ธารโต จ.ยะลา (กำหนดเป็น 95130 ตาม prefix `9513*` ของต้นฉบับ
  แต่ต้นฉบับ Ver2 ระบุกำกวมว่า "95130, 95170")
- overlap ที่เหลือ 7.8 km² เป็นรอยต่อละเอียดที่ตัดอัตโนมัติแล้วเสี่ยงทำลายรูปร่าง จึงคงไว้
