กำไร:
- ความสามารถในการออกแบบการวิเคราะห์ GIS เช่น บัฟเฟอร์ จุดตัด การรวมเชิงพื้นที่ และพื้นที่ใกล้เคียงด้วย AI และสร้างทีละขั้นตอน
- ความสามารถในการสร้างแอตทริบิวต์และการสืบค้นเชิงพื้นที่ (SQL/นิพจน์) จากภาษาธรรมชาติและปรับให้เข้ากับสภาพแวดล้อม QGIS/PostGIS
- ความสามารถในการตรวจสอบผลลัพธ์การวิเคราะห์ GIS ด้วยความสอดคล้องของโทโพโลยี ความเหมาะสมในการฉายภาพ และตรรกะของพื้นที่/ความยาว
GIS (Geographic Information System; GIS ในภาษาอังกฤษ) เป็นชื่อทั่วไปของระบบที่จัดเก็บ สืบค้น วิเคราะห์ และจัดทำแผนที่ข้อมูลตำแหน่ง งานประจำวันของวิศวกรสำรวจส่วนใหญ่เกิดขึ้นที่นี่: "พัสดุใดอยู่ใกล้ลำธารนี้มากกว่า 50 เมตร", "บริเวณไหนที่สองชั้นนี้ทับซ้อนกัน", "มีอาคารกี่หลังต่อละแวกใกล้เคียง" การสร้างคำตอบสำหรับคำถามต่างๆ เช่น การใช้การวิเคราะห์เชิงพื้นที่ ในหน่วยนี้ เราจะกล่าวถึงวิธีใช้ปัญญาประดิษฐ์เพื่อออกแบบการวิเคราะห์เหล่านี้ สร้างการสืบค้นจากภาษาธรรมชาติ และปรับให้เข้ากับสภาพแวดล้อม QGIS/PostGIS หลักการ: AI สร้างการวิเคราะห์และเขียนแบบสอบถาม ความถูกต้องของผลลัพธ์ยังคงอยู่กับวิศวกรผ่านการฉายภาพ โทโพโลยี และการควบคุมลอจิก
เงื่อนไขพื้นฐานก่อน ข้อมูลเวกเตอร์แสดงถึงโลกด้วยจุด เส้น และรูปหลายเหลี่ยม (แปลง ถนน บ่อน้ำ) ข้อมูลแรสเตอร์แสดงถึงโลกในตารางเซลล์/พิกเซล (แบบจำลองระดับความสูง ภาพถ่ายดาวเทียม) คุณลักษณะคือข้อมูลตารางที่เกี่ยวข้องกับเรขาคณิต (พื้นที่พัสดุ เจ้าของ เกาะ/หมายเลขพัสดุ) บัฟเฟอร์คือพื้นที่ที่สร้างขึ้นที่ระยะห่างรอบเรขาคณิต การรวมเชิงพื้นที่จับคู่สองชั้นตามความสัมพันธ์เชิงพื้นที่ (แต่ละอาคารมีพื้นที่ใกล้เคียง) โทโพโลยีคือกฎบริเวณใกล้เคียง/ทับซ้อนกัน/ช่องว่างระหว่างรูปทรงเรขาคณิต
บทบาทของ AI ในการวิเคราะห์ GIS
AI เร่ง GIS ในสามจุดที่เป็นรูปธรรม:
- การออกแบบการวิเคราะห์ “ชั้นไหนถูกประมวลผล ลำดับไหน มีเครื่องมืออะไรมาตอบคำถาม” มันมาพร้อมกับแผนคำถามทีละขั้นตอน ซึ่งช่วยลดภาระการคิด โดยเฉพาะในการวิเคราะห์หลายขั้นตอนที่ซับซ้อน
- การสร้างแบบสอบถาม แปลคำขอภาษาธรรมชาติเป็นฟังก์ชันนิพจน์ QGIS, SQL หรือ PostGIS โดยใส่คำขอ "แปลงที่มีพื้นที่น้อยกว่า 500 ตารางเมตรและมีลักษณะทางการเกษตร" ลงในนิพจน์ตัวกรอง
- ขั้นตอนการทำงานและการสร้างโค้ด มันแปลการวิเคราะห์ซ้ำเป็นสคริปต์ Python/PyQGIS (เราเจาะลึกหัวข้อนี้ในหน่วย 10 และ 11)
แต่ AI มีจุดบอดที่สำคัญ นั่นคือไม่เห็นข้อมูล แต่เพียงเห็นสูตรอาหารของคุณ ไม่ทราบว่าเลเยอร์ใดอยู่ใน CRS ชื่อคอลัมน์แอตทริบิวต์ที่แน่นอน ไม่ว่าข้อมูลจะสะอาดหรือไม่ก็ตาม ดังนั้นการสืบค้นที่สร้างขึ้นจึงมีความถูกต้องทางวากยสัมพันธ์ แต่ข้อมูลของคุณอาจผิด
ข้อควรระวัง: การคำนวณระยะทางและพื้นที่มีความแม่นยำเฉพาะใน CRS แบบเมตริก (คาดการณ์) เท่านั้น การบัฟเฟอร์ 50 ม. โดยตรงในพิกัดทางภูมิศาสตร์ (องศา) ให้ผลลัพธ์ที่ไม่ถูกต้องโดยสิ้นเชิงเนื่องจากความสับสนระหว่างองศากับมิเตอร์ วางเลเยอร์ในการฉายภาพที่เหมาะสมก่อนการวิเคราะห์
ทีละขั้นตอน: การสร้างการวิเคราะห์เชิงพื้นที่
คำถามตัวอย่าง: "ค้นหาพัสดุที่มีใบอนุญาตก่อสร้างซึ่งอยู่ห่างจากลำธารมากกว่า 100 เมตร"
- ชี้แจงอินพุตและ CRS เลเยอร์สตรีม (เส้น) เลเยอร์พัสดุ (หลายเหลี่ยม) ทั้งสองต้องอยู่ในหน่วยเมตริก CRS (เช่น TUREF/TM33)
- มีการวางแผนขั้นตอนต่างๆ ถึง AI: บัฟเฟอร์ 100 ม. เพื่อสตรีม → ทางแยก/การเลือกด้วยแปลง → กรอง "ได้รับอนุญาต" จากแอตทริบิวต์ → จำนวนผลลัพธ์ ปล่อยให้มันเขียนลำดับและผลลัพธ์ของแต่ละขั้นตอน
- มีการสร้างแบบสอบถาม แปลนิพจน์ตัวกรอง ("สถานะ" = 'ได้รับอนุญาต') และตรรกะการเลือกเป็น QGIS/PostGIS
- ทดสอบกับตัวอย่างขนาดเล็ก ดำเนินการวิเคราะห์บนชุดย่อยเล็กๆ แทนที่จะเป็นข้อมูลทั้งหมด และตรวจสอบผลลัพธ์ด้วยสายตา
- ตรวจสอบผลลัพธ์ การนับนั้นสมเหตุสมผล (อันดับ) หรือไม่? พัสดุที่เลือกอยู่ใกล้กับกระแสข้อมูลจริงๆ (การตรวจสอบด้วยภาพ/โทโพโลยี) หรือไม่ ทุ่งนามีเหตุผลไหม?
คดีเล็กๆ สามคดี: ตามตัวเลข
กรณีที่ 1 – ภัยพิบัติกันชนระดับ เด็กฝึกงานใช้บัฟเฟอร์ 100 หน่วยโดยตรงกับเลเยอร์พัสดุใน WGS84 geo CRS ผลลัพธ์ที่ได้ทำให้เกิดพื้นที่ไร้สาระโดยมีรัศมีประมาณ 11 กม. (1 องศา ~111 กม.) การตรวจสอบอันดับ ("พื้นที่บัฟเฟอร์ไม่สามารถมีขนาดเป็นพันเท่าของพัสดุได้") แสดงข้อผิดพลาดทันที เมื่อนำเข้าเลเยอร์ไปยัง CRS เมตริก บัฟเฟอร์มีความถูกต้องที่ 100 ม.
กรณีที่ 2 — ชื่อคอลัมน์ไม่ถูกต้อง AI สร้างนิพจน์ "ผ่านการรับรอง" = 'เกษตรกรรม' สำหรับ "พัสดุที่ผ่านการรับรองสำหรับการเกษตร"; ในขณะที่ชื่อจริงของคอลัมน์คือ PLOT_VASF และค่าคือ FIELD แบบสอบถามส่งคืนผลลัพธ์ 0 รายการโดยไม่มีข้อผิดพลาด เมื่อวิศวกรเปิดตารางแอตทริบิวต์และแจ้งชื่อคอลัมน์และค่าจริงแก่ AI แบบสอบถามก็ได้รับการปรับปรุง บทเรียน: AI สามารถสร้างชื่อคอลัมน์ได้ ให้แผนผังจริง
กรณีที่ 3 — ปัญหาโทโพโลยี มีช่องว่างเล็ก ๆ (เศษไม้) และทับซ้อนกันในชั้นเขตเขตใกล้เคียงทั้งสองชั้น การวิเคราะห์ “พื้นที่ทั้งหมด” ที่ขับเคลื่อนโดย AI นั้นเบี่ยงเบนไปจากผลรวมที่แท้จริงประมาณ 2% เนื่องจากข้อผิดพลาดเหล่านี้ หลังจากการควบคุมและแก้ไขโทโพโลยี พื้นที่ต่างๆ มีความสอดคล้องกัน บทเรียน: ผลการวิเคราะห์จะสะอาดเท่ากับเรขาคณิตอินพุตเท่านั้น
พรอมต์ที่อ่อนแอ / พรอมต์ที่แข็งแกร่ง
พรอมต์ที่อ่อนแอ:
เขียนแบบสอบถามเพื่อค้นหาพัสดุใกล้ลำธาร
พรอมต์อันทรงพลัง:
ภารกิจ: สร้างโครงสร้างและนิพจน์การวิเคราะห์เชิงพื้นที่สำหรับ QGIS บริบท:- stream_layer: บรรทัด, CRS EPSG:5256 (TUREF/TM33)- allowance_layer: รูปหลายเหลี่ยม, CRS EPSG:5256, คอลัมน์แอตทริบิวต์: ADA_NO, Plot_NO, STATUS (ค่า: 'ได้รับใบอนุญาต', 'ไม่มีใบอนุญาต'), AREA_M2คำถาม: เลือกพัสดุที่ใกล้กับสตรีมมากกว่า 100 ม. และ STATUS = 'ได้รับใบอนุญาต' ให้ จำนวนและพื้นที่ทั้งหมด คำขอ: 1) สั่งซื้อขั้นตอน (บัฟเฟอร์ -> การเลือกเชิงพื้นที่ -> ตัวกรองแอตทริบิวต์) 2) เขียนว่าจะใช้เครื่องมือใดในแต่ละขั้นตอน 3) เตือนฉันถึงข้อกำหนด CRS เมตริกสำหรับระยะทาง/พื้นที่ 4) ตรวจสอบขั้นตอนผลลัพธ์ (อันดับ + การควบคุมด้วยภาพ) เพิ่ม.
พรอมต์ที่มีประสิทธิภาพจะให้ชื่อคอลัมน์จริง, CRS, ชุดค่า และขั้นตอนการตรวจสอบความถูกต้อง ผลลัพธ์จะเหมาะกับข้อมูลของคุณ
เทมเพลตที่คัดลอกได้สี่แบบ
1) การสร้างแผนการวิเคราะห์:
เขียนเวิร์กโฟลว์ GIS ทีละขั้นตอนเพื่อตอบคำถามเชิงพื้นที่ต่อไปนี้: ระบุเลเยอร์อินพุต เครื่องมือที่ใช้ และเลเยอร์เอาต์พุตในแต่ละขั้นตอน ตรวจสอบขั้นตอนที่ต้องใช้ CRS เมตริก คำถาม: [คำถาม] เลเยอร์: [รายการ]
2) การแสดงออก QGIS จากภาษาธรรมชาติ:
แปลงตัวกรองต่อไปนี้เป็นนิพจน์แอตทริบิวต์ QGIS ใช้เฉพาะชื่อคอลัมน์และค่าที่กำหนดเท่านั้น การติดตั้งคอลัมน์ ถามว่ามีความไม่แน่นอนหรือไม่ คอลัมน์/ค่า: [โครงการ] คำขอ: [ตัวกรอง]
3) แบบสอบถาม PostGIS:
เขียน PostGIS SQL สำหรับการวิเคราะห์เชิงพื้นที่ต่อไปนี้ (ฟังก์ชัน ST_) สมมติว่า SRID [srid] ของรูปทรงเรขาคณิต ระยะทางต้องเป็นหน่วยเมตริก อธิบายการสืบค้นและเพิ่มการสืบค้นแบบแฮชเพื่อตรวจสอบความถูกต้อง การวิเคราะห์: [คำจำกัดความ]
4) การตรวจสอบความสมเหตุสมผลของผลลัพธ์:
ตรวจสอบความสมเหตุสมผลของผลการวิเคราะห์ GIS ต่อไปนี้: อันดับการนับผลลัพธ์ ตรรกะของฟิลด์/ความยาว ระเบียน null/ซ้ำ การปฏิบัติตาม CRS ระบุจุดที่น่าสงสัยและเขียนสาเหตุที่เป็นไปได้ สรุปผลลัพธ์: [สรุป]
การเปรียบเทียบเครื่องมือวิเคราะห์ GIS
ยานพาหนะ
ทำอะไร
การใช้งานทั่วไป
ความสนใจ
บัฟเฟอร์
พื้นที่ระยะทางโดยรอบ
วงยาม, ความใกล้ชิด
ต้องมี CRS เมตริก
ตัดกัน
ลบพื้นที่ส่วนกลาง
การวิเคราะห์ความขัดแย้ง
โทโพโลยีจะต้องสะอาด
เข้าร่วมเชิงพื้นที่
ตรงกันตามสถานที่
ความสัมพันธ์ระหว่างอาคารกับเพื่อนบ้าน
ประเภทความสัมพันธ์ (ภายใน/ตัดกัน)
ละลาย (รวมกัน)
ฟิวส์คุณลักษณะเดียวกัน
ลดความซับซ้อนของขอบเขต
การเลือกคุณสมบัติ
คลิป
ตัดตามขีดจำกัด
ข้อจำกัดของพื้นที่ทำงาน
เรขาคณิตของขอบเขตถูกต้องหรือไม่?
ข้อผิดพลาดทั่วไป
- การคำนวณระยะทาง/พื้นที่ใน geo CRS ไม่เปลี่ยนไปใช้การฉายภาพเมตริกก่อนการวิเคราะห์
- การใช้ชื่อคอลัมน์ที่ AI สร้างขึ้น ไม่ให้แผนการที่แท้จริง เงียบ 0 ผลลัพธ์
- ทำการวิเคราะห์ด้วยข้อมูลที่มีโทโพโลยีที่ใช้งานไม่ได้ ช่องว่าง/การทับซ้อนส่งผลให้เกิดข้อผิดพลาดด้านพื้นที่และการนับ
- สร้างความสับสนให้กับประเภทของความสัมพันธ์เชิงพื้นที่ "ภายใน" และ "ตัดกัน" ให้ผลลัพธ์ที่ต่างกัน
- ไม่บังคับผลลัพธ์ให้ควบคุมอันดับ ไม่สังเกตเห็นช่อง/ตัวเลขที่ไร้สาระ
- วิ่งสุ่มสี่สุ่มห้าผ่านข้อมูลทั้งหมด นำไปใช้กับข้อมูลขนาดใหญ่โดยไม่ต้องทดสอบตัวอย่างขนาดเล็ก
โดยสรุป
ปัญญาประดิษฐ์ในการวิเคราะห์ GIS เป็นตัวช่วยที่ทรงพลังสำหรับการวางแผนเวิร์กโฟลว์ แปลคำขอภาษาธรรมชาติเป็นการสืบค้นและสร้างโค้ด แต่ AI ไม่เห็นข้อมูล คุณต้องระบุ CRS ชื่อคอลัมน์จริง และคุณภาพโทโพโลยี กฎที่สำคัญที่สุดคือการคำนวณระยะทางและพื้นที่นั้นแม่นยำใน CRS แบบเมตริกเท่านั้น ตรวจสอบผลลัพธ์แต่ละรายการเพื่อดูลำดับ ความสอดคล้องของทอพอโลยี และตรรกะ อย่านำไปใช้กับข้อมูลขนาดใหญ่โดยไม่ทดสอบกับตัวอย่างขนาดเล็ก
งานสมัคร
เลือกคำถามเชิงพื้นที่ (เช่น "อาคารห่างจากถนนน้อยกว่า 25 เมตร") พิมพ์เลเยอร์, CRS และชื่อคอลัมน์แอตทริบิวต์จริง ให้ AI สร้างแผนการวิเคราะห์และการแสดงออกของ QGIS ทีละขั้นตอน จากนั้นทดสอบเอาต์พุตด้วยการตรวจสอบสามครั้ง: (1) คือเมตริก CRS ที่ใช้ (2) ชื่อคอลัมน์ตรงกับสคีมาจริงหรือไม่ (3) คือจำนวนผลลัพธ์ที่สมเหตุสมผลตามลำดับ
รายการตรวจสอบ
- [ ] ฉันนำเข้าเลเยอร์ลงในเมตริก CRS (สำหรับระยะทาง/พื้นที่)
- [ ] ฉันมอบชื่อและค่าคอลัมน์แอตทริบิวต์จริงให้กับ AI
- [ ] ฉันได้วางแผนขั้นตอนการวิเคราะห์และเครื่องมือไว้แล้ว
- [ ] ฉันเลือกประเภทความสัมพันธ์เชิงพื้นที่ (ภายใน/ตัดกัน) อย่างถูกต้องแล้ว
- [ ] ฉันตรวจสอบโทโพโลยีของเรขาคณิตอินพุต
- [ ] ฉันทดสอบการวิเคราะห์กับตัวอย่างเล็กๆ ก่อน
- [ ] ฉันตรวจสอบผลลัพธ์สำหรับอันดับและตรรกะ
- [ ] ฉันเก็บความคิดเห็นสุดท้ายไว้เพื่อขออนุมัติจากวิศวกร