______เดี่ยวนี้หลายองค์กร หลายหน่วยงานมีการใช้งานแผนที่ และระบบภูมิสารสนเทศ(GIS) มากยิ่งขึ้นครับ เดี่ยวนี้เรียกได้ว่าถ้าพูดว่า GIS ก็จะไม่ต้องอธิบายอะไรมาก ชัดเจนแบบที่พี่ติ๊กกว่าไว้ว่า “ปิดตาก็ยังได้ยิน ปิดหูก็คงได้กลิ่น ปิดไฟก็เห็นด้วยจินตนาการ” ว่าการใช้แผนที่และ GPS กลายเป็นเรื่องธรรมดาที่ไม่ยากจะเข้าถึงเหมือนอดีตอีกต่อไป และเรียกว่าแน่นอนว่าการอธิบายใดๆอันเกี่ยวเนื่องกับข้อมูลเชิงตำแหน่ง สถานที่ ก็จะการนำเอาระบบ GIS หรือใช้การนำเสนอผ่านแผนที่ ดังตัวอย่างเช่นการรายงานข่าว หรือจะเห็นได้จากการอธิบายขั้นตอนการกระฉับพื้นที่ของ ศอฉ. หรืองานด้านต่างๆ เลยมีคำถามด้านนี้มากขึ้น คำถามหนึ่งที่พบคือเราจะเอาระบบแผนที่ online อย่าง Google Map มาใช้ในระบบสารสนเทศขององค์กรได้ไหม? หรือจะใช้เพื่อช่วยในการทำแผนที่ในการเก็บข้อมูลสนามได้หรือเปล่า? หลายท่านอาจจะสงสัยเพราะปกติ Google Map หรือ Google earth มักจะเป็นระบบปิดอิสระ ถึงแม้จะมีข้อมูลที่ดีและทันสมัยแค่ไหน ก็ยากที่จะนำเข้ามาใช้ในระบบ GIS แบบข้อมูลเชิงตำแหน่งทั่วไป วันนี้ผมมีเทคนิคการนำข้อมูลจาก Open Map Service แบบ Google Map มานำเสนอเพื่อใช้ในการทำแผนที่เบื้องต้น ,สำรวจข้อมูลเบื้องต้น และใช้ในการปรับปรุงข้อมูลเชิงตำแหน่งเบื้องต้นมาฝากครับ (ที่ผมใช้คำว่าเบื้องต้นเพราะมันไม่ดีที่สุด แม่นยำที่สุด แต่ด้วยความสะดวกและฟรีจึงสมควรที่จะเรียนรู้)

________ตอนแรกจะเขียนเกี่ยวกับ QGIS ซึ่งเป็นโปรแกรม desktop GIS ที่สามารถใช้ประมวลผล วิเคราะห์ข้อมูล และจัดทำข้อมูลเชิงตำแหน่งได้ และด้วย plug-in ชื่อ GOogle layers จะทำเราสามารถนำข้อมูลแผนที่ถนน แผนที่ภาพถ่ายดาวเทียมจากระบบ Google Map Service มาใช้เป็นแผนที่ในการสร้างชั้นข้อมูล GIS ได้โดยมีขั้นตอนดังนี้ครับ

1. ติดตั้งโปรแกรม QGIS โดยดาวน์โหลดได้ที่ http://www.qgis.org/en/download/current-software.html

2. เตรียม Marker สำหรับพื้นที่ที่ต้องการจะ digitize ชั้นข้อมูลแผนที่ ใช้ได้หลายแบบของผมใช้ Grid ในการวาง zone โดยจัดทำเป็น vector ที่มี CRS ตรงตามระบบแผนที่ที่ใช้งานนะครับ ผมใช้ EPSG 4326 เพื่อเก็บข้อมูลจาก Google Map Service

3. ดาวน์โหลด plug-in ตัว Google Layers เพื่อเตรียมการเชื่อต่อ QGIS โดยท่านสามารถเลือกดาวน์โหลดได้จาก plug-in manager หรือจะเข้าไปดาวน์โหลด source code มาทำการ complier และติดตั้งเองก็ได้เช่นกัน ที่ http://spatialserver.net/pyqgis_1.0/contributed/GoogleLayers.zip

_______ขออธิบายหลักการการทำงานของ plug-in เพิ่มเติมคือ plug-in ตัวนี้ใช้การดึงข้อมูลแผนที่แบบ Image Map Service จาก Google Static Map โดยมีข้อกำหนดการใช้งาน 1000 ภาพต่อวัน (สามารถเปลี่ยน IP ได้กรณีที่ใช้เกิดมีโอกาสจะกล่าวถึงครับ) เรื่องลิขสิทธิ์อันนี้ไม่แน่ใจว่ารายละเอียดเป็นอย่างไร เพราะว่าข้อกำหนดของ Google ก็เคยมีการโต้เถียงในบอร์ดและบล็อคของผู้พัฒนา ตั้งแต่เวอร์ชั่นแรกแต่ตอนนี้ผมว่าน่าจะลงตัวแล้วเพราะได้ distribute ผ่าน official site ของ QGIS เอาเป็นว่าเราใช้ไปก่อนแล้วกัน😀  อีกประเด็นสำคัญมากแต่ไม่ลงรายละเอียดเพราะผมว่ามันเป็น detail มากคือเรื่องระบบพิกัดอ้างอิงหรือ CRS ระบบแผนที่ของ Google Map Service ใช้ Mercator ใต้รหัส EPSG 900913 เข้าไปอ่านรายละเอียดได้ที่ http://spatialreference.org/ref/sr-org/google-projection/

