ในโลก open source ผมยอมใจกับ QGIS ที่ผ่านกาลเวลาการพัฒนามาแล้วเกือบสามทศวรรษด้วยคุณภาพแบบไร้ที่ติ ถึงจะไม่มีฟีเจอร์หวือหวาแบบโปรแกรม GIS เชิงพานิชย์ตัวอื่นๆในท้องตลาด แต่ถ้าเราใช้ GIS แบบพื้นฐาน QGIS สามารถตอบสนองตรงนี้ได้แบบดีเยี่ยม
ผมเองทึ่งในประสิทธิภาพและประทับใจในการอ่านไฟล์ราสเตอร์ ที่ผมใช้งานอยู่ขนาดประมาณ 32 GB อ่านไฟล์ผ่านไดรว์ NAS ได้อย่างสบายๆแค่เพียงกระพริบตาไม่กี่ครั้ง ก็เลยมีความสงสัยว่า QGIS จะมีพลังขนาดไหนในการอ่านไฟล์เวคเตอร์
ไฟล์เวคเตอร์ที่ใหญ่ๆ ผมนึกถึง Open Buildings V3 ของกูเกิ้ลที่ปล่อยมาร่วมๆจะสองปีกว่าแล้ว โดยรวมไฟล์ที่เป็นอาคาร บ้านต่างๆ ที่กูเกิ้ลจัดทำขึ้นมาจากภาพถ่ายดาวเทียมความละเอียดสูง เนื่องจากขนาดที่ใหญ่โตมโหฬาร จึงนิยมใช้งานในบริการ Earht Engine ของกูเกิ้ลเองเพื่อประมวลผลต่างๆ ตั้งแต่การประมาณประชากร การวางผังเมือง และการตอบสนองด้านมนุษยธรรม ไปจนถึงวิทยาศาสตร์สิ่งแวดล้อมและสภาพภูมิอากาศ
คำนิยามของ Open Buildings V3 ที่ผมจับมาจากเวบไซต์ของกูเกิ้ลมีดังนี้ “ชุดข้อมูลแบบเปิดขนาดใหญ่นี้ประกอบด้วยโครงร่างของอาคารที่มาจากภาพถ่ายจากดาวเทียมความละเอียดสูง 50 ซม. ข้อมูลนี้มีการระบุอาคาร 1.8 พันล้านหลังในแอฟริกา ลาตินอเมริกา แคริบเบียน เอเชียใต้ และเอเชียตะวันออกเฉียงใต้ การอนุมานครอบคลุมพื้นที่ 58 ล้านตารางกิโลเมตร“
การเก็บข้อมูลของกูเกิ้ลของภาพชุดนี้ใช้รูปแบบง่ายๆคือ CSV (Comma Separated Value) โดยที่หนึ่งแถวหรือหนึ่งระเบียนเก็บข้อมูลอาคารหรือบ้านหนึ่งหลัง โดยมีฟิลด์ข้อมูลในรายละเอียดดังนี้

ไปดาวน์โหลดกันได้ที่นี่ กูเกิ้ลนับว่าใจกว้างให้ใช้ฟรีโดยไม่มีเงื่อนว่าจะต้องลงทะเบียน คลิกเลือกพื้นที่แล้วก็ดาวน์โหลดกันมาเลย เนื่องจากไฟล์ใหญ่ระดับ GB ดังนั้นเน็ตขอให้เร็วเป็นพอ

ผมเลือกไฟล์มาหนึ่งไฟล์ก่อนในเบื้องต้นคือไฟล์ “311_buildings.csv.gz” ขนาดประมาณ 3 GB เมื่อทำการ unzip ด้วย 7zip จะได้ไฟล์ csv ขนาดมหึมา 8 GB ทำการเพิ่มชั้นข้อมูล (Add Layers) ด้วย Layers > Add Layer > Add Delimited Layer ทำการเลือกไฟล์ 311_buildings.csv ที่ Geometry Definition ตั้งเป็น Well known text (WKT) โดยที่ Geometry type เลือกเป็น Automatic หรือตั้งเป็น Polygon ก็ได้ ที่สำคัญคือ Geometry CRS เลือกเป็น EPSG – 4326 – WGS84

