หน่วย
1. ปัญญาประดิษฐ์เบื้องต้นในการวางผังเมืองและภูมิภาค: ขอบเขต การตรวจสอบความถูกต้อง ความรับผิดชอบ และจริยธรรม 2. การวิเคราะห์การแบ่งเขตและแผนแม่บทและการตีความหมายเหตุแผน 3. ระบบสารสนเทศภูมิศาสตร์ (GIS) และการวิเคราะห์การใช้ที่ดิน 4. เวิร์กโฟลว์ข้อมูลเชิงพื้นที่ด้วย QGIS และ Python 5. การวิเคราะห์การเปลี่ยนแปลงเมืองด้วยภาพถ่ายดาวเทียมและภาพถ่ายทางอากาศ 6. การพยากรณ์ประชากร ความหนาแน่น และอุปสงค์ 7. การสร้างแบบจำลองการขนส่งและการจราจร 8. การเติบโตของเมืองและการจำลองสถานการณ์ 9. ระเบียบการแบ่งเขตและการวิจัยทางกฎหมายและการตรวจสอบ 10. การวางแผนแบบมีส่วนร่วมและการวิเคราะห์ผู้มีส่วนได้ส่วนเสีย 11. การวิเคราะห์ภัยพิบัติ สภาพภูมิอากาศ และการฟื้นฟู 12. เวิร์กโฟลว์การวางแผนที่ได้รับความช่วยเหลือจาก AI แบบครบวงจรและแอปพลิเคชันระดับองค์กร
หน่วย 4 / 12

เวิร์กโฟลว์ข้อมูลเชิงพื้นที่ด้วย QGIS และ Python

กำไร:

  • ความสามารถในการใช้ AI ในการสร้างโค้ดและเวิร์กโฟลว์สำหรับการประมวลผลข้อมูลเชิงพื้นที่ด้วย QGIS และ Python (ไลบรารีเช่น GeoPandas)
  • ความสามารถในการทดสอบโค้ดเชิงพื้นที่ที่สร้างโดย AI ในข้อมูลตัวอย่างขนาดเล็ก และตรวจสอบกับข้อผิดพลาดของระบบพิกัดและเรขาคณิต
  • ความสามารถในการเข้าใจการรักษาความลับของข้อมูลและความจำเป็นในการตรวจสอบสคริปต์ที่สร้างโดย AI ก่อนที่จะรันกับข้อมูลโครงการจริง

งานเชิงพื้นที่ซ้ำๆ ในหน่วยการวางแผน (การตัดเลเยอร์ บัฟเฟอร์การวาด การคำนวณพื้นที่ การรวมตาราง) ใช้เวลาหลายชั่วโมงและก่อให้เกิดข้อผิดพลาดเมื่อดำเนินการด้วยตนเอง มีเครื่องมือโอเพ่นซอร์สที่ทรงพลัง ฟรี และทรงพลังสองตัวที่ทำงานเหล่านี้ได้โดยอัตโนมัติ: QGIS (ซอฟต์แวร์ GIS บนเดสก์ท็อป) และ Python (ภาษาการเขียนโปรแกรมพร้อมไลบรารีสำหรับข้อมูลเชิงพื้นที่ เช่น GeoPandas, Shapely, Rasterio) AI สร้างโค้ดและเวิร์กโฟลว์สำหรับเครื่องมือเหล่านี้ได้อย่างรวดเร็วอย่างไม่น่าเชื่อ โดยจะร่างสคริปต์การทำงานจากคำขอเพียงประโยคเดียว แต่ AI เขียนโค้ดด้วยสมมติฐานที่คุณมองไม่เห็น เช่น ระบบพิกัดผิด หน่วยผิด การดำเนินการที่ลบองค์ประกอบอย่างเงียบๆ นั่นเป็นเหตุผลว่าทำไมโค้ดเชิงพื้นที่ทุกโค้ดที่ AI สร้างขึ้นจึงต้องอ่านและทดสอบกับตัวอย่างเล็กๆ ก่อนที่จะรันกับข้อมูลโปรเจ็กต์จริง หน่วยนี้จะสอนระบบอัตโนมัติเชิงพื้นที่ที่ปลอดภัยด้วย AI แม้ว่าคุณจะไม่ทราบวิธีเขียนโค้ดก็ตาม