4. ดาวน์โหลด plug-in เข้ามาได้เลยครับ ไปที่ plug-in Goole Layers และเลือก setting เพื่อปรับแต่งชนิดของ Map Content

5. Config ระบบพิกัด CRS EPSG:900913 ให้ Qgis เนื่องจาก Proj4 ไม่รู้จัก EPSG:900913 เลยต้องมาสร้าง parameter เอง หลักการก็ไม่มีอะไรมากระบุค่า พารามิเตอร์ในการนิยาม ellipsoid ให้กับ CRS ตัวนี้ไปที่ setting >> custom CRS และพิมพ์ค่าพารามิเตอร์ดังนี้ครับ จะเห็นได้ว่าค่อนข้างหยาบไม่ซับซ้อนไม่เน้นที่การคงรูป คงระยะ แต่เน้นที่สะดวกในการทำระบบ Map Service แบบ Tile-Caching ที่นิยมกัน

+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs

6. กำหนดค่า Projection Properties ให้ระบบแสดงผลแผนที่โดยเลือก CRS แบบ EPSG: 900913 และกำหนดค่าการอ้างอิงแบบ projection on the fly เพื่อให้ QGIS ทำการ Reprojection ข้อมูล vector ของเราให้ซ้อนทับบนภาพ Google Map ได้

7. ทดสอบเรียกภาพถ่ายดาวเทียมจาก GOogle Map โดยเลือกเมนู Google Layers

8. ทำการ download แผนที่จาก Google Map ให้ทั่วบริเวณต้องการ digitize โดยต้องทำทีละ level ให้ครบ extent ที่ต้องการนะครับและจึง step ลงไปใน level ต่อไป

10 สร้างชั้นข้อมูลแบบ vector เพื่อทำการ digitize ข้อมูลอาคาร ผมใช้ข้อมูลเวกเตอร์แบบ polygon ระบบ EPSG:4326

11. ลงมือ digitize ข้อมูลอาคารและสิ่งปลูกสร้าง รวมถึงการกรอกค่า attribute ลงไปใน database

12. เสร็จแล้วก็ save ข้อมูลครับ

13. สำหรับท่านที่ต้องการทำแผนที่ก็สามารถเข้าไปที่ File>>Print เพื่อสร้าง Map layout ได้

_______เท่านี้เราก็ได้ข้อมูล GIS จากระบบบริการแผนที่ของ Google Map แล้ว โดยข้อมูลของเราก็จะอยู่ในระบบ CRS ที่เป็น lat,lon (EPSG:4326) โดยแน่นอนว่าความถูกต้องเชิงตำแหน่งอาจจะไม่มากเท่ากับการสร้างแผนที่จากภาพ ortho ของ IKONOS หรือ Quickbird เพราะข้อมูลเชิงตำแหน่งของ Map Service นั้นมีการ transform และโยงยึดบน Map Canvas ของโปรแกรม QGIS ในแบบสมการโพลีโนเมียลดีกรี 1 จงอย่านำไปกล่าวอ้างว่าท่านได้ทำแผนที่มาตราส่วนใหญ่ได้จากชั้นข้อมูลแผนที่ของ Google Map เพราะจากการทดสอบในส่วนการใช้งานของผมความถูกต้องของ vector ที่ทำการ digitize ได้นั้นอยู่ที่ประมาณ 5-10 เมตรซึ่งพอเดียงกับการใช้งานร่วมกับ GPS แบบมือถือ(Handheld GPS) แต่แน่นอนว่าเราสามารถปรับปรุงการเคลื่อนแบบมีระบบได้จากการทำการโยงยึดด้วยจุดควบคุม( Geo reference) ให้กับ vector data

_______ในด้านความครบถ้วนและความถูกต้องเชิง Topology นั้นค่อนข้างมีความสมบูรณ์ ท่านยังสามารถสร้างข้อมูลจุกตำแหน่งต่างๆจากแผนที่ฐานของ Google Map ได้โดยสามารถสกัดชื่อสถานที่, ชื่อถนน ได้ ดังนั้น Google Layers ก็จะสามารถช่วยการทำแผนที่แบบเบื้องต้นได้อย่างสะดวกครับ บทความหน้าติดตามตอนสอง ผมมีอีกหนึ่งเทคนิคในการทำแผนที่อย่างง่ายจาก Google Map มาแนะนำครับ