ตอนเลือกไฟล์เสร็จจะเห็น QGIS พยายามสแกนไฟล์ ดูจำนวนโพลีกอนหรือจำนวนเรคคอร์ดได้ประมาร 35 ล้านหลัง ไฟล์นี้ครอบคลุมประเทศไทยครึ่งซีกแบ่งที่ประมาณกรุงเทพฯ อีสานตอนล่างแล้วคลุมประเทศเขมรทั้งหมด
การทดสอบการอ่านไฟล์เข้า QGIS จะทดสอบด้วยคอมพิวเตอร์สองเครื่อง
| Computer | S2 File Block | Time (minute) | Remark |
|---|---|---|---|
| Laptop Computer | 311 Buildings | 14 | Add layer |
| Desktop Computer | 311 Buildings | 15 | Add layer |
การจับเวลาเริ่มต้นจับเคาะปุ่ม Add เพื่อเพิ่มข้อมูล จากนั้นเครื่องจะอ่านไฟล์ CSV มาจนครบและจับเวลาหยุด จะเห็นว่าโน้ตบุ๊คคอมพิวเตอร์ที่เป็นเครื่องรุ่นใหม่ (ซื้อกลางปี 2025) กว่าทำเวลาดีกว่าเครื่องตั้งโต๊ะเล็กน้อย เวลา 14-15 นาทีถือว่าเป็นเวลาที่รอกันได้ สามารถไปชงกาแฟจิบๆ ยังไม่หมดแก้ว
การเรนเดอร์ QGIS จะแสดงผลแบบไม่ให้รอคือเรนเดอร์โพลีกอนไปเรื่อยๆ ถ้าทิ้งไว้จะมีโพลีกอนเพิ่มมา สามารถเลื่อนหรือไปซูมพื้นที่อื่นได้

การทดสอบต่อไปจะเป็นการรีดพลังของ QGIS ถ้าเปรียบกับรถบรรทุกในรอบแรกคือใส่สินค้าหนักเต็มกระบะหลัง เป็นการทดสอบความเร็วที่ถนนเรียบ ต่อไปจะเพิ่มไฟล์อีกไฟล์หนึ่งที่มีขนาดจำนวนโพลีกอนมากกว่าไฟล์แรก โดยที่มีจำนวนโพลีกอน 39 ล้านหลังเป็นพื้นที่ภาคอีสาน รวมลาวไปจนถึงเวียดนามด้านบน การทดสอบนี้เหมือนการเอารถบรรทุกใส่สินค้าหนักเต็มแล้วพ่วงกระบะบรรทุกสินค้าเพิ่มเข้าไป 1 พ่วง แล้ววิ่งขึ้นเขาที่ความชัน 8% ถ้าพลังของ QGIS ไม่พอ เครื่องยนต์และช่วงล่างจะต้องมาพังกันที่การทดสอบนี้

จากการจับเวลาการเพิ่มข้อมูล CSV จากไฟล์ “313 buildings” ได้ผลดังตารางนี้
| Computer | File Block | Time (minute) | Remark |
|---|---|---|---|
| Notebook computer | 313 buildings | 31 | Add layer |
| Desktop computer | 313 buildings | 39 | Add layer |

ที่ผมคิดว่า QGIS จะพังที่การทดสอบนี้ กลับเปล่าเลย เครื่องมีอาการอืดไปนิดหนึ่ง เหมือนว่าจะร้องขอไฟล์ทดสอบเพิ่มมาอีก”เอาอีก เอาอีก” ผมทำการบันทึกข้อมูลเป็น Geopackage (gpkg) ใช้เวลานานมากสำหรับการบันทึกแต่ละไฟล์ แต่เมื่อบันทึกไฟล์ได้แล้ว ทำการปิด QGIS เปิดมาอีกครั้งแล้วทำการสร้างโครงการใหม่ แล้ว Add vector layer ด้วยไฟล์ Geopackage ที่เราบันทึกไว้ ตอนนี้เปิดได้เร็วมากและเรนเดอร์ได้เร็วกว่าตอนเปิดไฟล์ CSV หลายเท่า
การซูมเข้าไปลึกๆก็ทำได้เร็ว กระปรี้กระเปร่า ไม่มีอาการอืดแสดงการร้องขอชีวิตให้เห็น ผมเพิ่มชั้นข้อมูลแบบ XYZ: Layer > Add Layer > Add XYZ Layer… โดยแสดงข้อมูลจาก Google Maps Satelite เพื่อแสดงภาพพื้นหลัง กำหนดได้ดังนี้