ทำไมต้อง QGIS และ Python

QGIS ช่วยให้คุณวิเคราะห์ได้โดยการคลิก; เรียนรู้ได้ง่ายและมีคอนโซล Python ในทางกลับกัน Python ช่วยให้คุณสามารถเขียนงานซ้ำๆ หนึ่งครั้งและรันงานเหล่านั้นในไฟล์หลายร้อยไฟล์ GeoPandas เป็นห้องสมุดที่ใช้งานได้จริงที่สุดสำหรับนักวางแผน โดยผสมผสานข้อมูลแบบตาราง (แพนด้า) เข้ากับภูมิศาสตร์: อ่านเลเยอร์ ตัวกรอง ดึงบัฟเฟอร์ คำนวณพื้นที่ด้วยโค้ดหนึ่งบรรทัด AI เขียนโค้ด GeoPandas ได้ดีมาก แต่โค้ดที่ดูดีก็ไม่ใช่โค้ดที่ถูกต้องเสมอไป

ข้อควรระวัง: สคริปต์ที่เขียนโดย AI สามารถทำงานได้โดยไม่มีข้อผิดพลาดและยังคงให้ผลลัพธ์ที่ผิดโดยสิ้นเชิง “ใช้งานได้” และ “ถูกต้อง” เป็นสองสิ่งที่แตกต่างกัน การตรวจสอบไม่ใช่ว่ารหัสล้มเหลว แต่ผลลัพธ์ตรงกับข้อมูลอ้างอิงที่ทราบ

แนวคิดที่สำคัญอีกประการหนึ่งคือการทำซ้ำได้ การวิเคราะห์ที่คุณทำในสถาบันสาธารณะควรจะสามารถทำซ้ำในขั้นตอนเดียวกันโดยบุคคลอื่นในอีกหลายเดือนต่อมา การดำเนินการที่ทำโดยการคลิกด้วยตนเองจะไม่ถูกจดจำและไม่สามารถตรวจสอบได้ ในขณะที่สคริปต์ Python เป็นทั้งบันทึกงานและสร้างผลลัพธ์เดียวกัน การจัดเก็บโค้ดที่คุณสร้างด้วย AI พร้อมกับความคิดเห็นจะช่วยเพิ่มความแข็งแกร่งให้กับทั้งความรับผิดชอบและความทรงจำขององค์กร ดังนั้นมุ่งเป้าไปที่ "โค้ดที่อ่านได้ แสดงความคิดเห็น และจัดเก็บได้" ไม่ใช่ "โค้ดที่ใช้งานได้" นิสัยที่ดีคือการเพิ่มบล็อกคำอธิบายสั้นๆ ที่ตอนต้นของแต่ละสคริปต์ โดยระบุว่าสคริปต์ทำงานบนข้อมูลใด วันที่ใด และเพื่อวัตถุประสงค์ใด

กฎทองของการสร้างโค้ดด้วย AI

  1. ให้บริบท รูปแบบไฟล์, CRS, ชื่อคอลัมน์, สิ่งที่คุณต้องการทำ
  2. ขอเล็กๆ. รหัสย่อที่ทำงานเดี่ยวจะปลอดภัยกว่าสคริปต์ขนาดยักษ์
  3. ขอคำชี้แจง. พิมพ์ไปที่ AI ว่าโค้ดแต่ละบรรทัดทำหน้าที่อะไร อย่าเรียกใช้โค้ดที่คุณไม่เข้าใจ
  4. ทดสอบกับตัวอย่าง ขั้นแรกให้ลองใช้ข้อมูลตัวอย่าง 10-20 รายการ
  5. เปรียบเทียบกับการอ้างอิง เปรียบเทียบพื้นที่/ระยะทางกับค่าที่ทราบ
  6. สำรอง. อย่าเขียนทับข้อมูลหลัก ทำงานเป็นสำเนา

