การเพิ่มชั้นข้อมูล GIS Shapefile และ GeoJSON เพื่อซ้อนทับกับข้อมูลแผนที่ใน Dronebox
วันนี้ผมจะมาแนะนำการนำเข้าข้อมูล GIS เพื่อนำไปแสดงผลร่วมกับข้อมูลที่ได้จากการประมวลผลข้อมูลจากภาพโดรนเสร็จแล้วนะครับ (สามารถเข้าดูวิธีการประมวลผลภาพโดรนได้ที่นี่ครับ) ซึ่งข้อมูลที่ได้จาก GIS ที่ Dronebox สามารถรองรับและแสดงผลได้ก็จะอยู่ในรูปแบบของ ESRI Shapefile และ GeoJSON ครับ ซึ่งวันนี้ก็เลยจะสาธิตโดยการส่งออกข้อมูลจากโปรแกรม QGIS ครับ เรามาเริ่มกันเลยครับ
1. เริ่มต้นเลยเราต้องเตรียมข้อมูล Shapefile หรือ GeoJSON ในโปรแกรม QGIS ดังภาพเลยครับ โดยตัวอย่างของผมจะมีชั้นข้อมูล 3 แบบเลย คือ จุด เส้น และพื้นที่

2. จากนั้นเราจะต้องเลือกชั้นข้อมูลที่ต้องการโดยคลิกขวาที่ชั้นข้อมูลเลือก Export > Save Features As… เราก็จะสามารถเลือกประเภทเป็น ESRI Shapefile หรือ GeoJSON ได้ละครับ

3. จากนั้นเราจะทำการเลือกประเภทของ Format type โดยตอนนี้ Dronebox รองรับอยู่ 2 รูปแบบคือ ESRI Shapefile และ GeoJSON ซึ่งเร็วๆนี้ จะรองรับไฟล์ด้าน CAD เช่น DXF ด้วยนะครับ


4. จากนั้นมาที่ส่วนของโปรเจ็คใน Dronebox เรานะครับ โดยคลิกที่ Shapefile > ครับ

5. ให้เราทำการคลิกที่ +เพิ่มชั้นข้อมูล เพื่อเริ่มทำการอัปโหลดชั้นข้อมูล ESRI Shapefile หรือ GeoJSON ครับ

6. ตรงส่วนนี้จะสำคัญและเน้นนิดนึงนะครับ ซึ่งเมื่อเราคลิกที่ปุ่มเพิ่มชั้นข้อมูลแล้วก็จะมีหน้าต่างแสดงขึ้นมาดังภาพ โดยจะมีแถบเมนูให้เห็น 2 แถบคือ Shapefile(.zip) และ Geojson โดยมีรายละเอียดดังนี้
6.1ถ้าผู้ใช้งานมีข้อมูล Shapefile เราจะต้องทำการ Zip file ของข้อมูลทั้งหมดก่อน โดยเราก็จะทำการรวมไฟล์ดังกล่าวนี้ในโฟลเดอร์เดียวแล้วทำการ Zip ไฟล์ให้เรียบร้อยก่อนถึงจะนำมาอัปโหลดได้ครับ ดังโครงสร้างด้านล่าง
Point.zip
|-- Point.shp
|-- Point.shx
|-- Point.dbf
|-- Point.prj
|-- Point.cpg
หมายเหตุ ESRI Shapefile : ระบบพิกัดเดิมที่มากับชั้นข้อมูล Shapefile จะถูกแปลงให้เป็น WGS84 – World Geodetic System 1984 (EPSG:4326) ให้ครับ

6.2 ส่วนถ้าเป็นแบบ GeoJSON ก็ไม่ต้อง zipfile สามารถอัปโหลดไฟล์ GeoJSON ได้เลย เช่น
Point.geojson
{
"type": "FeatureCollection",
"name": "Point",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32647" } },
"features": [
{ "type": "Feature", "properties": { "id": 1 }, "geometry": { "type": "Point", "coordinates": [ 627464.453227956779301, 1852113.351718502817675 ] } },
{ "type": "Feature", "properties": { "id": 2 }, "geometry": { "type": "Point", "coordinates": [ 627441.504187405807897, 1852022.622953535523266 ] } },
{ "type": "Feature", "properties": { "id": 3 }, "geometry": { "type": "Point", "coordinates": [ 627361.315970133873634, 1852019.687611139379442 ] } },
{ "type": "Feature", "properties": { "id": 4 }, "geometry": { "type": "Point", "coordinates": [ 627391.002955731004477, 1852093.871718965470791 ] } },
{ "type": "Feature", "properties": { "id": 5 }, "geometry": { "type": "Point", "coordinates": [ 627394.471996742766351, 1851959.913365984102711 ] } }
]
}
หมายเหตุ GeoJSON : ผู้ใช้สามารถเลือกระบบพิกัดตามข้อมูลที่อัปโหลดได้ เช่น EPSG: 4326, EPSG:32647 เป็นต้น
7. เมื่อเราอัปโหลดข้อมูล ESRI Shapefile หรือ GeoJSON แล้ว ให้ทำการคลิก บันทึก และให้คลิก create เพื่อทำการสร้างชั้นข้อมูลเก็บไว้ที่ Dronebox ครับ


8. จากนั้นก็จะเห็นว่ามีข้อมูลจุด ที่เราอัปโหลดแสดงในแผนที่เรียบร้อยแล้ว

9. นอกจากนี้ เรายังสามารถปรับแต่งชื่อชั้นข้อมูล สีสัญลักษณ์ของข้อมูล จุด เส้น และพื้นที่ได้อีกด้วยครับ

10. ผลที่ทำการอัปโหลดข้อมูล ESRI Shapefile หรือ GeoJSON ครบทั้ง 3 รูปแบบ ดังภาพครับ

ครั้งหน้าผมจะมาแนะนำการอัปโหลดข้อมูลในรูปแบบอื่นๆ ที่ Dronebox รองรับอย่างเช่นข้อมูลจาก AutoCAD อีกทีนะครับ