ที่นี้จะได้ข้อมูลโพลีกอนของอาคารที่ซ้อนด้วยข้อมูลจาก Google Maps ที่หลังๆมานี้ทางกูเกิ้ลได้ทำภาพลายน้ำ (Watermark) ที่จางมากๆ ไม่เข้มเหมือนสมัยก่อน ลองซูมไปที่กรุงพนมเปญ เยี่ยมคฤหาสถ์หลังงามของคุณน้าวุ้นเส้นก็ดูชัดดีพิกัดภูมิศาสตร์ (11.5574024N,104.9287493E) หรือพิกัดแบบพลัสโค้ด (7P36HW4H+XF9G)

ผมว่ากูเกิ้ลมีวิธีการทำมาหากินแบบสมดุลย์ไม่หน้าเลือด บางบริการให้ผู้ใช้ใช้ฟรี ถ้าผู้ใช้มีเงินถุงเงินถังสามารถจ่ายเงินสำหรับบริการที่ดีกว่ายกตัวอย่างเช่น Gemini ถ้าแบบฟรีที่ผมใช้อยู่กับแบบ Gemini 2.5 flash ไม่มีกำหนดเวลาถึงแม้จะทะเลาะโต้แย้งกันบ่อยแต่ก็พอใจ ถ้าอยากจะเสียเงินเพื่อใช้รุ่นที่เก่งกว่าก็มี Gemini 2.5 Pro เป็นต้น
เกร็ดอีกอย่างหนึ่งคือผมทดสอบข้อมูลไฟล์แรก “311 buildings.csv” ด้วย Global Mapper ขวัญใจของผมและเป็นเจ้าแห่งความเร็ว ใช้เวลาสองชั่วโมงอ่านไฟล์ ผมจำต้องเปิด Task manager ทำการ End task ทิ้งเพราะดูๆแล้วเหมือนจะค้างไปแล้วอย่างน่าเสียดาย
อีกอย่างที่ผมสงสัยคือเมื่อเปิด Task manager ที่ QGIS กำลังเพิ่มชั้นข้อมูล “311 buildings” พบว่า QGIS ใช้งานซีพียูประมาณ 8% ใช้แรมไป 269 MB ซึ่งมันน้อยมากเป็นไปไม่ได้ ทั้งๆที่อ่านไฟล์ขนาด 8 GB ในขณะที่ google chrome เบราเซอร์ที่อยู่ข้างๆกันเขมือบแรมไป 2.5 GB ตอนเพิ่มชั้นข้อมูลไฟล์ที่สอง “313 buildings.csv” การกินแรมมาอยู่ 289 MB มาถึงตรงนี้ผมสงสัยว่า Task manager ไม่สามารถจับการกินแรมของ QGIS ซึ่งไม่ควรจะเป็นอย่างนั้น การจองแรมในภาษาซี/ซีพลัสพลัส ก็เรียกใช้ API ของวินโดส์ ซึ่งก็น่าจะถูกมอนิเตอร์ได้ด้วย Task manager


เมื่อเปิดโครงการที่มีเฉพาะไฟล์ Geopackage จะเห็นว่าแรมที่ QGIS กินยังน้อยเหมือนเดิม เพียงแต่คราวนี้จะเห็น QGIS อ่านไฟล์จากดิสค์ SSD ในขณะเรนเดอร์ ผมคิดว่าตอนเรนเดอร์ไฟล์ CSV กับ Geopackage ที่เวลาต่างกันมากเพราะ Geopackage เป็นฐานข้อมูลที่โครงสร้างดีกว่า การคิวรีข้อมูลน่าจะดีกว่า CSV หลายขุม

ผมทำงานด้านก่อสร้างถึงแม้จะใช้งาน QGIS แบบพื้นๆก็ตาม แต่บางครั้งข้อมูลแบบราสเตอร์ก็โหดอยู่เหมือนกันเพราะโครงการขนาดใหญ่ต้องอ่านไฟล์ Geotiff ขนาด 32 GB ที่ผมกล่าวไปแล้ว ที่ QGIS เอาอยู่แบบสบายๆ แม้จะทดสอบการอ่านไฟล์และเรนเดอร์ไฟล์เวคเตอร์ขนาดมหึมาก็ยังไม่สะทกสะท้าน เป็นโปรแกรมที่อยู่กันมานานมาก ปกติโปรแกรม open source จะอยู่กันได้ไม่นาน ล้มหายตายจากกันก็มาก ก็มี QGIS อีกหลายโปรแกรมที่ผมใช้เช่น Gimp, Inkscape ที่ยังอยู่กัน โปรดติดตามตอนต่อไปครับ
ขอบคุณข้อมูลจากเว็บไซต์ priabroy.name