# M08 สิ่งแวดล้อม: คำอธิบาย fixture และขอบใช้

รุ่น 1.17.22 · 12 ตุลาคม 2026 · [บท M08](https://drone.pk-research.work/knowledge/drone-applications/environment-monitoring/)

ใช้ [B](https://drone.pk-research.work/downloads/drone-applications/environment-monitoring-beginner.md), [O](https://drone.pk-research.work/downloads/drone-applications/environment-monitoring-operator.md), [D](https://drone.pk-research.work/downloads/drone-applications/environment-monitoring-developer.md), [rubric 12 ID](https://drone.pk-research.work/downloads/drone-applications/environment-monitoring-rubric.md) และ [CSV 15 แถว](https://drone.pk-research.work/downloads/drone-applications/environment-monitoring-observations.csv) ได้ด้วยกระดาษ เครื่องคิดเลขหรือโปรแกรมอ่านข้อความ ไม่มี validator/uploader/import/runtime หรือฮาร์ดแวร์ในชุดนี้

## ข้อมูลตั้งต้นและสถานะ

**TRAIN-ENV-01 เป็น TABLETOP ONLY** ผู้เรียบเรียงแต่งจำนวนและบริบททั้ง 15 แถว ไม่มีภาพต้นทาง label mask รูปทรงเซลล์ พิกัด วันที่สำรวจ ชนิดพืชหรือการวัดจริง period_day 1/8 เป็นวันสัมพัทธ์ รหัส S1/S2 W1/W2 RGB1/MS2 CL1/CL2 GRID-1 และ boundary เป็นบริบทสมมติ ไม่ใช่ฤดูกาล ระดับน้ำ calibration ระบบพิกัดหรือ grid ที่ตรวจแล้ว สมมติว่าเซลล์มีพื้นที่เท่ากันเพื่อสอนจำนวนเท่านั้น ไม่มีพื้นที่ m² ความอุดมสมบูรณ์ biomass NDVI หรือ classification accuracy ให้อนุมาน

ทุกแถวมี case_id=TRAIN-ENV-01, grid_version=GRID-1, count_basis=author_assumed_equal_area_cell_counts, metadata_origin=author_provided_teaching_assumption, measurement_status=not_performed, raw_media_status=not_supplied, field_check_status=not_performed, classification_validation_status=not_performed, review_status=pending_field_review และ sensitive_share_status=controlled_teaching_metadata_only **ทุกแถวยังไม่พอสำหรับข้อสรุปสนาม** specialist=not_assigned; ไม่มีผลผู้เรียนหรือผู้ตรวจสาขา

## Schema 23 fields

```text
record_id,case_id,zone_id,period_day,boundary_version,grid_version,season_context,water_context,sensor_version,class_version,total_cells,vegetation_cells,other_cells,unknown_cells,count_basis,metadata_origin,measurement_status,raw_media_status,field_check_status,classification_validation_status,review_status,sensitive_share_status,note
```

| ช่อง | ความหมายและขอบ |
|---|---|
| record_id / case_id / zone_id | รหัสแถว / กรณี / โซนสมมติ ไม่ใช่พิกัดหรือชนิดพืช |
| period_day | วันสัมพัทธ์ 1/8 ไม่ใช่ timestamp ภาพ |
| boundary_version / grid_version | รุ่นขอบและ grid สมมติ ต้องคงฐานก่อนเทียบ |
| season_context / water_context | รหัสบริบทฤดูกาลและน้ำ ไม่ใช่ผลสังเกตจริง |
| sensor_version / class_version | รุ่น sensor และนิยามป้ายสมมติ ไม่ยืนยัน calibration หรือ taxonomy |
| total_cells | จำนวนเซลล์รวม เป็น finite nonnegative integer |
| vegetation_cells / other_cells / unknown_cells | จำนวนป้ายที่แต่ง เป็น finite nonnegative integer; vegetation ว่างใน Q01 ไม่ใช่ 0 |
| count_basis / metadata_origin | ฐานจำนวนพื้นที่เท่ากันที่สมมติเพื่อสอน / ที่มาผู้เรียบเรียง |
| measurement_status / raw_media_status | not_performed / not_supplied ทุกแถว |
| field_check_status / classification_validation_status | not_performed ทั้งคู่ ไม่เป็น QA หรือ field validation ที่ผ่าน |
| review_status / sensitive_share_status | pending_field_review / controlled_teaching_metadata_only; ไม่มีข้อมูล sensitive จริง |
| note | เหตุจัดข้อมูลสอน เป็นข้อความเฉื่อย ไม่รันสูตร คำสั่งหรือ path |

จำนวนที่ครบต้องเป็นค่าจำกัด ไม่ติดลบ ไม่เป็นเศษ และ vegetation+other+unknown = total ตรงกัน แถวที่ขาดหรือผิดให้กักพร้อมเหตุ ไม่เติม 0 และไม่ clamp จำนวนให้ผ่าน ข้อเสนอ negative/fractional/bad sum อยู่ใน D tests เท่านั้น ไม่เพิ่มแถวลง fixture

| ID / zone | day | boundary | season / water / sensor / class | total / vegetation / other / unknown | disposition สอน |
|---|---|---|---|---|---|
| A01 / A | 1 | A-v1 | S1 / W1 / RGB1 / CL1 | 100 / 40 / 40 / 20 | tabletop_pair_A |
| A02 / A | 8 | A-v1 | S1 / W1 / RGB1 / CL1 | 100 / 50 / 30 / 20 | tabletop_pair_A |
| B01 / B | 1 | B-v1 | S1 / W1 / RGB1 / CL1 | 100 / 40 / 40 / 20 | blocked_season |
| B02 / B | 8 | B-v1 | S2 / W1 / RGB1 / CL1 | 100 / 50 / 30 / 20 | blocked_season |
| C01 / C | 1 | C-v1 | S1 / W1 / RGB1 / CL1 | 100 / 40 / 40 / 20 | blocked_water |
| C02 / C | 8 | C-v1 | S1 / W2 / RGB1 / CL1 | 100 / 50 / 30 / 20 | blocked_water |
| D01 / D | 1 | D-v1 | S1 / W1 / RGB1 / CL1 | 100 / 40 / 40 / 20 | blocked_sensor_class |
| D02 / D | 8 | D-v1 | S1 / W1 / MS2 / CL2 | 100 / 50 / 30 / 20 | blocked_sensor_class |
| E01 / E | 1 | E-v1 | S1 / W1 / RGB1 / CL1 | 100 / 40 / 40 / 20 | blocked_boundary |
| E02 / E | 8 | E-v2 | S1 / W1 / RGB1 / CL1 | 100 / 50 / 30 / 20 | blocked_boundary |
| Q01 / F | 8 | F-v1 | S1 / W1 / RGB1 / CL1 | 100 / ว่าง / 40 / 20 | quarantine_missing |
| Q02 / G | 8 | G-v1 | S1 / W1 / RGB1 / CL1 | 100 / 50 / 30 / 20 | quarantine_duplicate_both |
| Q03 / G | 8 | G-v1 | S1 / W1 / RGB1 / CL1 | 100 / 60 / 20 / 20 | quarantine_duplicate_both |
| Z01 / H | 8 | H-v1 | S1 / W1 / RGB1 / CL1 | 0 / 0 / 0 / 0 | zero_total |
| U01 / I | 8 | I-v1 | S1 / W1 / RGB1 / CL1 | 100 / 0 / 0 / 100 | all_unknown |

จัดเป็น **2 แถวในคู่ A**, **8 แถวใน 4 คู่บล็อก B/C/D/E**, **3 แถวกัก Q01/Q02/Q03**, **1 แถว Z01 total ศูนย์** และ **1 แถว U01 unknown ทั้งหมด** ไม่มีอัตราผ่านจาก 15 แถว B เปลี่ยน season, C เปลี่ยน water, D เปลี่ยน sensor/class, E เปลี่ยน boundary จึงไม่ทำ delta ข้ามรอบก่อนทวนและ reconcile หลักฐาน Q01 vegetation ว่างคงว่าง Q02/Q03 ซ้ำ logical key (case_id, zone_id, period_day, boundary_version, grid_version) ต้องกักทั้งคู่ ไม่เลือกแรก/สุดท้าย Z เก็บจำนวนศูนย์ได้แต่ทุกเปอร์เซ็นต์ไม่มีนิยาม U มี coverage 0% ที่นิยามได้ ส่วน vegetation among known ไม่มีนิยามและช่วงทั้ง grid 0–100% ทั้ง Z/U ไม่มีคู่ต่างรอบ

## สูตรและแนวคำตอบที่แต่ง

```text
known = vegetation_cells + other_cells
known_coverage = 100 × known / total_cells เมื่อ total_cells > 0
vegetation_among_known = 100 × vegetation_cells / known เมื่อ known > 0
full_grid_lower = 100 × vegetation_cells / total_cells เมื่อ total_cells > 0
full_grid_upper = 100 × (vegetation_cells + unknown_cells) / total_cells เมื่อ total_cells > 0
```

| แถว | known / coverage | vegetation among known | ช่วงสัดส่วน vegetation ทั้ง grid |
|---|---|---|---|
| A01 | 80 / 80% | 50% | 40–60% |
| A02 | 80 / 80% | 62.5% | 50–70% |
| Z01 | 0 / undefined | undefined | undefined |
| U01 | 0 / 0% | undefined | 0–100% |

A01→A02 ต่างกัน +12.5 จุดร้อยละ (pp) ในส่วนที่ทราบป้าย และขอบล่างต่าง +10 pp ทั้งสองค่าเป็นคณิตศาสตร์สอน ไม่ยืนยัน vegetation gain จำนวนรวมไม่บอกการย้ายป้ายรายเซลล์ ไม่มี spatial matching หรือ unknown mask ช่วงผลต่างทั้ง grid แบบรักษาข้อไม่รู้คือ [50−60, 70−40] = **[−10, +30] pp** ซึ่งครอบคลุมทั้งการลดและเพิ่ม จึงยังยืนยันแนวโน้มหรือการฟื้นฟูเชิงสาเหตุไม่ได้ ช่วงนี้ไม่ใช่ confidence interval ค่าความไม่แน่นอนการวัดหรือ statistical significance

เมื่อ total หรือ known เป็น 0 ให้ใช้ undefined ตามนิยามข้างต้น อย่ารายงาน 0% หรือ 100% แทนค่าที่ไม่มีนิยาม ไม่รวมโซน บริบท แบนด์หรือหน่วย ไม่ใช้ unseen เป็น nonvegetation ไม่ให้เปอร์เซ็นต์โครงการ/ระบบนิเวศ prediction หรือ classification pass rate จากตารางนี้

## ขอบการตีความและส่งมอบ

ป้าย vegetation ที่เห็นไม่ยืนยันชนิด สุขภาพ carbon biodiversity restoration success สารมลพิษ ความลึกน้ำหรือขอบ habitat ทางกฎหมาย Classification QA แยกจากความถูกต้องแผนที่ที่ตรวจอิสระและ species/field verification; RTK/PPK ไม่เท่ากับ achieved accuracy ผลภาพและ sensor ต้องมี calibration/control และ independent validation ให้เหมาะกับผลิตภัณฑ์จริง

ผู้รับขอคำถาม ฤดูกาล น้ำ sensor นิยามป้าย ground reference และการประเมิน disturbance จากผู้รับผิดชอบพื้นที่/นิเวศก่อนใช้จริง คำขอคนหรือเครื่องยัง unanswered ต้องคง requested ไม่เขียน confirmed แยก sent/pending_receipt, received, acknowledged และ domain approval โดยใช้หลักฐานแต่ละขั้น ตำแหน่งชนิด/ไซต์อ่อนไหวในงานจริงเก็บ controlled master และส่งสำเนาลดรายละเอียดตามวัตถุประสงค์พร้อม redaction log ไม่เผยข้อมูลที่ทำให้ตามกลับถึงตำแหน่งอ่อนไหว

การเปลี่ยน sensor/mount/firmware/software/class/season/water ต้องมี impact review รุ่นและ reconciliation ก่อนเทียบเดิม เก็บก่อนหลังและแผนคืน known-reviewed version หรือ hold ทุก D01–D20 เป็น test proposal และ actual=not_run ไม่มีผลสนาม ผลผู้เรียนหรือ ecological approval; P3 readiness gate ยังเปิด

ภาคเสริม 14 ตุลาคม 2026: [ผังสามชั้นหลักฐานในบท M08](https://drone.pk-research.work/knowledge/drone-applications/environment-monitoring/#restoration-evidence) แยกจำนวนสอน → ข้อสังเกตจากภาพ → การตีความไซต์ → ข้อสรุปการฟื้นฟู TRAIN-ENV-01 ยังอยู่ก่อนข้อสังเกตสนาม เพราะไม่มีภาพต้นทางหรือการตรวจป้าย และไม่มีเป้าหมาย/ตัวชี้วัด ฐานอ้างอิง ภาคพื้นหรือผู้ทวนจริง ใบงาน B/O/D ใช้ช่องเหล่านี้เป็นคำถามและสถานะ missing; ไม่เพิ่มข้อมูลใดลง CSV 23 ช่องหรือเปลี่ยนสูตร/สถานะ

## แหล่งและใบอนุญาต

แหล่งหลักที่อ่าน 12 ตุลาคม 2026: [USGS multi-stage restoration monitoring](https://eros.usgs.gov/doi-remote-sensing-activities/2021/usgs/multi-stage-uas-based-vegetation-assessment-and-restoration-monitoring) อ่านเนื้อหาโครงการสั้น; [Wood et al. 2022, USGS abstract, DOI 10.3390/rs14051290](https://www.usgs.gov/publications/multiple-uav-flights-across-growing-season-can-characterize-fine-scale-phenological) อ่านบทคัดย่อ/metadata; [Bennitt et al. 2019, DOI 10.1038/s41598-019-38610-x](https://pmc.ncbi.nlm.nih.gov/articles/PMC6375938/) อ่านส่วน Abstract/Discussion ที่เข้าถึงผ่าน cached primary search ขอบอ่านนี้ไม่รวมข้อมูลดิบหรือทุกส่วนของงาน ไม่ย้ายค่าประสิทธิภาพ ระยะบิน ความถี่หรือระเบียบต่างประเทศมาเป็นวิธีไทย กิจกรรม สูตร count ข้อกำหนดและ rubric เป็นการออกแบบของผู้เรียบเรียง

ทวนหน้า USGS multi-stage โดยตรงและอ่าน [USGS hydrologic function and bottomland restoration](https://www.usgs.gov/centers/national-innovation-center/science/assessing-hydrologic-function-plant-stress-and-success) โดยตรง 14 ตุลาคม 2026: หน้าแรกระบุว่าพืชเป็นหนึ่งในองค์ประกอบของการติดตาม; หน้าหลังระบุเป้าหมายโครงการที่จับคู่ภาพ UAS กับข้อมูลน้ำ/ภูมิอากาศและภาคพื้น ใช้รองรับคำถามหลักฐานในผัง ไม่ถือเป้าหมายโครงการเป็นผลที่พิสูจน์แล้วหรือเกณฑ์สากล

ใบงาน rubric และ fixture เรียบเรียงใหม่โดย PK-Research / Drone-Hub รุ่น 1.17.22 วันที่ 12 ตุลาคม 2026 ใช้ [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) ระบุผู้เรียบเรียง ชุด/รุ่นและสิ่งที่แก้ แหล่งอ้างอิงและสื่อภายนอกคงสิทธิ์เจ้าของเดิม