ทีละขั้นตอน: สคริปต์เชิงพื้นที่ที่ปลอดภัยด้วย AI

  1. ชี้แจงภารกิจ. "เลือกพื้นที่สีเขียวจากชั้นพัสดุ คำนวณพื้นที่ เขียนพื้นที่ที่สูงกว่า 5,000 ตร.ม. ลงในไฟล์แยกต่างหาก"
  2. ระบุข้อมูล รูปแบบ (GeoPackage/Shapefile), CRS, ชื่อคอลัมน์ที่เกี่ยวข้อง
  3. พิมพ์โค้ด + คำอธิบายไปยัง AI แสดงความคิดเห็นทีละบรรทัด
  4. ทำ CRS และการควบคุมหน่วยให้เสร็จสิ้น พื้นที่เป็นตารางเมตรหรือชั้นในหน่วยเมตริก CRS?
  5. รันบนข้อมูลตัวอย่าง ตรวจสอบผลลัพธ์ด้วยสายตา
  6. ยืนยันด้วยการอ้างอิง เปรียบเทียบพื้นที่พัสดุกับมูลค่าโฉนดที่ดิน
  7. รันบนข้อมูลหลัก เขียนเอาต์พุตไปยังไฟล์ใหม่

พรอมต์อ่อน / พรอมต์แข็งแกร่ง

ข้อความเตือนที่อ่อนแอ: "คำนวณพื้นที่พัสดุ"

AI เขียนโดยไม่ทราบระบบพิกัด รูปแบบ และคอลัมน์ ฟิลด์อาจปรากฏในหน่วยที่ไม่ถูกต้องหรือ CRS ผิด

ข้อความแจ้งที่รัดกุม: "ด้วย GeoPandas ให้อ่านเลเยอร์ GeoPackage ('parcels.gpkg' ซึ่งเป็นระบบเมตริกระดับชาติ เช่น CRS: EPSG:5254) และเขียนพื้นที่ของแต่ละพัสดุในหน่วย m² ลงในคอลัมน์ 'area_m2' ใหม่ แสดงความคิดเห็นแต่ละบรรทัดของโค้ด เพิ่มบรรทัดก่อนการคำนวณพื้นที่ที่ตรวจสอบว่าเลเยอร์อยู่ใน CRS เมตริก เตือนหากไม่ใช่ เขียนเอาต์พุตเป็นไฟล์ใหม่ อย่าเปลี่ยน ต้นฉบับ"

พรอมต์ที่สองจะสร้างโค้ดที่ปลอดภัยและสามารถตรวจสอบได้ เนื่องจากมี CRS, หน่วย, เอาต์พุตที่ปลอดภัย และคำอธิบาย

เทมเพลตที่สามารถคัดลอกได้สี่แบบ

งาน: เขียนโค้ด Python สั้นๆ ที่ทำงานต่อไปนี้ด้วย GeoPandas แสดงความคิดเห็นแต่ละบรรทัดเป็นภาษาตุรกี การดำเนินการ: [...] ไฟล์อินพุต: [... ] (รูปแบบ, CRS: [...], คอลัมน์ที่เกี่ยวข้อง: [...]) กฎ: ห้ามเปลี่ยนไฟล์ต้นฉบับ เขียนเอาต์พุตเป็นไฟล์ใหม่ ตรวจสอบว่า CRS เป็นหน่วยเมตริกก่อนดำเนินการ ถ้าไม่เช่นนั้นก็ตักเตือน

งาน: อธิบายโค้ด Python/GeoPandas ต่อไปนี้ทีละบรรทัดและทำเครื่องหมายความเสี่ยง: บรรทัดใดที่สามารถลบ/เขียนทับข้อมูลได้ การดำเนินการใดถือว่า CRS หรือวอลุ่ม ขั้นตอนใดจะทำให้ข้อมูลขนาดใหญ่ช้า การเปลี่ยนรหัส แค่อธิบายและตักเตือนCode: [...]

ภารกิจ: เขียนแผน TEST ขนาดเล็กก่อนที่จะรันโค้ดนี้กับข้อมูลจริง ด้วยข้อมูลตัวอย่างใด ผลลัพธ์ที่คาดหวัง ควรตรวจสอบด้วยค่าอ้างอิงใด ให้รายการตรวจสอบ รหัส/การกระทำ: [...]

งาน: อธิบายการดำเนินการ QGIS ต่อไปนี้ (คลิกขั้นตอน) เป็นทั้งเส้นทางเมนู QGIS และโค้ด Python/GeoPandas ที่เทียบเท่ากัน ระบุจุดแตกต่างและจุดสนใจ (CRS, หน่วย) กระบวนการ: [...]

ตาราง: การดำเนินการเชิงพื้นที่บ่อยครั้งและข้อผิดพลาด

การทำธุรกรรม

ทำอะไร

กับดักในรหัส AI

การตรวจสอบ

บัญชีภาคสนาม

ค้นหาพื้นที่รูปหลายเหลี่ยม

ฟิลด์ไม่มีความหมายใน Geographic CRS

เปรียบเทียบกับพื้นที่ที่ทราบ

บัฟเฟอร์

ภูมิภาครอบชายแดน

ข้อผิดพลาดหน่วย (องศา/เมตร)

เมตริก CRS + การวัด

การรวมตัวเชิงพื้นที่

เลเยอร์ที่เกี่ยวข้อง

การลงทะเบียนคีย์/ซ้ำกันไม่ถูกต้อง

การควบคุมการนับบันทึก

คลิป

ตัดกับพื้นที่

การสูญเสียข้อมูลนอกขอบเขต

เปรียบเทียบอินพุต/เอาต์พุต

การปฏิเสธ

ซีอาร์เอสเข้ามาแทนที่

CRS เป้าหมายไม่ถูกต้อง

การยืนยันรหัส EPSG

มินิเคสสามอัน

กรณีที่ 1 — การเขียนทับแบบเงียบๆ นักวางแผนจะรันสคริปต์ที่ AI เขียนโดยตรงบนเลเยอร์ฐาน รหัสใช้ตัวกรองอย่างไม่ถูกต้อง ลบครึ่งหนึ่งของเลเยอร์ และบันทึกไว้ในไฟล์เดียวกัน เนื่องจากไม่มีการสำรองข้อมูล ข้อมูลที่อยู่นานหลายวันจึงสูญหาย บทเรียน: ส่งออกเป็นไฟล์ใหม่เสมอ ข้อมูลหลักจะซ้ำซ้อนเสมอ

กรณีที่ 2 — บัฟเฟอร์มียูนิตผิด ทีมหนึ่งร้องขอบัฟเฟอร์การเข้าถึง 500 ฟุตให้กับโรงเรียน รหัส AI ทำงานบน geo CRS บัฟเฟอร์ 500 องศา ครอบคลุมทั้งแผนที่ เนื่องจากทีมทดสอบตัวอย่างเล็กๆ จึงตรวจพบข้อผิดพลาดก่อนที่จะส่งผ่านไปยังข้อมูลหลัก เพิ่มและแก้ไขการฉายภาพไปยังเมตริก CRS นิสัยในการทดสอบช่วยป้องกันภัยพิบัติ

กรณีที่ 3 — การเรียนรู้เชิงอธิบาย นักวางแผนที่ไม่รู้โค้ดจะสร้างโค้ดเข้าร่วมโดยให้ AI ตีความแต่ละบรรทัด เขาเห็น "แถวนี้ลดบันทึกที่ไม่ตรงกัน" ในคำอธิบาย และตระหนักว่าสิ่งนี้จะทำให้พัสดุบางส่วนหายไป โดยจะถาม AI เกี่ยวกับเวอร์ชันที่ไม่ตรงกันด้วย การทำความเข้าใจโค้ดถือเป็นข้อกำหนดเบื้องต้นสำหรับการใช้งานอย่างปลอดภัย

ข้อผิดพลาดทั่วไป

  • ทำงานโดยตรงกับข้อมูลหลัก ทำงานกับสำเนาเสมอ โดยเขียนเอาต์พุตไปยังไฟล์ใหม่
  • การเข้าใจผิดว่า "ได้ผล" เป็น "ถูกต้อง" รหัสที่ไม่มีข้อผิดพลาดอาจให้ผลลัพธ์ที่ไม่ถูกต้อง ยืนยันด้วยการอ้างอิง
  • สมมติว่า CRS และปริมาณ ตรวจสอบ CRS เมตริกสำหรับการทำงานในพื้นที่และระยะทางเสมอ
  • เรียกใช้โค้ดที่คุณไม่เข้าใจ เป็นการเสี่ยงที่จะเรียกใช้โดยไม่ต้องขอคำอธิบายและไม่รู้ว่าบรรทัดนั้นทำอะไร
  • ข้ามการทดสอบเล็กน้อย การเปลี่ยนมาใช้ข้อมูลขนาดใหญ่โดยไม่ลองใช้ข้อมูลตัวอย่างเป็นสาเหตุของข้อผิดพลาดที่พบบ่อยที่สุด
  • มอบข้อมูลที่เป็นความลับไปยังอุปกรณ์คลาวด์โดยไม่ต้องคิด อย่าเปิดเผยข้อมูลพัสดุ/บุคคลจริงเมื่อสร้างรหัส ใช้ข้อมูลตัวอย่าง/ไม่ระบุชื่อ

โดยสรุป

QGIS และ Python (โดยเฉพาะ GeoPandas) ทำงานเชิงพื้นที่ซ้ำ ๆ โดยอัตโนมัติในการวางแผน AI สร้างโค้ดสำหรับเครื่องมือเหล่านี้อย่างรวดเร็ว แต่ AI เขียนโค้ดด้วยสมมติฐานที่คุณมองไม่เห็น: CRS ผิด ปริมาณไม่ถูกต้อง การดำเนินการที่ลบข้อมูลโดยไม่โต้ตอบ การใช้งานอย่างปลอดภัยขึ้นอยู่กับกฎ 6 ประการ: ให้บริบท ขอข้อมูลเล็กๆ น้อยๆ ขอคำชี้แจง ทดสอบตัวอย่าง ยืนยันโดยการอ้างอิง สำรองข้อมูล “ทำงานแล้ว” ไม่เหมือนกับ “ถูกต้อง” แม้ว่าคุณจะไม่รู้รหัส แต่คุณก็สามารถรักษาความปลอดภัยของระบบอัตโนมัติเชิงพื้นที่ด้วย AI ได้โดยการทำความเข้าใจทุกบรรทัดและไม่ต้องแชร์ข้อมูลที่เป็นความลับ

งานสมัคร

เลือกงานเชิงพื้นที่ที่ทำซ้ำ (เช่น การคำนวณพื้นที่ในเลเยอร์และการแยกส่วนบนของเกณฑ์) (1) พิมพ์โค้ด + คำอธิบายบรรทัดไปยัง AI ด้วยเทมเพลตแรก (2) ตรวจสอบความเสี่ยงของโค้ดเดียวกันกับเทมเพลตที่สอง และค้นหาบรรทัด "อาจลบข้อมูล/สมมติ CRS" อย่างน้อยหนึ่งบรรทัด (3) ส่งออกแผนการทดสอบด้วยเทมเพลตที่สาม: ข้อมูลตัวอย่างใด, ค่าอ้างอิงใด (4) เขียนขั้นตอนความปลอดภัยสามขั้นตอนที่คุณจะต้องทำก่อนที่จะรันโค้ดกับข้อมูลจริง

รายการตรวจสอบ

  • [ ] ฉันให้รูปแบบ CRS และบริบทของคอลัมน์แก่ AI
  • [ ] ฉันอธิบายโค้ดทุกบรรทัด ฉันไม่ได้รันโค้ดฉันไม่เข้าใจ
  • [ ] ฉันต้องการโค้ดสั้นฟังก์ชันเดียว
  • [ ] ฉันทดสอบโดยใช้ข้อมูลตัวอย่างเล็กๆ น้อยๆ และตรวจสอบผลลัพธ์ด้วยสายตา
  • [ ] ฉันตรวจสอบผลลัพธ์ด้วยค่าอ้างอิงที่ทราบ
  • [ ] ฉันได้สำรองข้อมูลหลักแล้ว ฉันเขียนผลลัพธ์ไปยังไฟล์ใหม่
  • [ ] ฉันไม่ได้ให้ข้อมูลที่เป็นความลับที่แท้จริงแก่อุปกรณ์คลาวด์ ฉันใช้ข้อมูลที่ไม่ระบุตัวตน/ตัวอย่าง