Dracones: a Web Mapping Framework

_______วันนี้มีข่าวประชาสัมพันธ์มาบอกครับ เนื่องจากคุยกับพี่ๆเพื่อนๆหลายท่านที่คิดว่าเราน่าจะมีสถานที่แลกเปลี่ยนและชุมชนเล็กๆที่ใช้พูดคุยแลกเปลี่ยนเรื่องที่เกี่ยวกับ Opensource GIS เพราะปัญหาหลักของการใช้ Opensource คือมันใช้งานแล้วขาดคู่มือหรือรายละเอียดการใช้งานที่ดี รวมถึงการแก้ปัญหาแบบ work around ที่ต้องเจอในขณะทำงาน ซึ่งแน่นอนว่าถ้าผู้ใช่ไม่สามารถถนัดในการอ่านภาษาอังกฤษ หรือมีความอดทนในการค้น mailing list  ท่านย่อมจะไม่สามารถหาวิธีการแก้ปัญหาได้แน่แท้ และแน่นอนว่าการ email มาถามผมอาจจะไม่ใช่ช่องทางที่ดีที่สุด เพราะผมเองก็มีข้อจำกัดในการตอบอีเมลทุกฉบับ ให้เร็วดังใจผู้ถาม ดังนั้นผมก็เลยเอา idea การสร้าง web board จากรัสเซียที่สร้างสังคมของนัก GIS จาก webboard แบบเดิม โดยเน้นไปที่การแลกเปลี่ยนประสบการณ์ เทคนิคและอื่นๆ ในเรื่องเทคโนโลยี โดยผมได้ใช้บริการ free web board โดยทุกท่านสามารถร่วมส่งคำถาม หรือจะเป็นผู้ร่วมสนทนาแรกเปลี่ยนความรู้ รวมถึงการตอบคำถามได้ที่ http://excellentmap.fix.gs/

________ มาถึงเรื่องที่จั่วหัวแนะนำ Dracones ตัวนี้เป็น Web Mapping Framework อีกตัวที่ผมว่ามันใช้งานได้ง่ายและเข้าท่าดี โดย Dracones ทำงานบน Map Script รองรับทั้ง PHP และ Python Interface ซึ่งเป็น frame work ที่ค่อนข้างเล็กกระทัดรัด ทำงานในรูปแบบ API ซึ่งง่ายในการเขียนโปรแกรมเพื่อพัฒนาต่อเพิ่มเติม ในส่วนของ Web Application ผ่าน Javascript API และส่วนของ Server ผ่าน Python API หรือ PHP API มีการทำ subversion ที่เรียกว่า DraconesPH ตัวนี้มีการนำไปใช้ทำ Application ด้าน geostat โดยใช้ Dracones Core ร่วมกับ Postgresql+Postgis ,Extjs และเชื่อมต่อการประมวลผลกับ SaTScan ท่านที่สนใจแวะไปดาวน์โหลด source code มาใช้งานได้ที่ http://code.google.com/p/dracones/

ตัวอย่างการใช้งาน SaTScan แบบ online บน draconePH

Find you from Geolocation

______รู้สึกว่าปัจจุบันเรื่องของตำแหน่ง(location) นั้นกำลังเข้ามามีบทบาทใน Application ด้านต่างๆมากขึ้น สืบเนื่องมาจากเรื่องของอุปกรณ์บอกตำแหน่งเช่น GPS มีราคาถูกและกลายเป็น option ที่ปกติที่ติดกับอุปกรณ์สื่อสารผกพาเช่นโทรศัพท์มือถือ และที่สำคัญผู้พัฒนาโปรแกรมประยุกต์ต่างต้องการนำเอาค่าพิกัดตำแหน่งของผู้ใช้เข้าไปร่วมกับการประมวลผลต่างๆเช่นการประมวลผลสืบค้นข้อมูล ซึ่งแน่นอนว่าการสืบค้นประเภทนี้ย่อมมีการใช้ความสัมพันธ์เชิงตำแหน่งเข้ามาร่วมในการสืบค้น และรวมไปถึงการจัดเก็บข้อมูลบนฐานข้อมูลที่มีการสร้างความสัมพันธ์เชิงตำแหน่งร่วมเข้าไปด้วย ในรูปแบบ Spatial Database

______การหาค่าพิกัดตำแหน่งนั้น นอกจากจะคำนวณจาก GPS ซึ่งเป็นอุปกรณ์ระบุตำแหน่งด้วยดาวเทียมเพียงอย่างเดียวแล้วปัจจุบันเรายังมีทางเลือกในการคำนวณตำแหน่งจากเครือข่ายอินเตอร์เน็ต ทั้งแบบ wifi hotspot,Cell site  หรือจะคำนวณหาจากค่า Mac address รวมๆแล้วเรียกว่า เทคโนโลยีระบุตำแหน่งแบบ Geolocation ซึ่ง Geolocation นี้เป็นหนึ่งใน มาตรฐานของ HTML5 ที่อุปกรณ์พกพาและโปรแกรม web browser รุ่นใหม่ๆรองรับ เพื่อผนวกรวมเอาค่าพิกัด ณ ปัจจุบันของผู้ใช้ทั้งจาก GPS ,WIFI,Cellsite และจากวิธีอื่นๆมาใช้ใน Application โดยผู้พัฒนาเขียนโปรแกรมติดต่อการคำนวณหาตำแหน่งแบบมาตรฐานผ่าน Geolocation API บน layer นี้ซึ่งจะง่ายต่อการพัฒนา วันนี้ผมมีเทคนิคและวิธีการคำนวณหาค่าพิกัดด้วย Geolocation API มานำเสนอ

Geolocation API specification

______ Geolocation API specification มาตรฐานของ HTML 5 สำหรับการเขียนโปรแกรมเพื่อเรียกพิกัดของตำแหน่งปัจจุบัน โดยสามารถดูรายละเอียดได้จาก http://www.w3.org/TR/2008/WD-geolocation-API-20081222/ ซึ่งปัจจุบัน โปรแกรม Web Browser หลายตัวก็สนับสนุนการทำงานเช่น Firefox,Chrome,Safari,Opera (ยกเว้น IE อยู่ระหว่างการทดลอง) การเขียนโปรแกรมก็ไม่ยุ่งยาก สามารถเขียนในรูปแบบการ Getposition และแบบการ track position

function showMap(position) {
alert(position.coords.latitude+’,'+ position.coords.longitude).
}
// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);
กรณีที่ต้องการ track ตำแหน่งตลอดเวลา ก็ใช้
var watchId = navigator.geolocation.watchPosition(showMap);
เมื่อต้องการหยุดการ track ก็ทำลาย object โดยใช้คำสั่ง
navigator.geolocation.clearWatch(watchId);
____ ทดสอบการใช้งานได้ที่ http://html5demos.com/geo โดยท่านทำการอนุญาติให้ web browser เข้าถึงพิกัดก่อน โดยทำการ set permission เพื่อ share location การหาตำแหน่งก็จะคำนวณค่าพิกัดจากการสนับสนุนการหาตำแหน่ง ซึ่งขึ้นกับเครื่องปลายทาง ถ้ามี GPS และเปิด ตัว API ก็สามารถเข้าถึงและเรียกดูได้ หรือถ้าไมีก็อาจจะคำนวณหาจาก Cell site ของจุดจ่ายสัญญาณอินเตอร์เน็ต ซึ่งแน่นอนว่าความถูกต้องของพิกัดก็จะลดลงกว่าการหาตำแหน่งด้วยระบบ GPS  โดย Geolocation data ที่ได้ประกอบด้วยค่า พิกัด(lat,lon on WGS84) , accuracy, Speed, heading direction โดยเราสามารถสกัดค่าเหล่านี้ได้จาก javascript API
ตัวอย่างการ share location
ตัวอย่าง application
YQL Geo Library
______YQL Geo Library เป็น Javascript geolocation Lib ที่ผมชอบและใช้งานอยู่ โดยตัวนี้ทำงานได้บน Geolocation API และเพิ่มความสามารถการหาตำแหน่งจาก IP address รวมถึง Geocode Service และ Reverse Geocode service ความสามารถล้นหลายทำงานแบบ API แวะไปดาวน์โหลดมาใช้งานได้ฟรีที่ http://isithackday.com/hacks/geo/yql-geo-library/ ผมมีตัวอย่างการหาตำแหน่งแบบ Geolocation ของ lib ตัวนี้มาแนะนำ
yqlgeo.get(‘visitor’,function(o){
alert(o.place.name + ‘,’ + o.place.country.content +
‘ (‘ + o.place.centroid.latitude + ‘,’ +
o.place.centroid.longitude + ‘)’
);
});
ข้างบนเป็นตัวอย่างการหาพิกัดของ visitor ที่เข้า web ผ่าน w3c Geolocation API แบบ YQL
yqlgeo.get(’217.12.14.240′,function(o){
alert(o.place.name + ‘,’ + o.place.country.content +
‘ (‘ + o.place.centroid.latitude + ‘,’ +
o.place.centroid.longitude + ‘)’
);
});
code ข้างบนเป็นการหาค่าพิกัดจาก IP address โดยสามารถระบุประเทศและตำแหน่งโดยประมาณได้
GeoIP API
_____Geo IP API เป็นระบบที่มี free IP database สำหรับการคำนวณค่าพิกัดจาก IP address ซึ่งเราสามารถนำมาใช้ได้กับ Web Application โดยผ่าน API ในภาษาต่างๆ เช่น PHP,Python, C# เป็นต้น สามารถไปดาวน์โหลดโปรแกรมได้ที่ http://www.maxmind.com/app/python ผมเองใช้ตัวนี้ผ่านทาง python มีตัวอย่างการใช้งานมาแนะนำดังนี้ครับ
import pygeoip
import os
os.chdir(r’C:\Users\user\Desktop\GEOIP’)
gic = pygeoip.GeoIP(‘GeoLiteCity.dat’)
print gic.record_by_addr(’125.26.9.54′)
code ด้านบนเป็นการหาพิกัดจาก Ip address
ตัวอย่างผลลัพธ์การหาพิกัดจาก IP address
ถ้าต้องการหาพิกัด จาก Domain name ก็สามารถทำได้เช่นเดียวกันครับดังนี้
gic.record_by_name(‘google.com’)
ผลลัพธ์การหาพิกัดจาก domain name

อ้างอิงจาก

Disaster management with GeoWeb 2.0 part III

_______หายไปหลายวันกับวันวันนี้ได้ฤกษ์กลับมา Update เรื่องของ Disaster management ต่อผลตอบรับดีมากจากทาง email และ Facebook ผมเองต้องการสื่อถือเครื่องมือที่เราสามารถนำมาใช้งาน เพื่อเตรียมรับมือกับสิ่งที่อาจจะเกิดขึ้นได้ในอนาคต ประกอบกับช่วงเวลาที่เราเห็นเพื่อบ้านในเอเซียเช่นปากีสถานและจีน โดนน้ำท่วมและดินถล่มรุนแรง อดทำให้เรานึกถึงบ้านเราไม่ได้ เพราะเมืองไทยก็ยังมีกลุ่มผู้เห็นแกตัวที่แอบรุกทำลายป่าไม้ ทั้งตัดไม้เพื่อขายและการนำพื้นที่ป่ามาทำกิน ปราบอย่างไรก็ไม่หมดมีข่าวออกมาให้เราได้ดูกันตลอด ผลลัพธ์ก็ตกกับชาวบ้านตาดำๆ ที่ต้องรับเคราะห์ส่วนนายทุนและผู้มีอิทธิผลร่ำรวย

_______บ้านเราการบริหารจัดการน้ำก็ยังเป็นปัญหาใหญ่ที่สุด ฤดูฝนตกน้ำท่วมหนัก เก็บกักน้ำไม่ได้ บ้านเรือน ที่นาเสียหาย หน้าแล้งก็แล้งจัดจนไม่สามารถจะทำนา ทำไร่ได้ ผลกระทบก็ทำให้ชาวบ้านเดือดร้อน ฤดูกาลทำนา ก็แปรเปลี่ยนสุดท้ายก็จะมีผลต่อความมั่นคงด้านอาหาร อนาคตถ้ามีลูกหลาน ชาวนาคงจะไม่อยากให้ลูกหลานต้องลำบาก มาทำนาทำไร่บนสภาวะภูมิอากาศที่ไม่แน่นอน ซึ่งส่งผลทำให้ขาดทุนและเป็นหนี้อย่างต่อเนื่อง ถึวรัฐบาลจะช่วยชาวนาให้ปลอดหนี้นอกระบบ แต่ตราบใดที่อาชีพทำนายังไม่สามารถทำรายได้จากการขายข้าวได้แน่นอนและยังไม่ปราศจากปัญหาการขาดทุนจากภัยพิบัติธรรมชาติ ตราบนั้นชาวนาก็ยังคงเป็นหนี้ต่อไป ผมค่อนข้างอินเรื่องนี้เพราะปู่ ย่า เป็นชาวนาจนๆ สมัยเด็กผมยังมีโอกาสไปวิ่งเก็บเศษข้าว ซึ่งเหลือจากการเกี่ยวมาเก็บไว้ตำหุงกินเลย แต่เดี่ยวนี้ด้วยความที่ต้นทุนการทำนาเพิ่มสูงขึ้นมาก ทั้งค่าปุ๋ย ค่ายา และค่าการเก็บเกี่ยวทำให้ ชาวนาส่วนใหญ่ต้องกู้หนี้เพื่อลงทุน และถ้าโดนภัยแล้งหรือน้ำท่วมกั่นแกล้งจนนาล่ม ความฉิบหายก็จะมาเยือน ดังนั้นลูกหลานชาวนาอย่างผมจึงไม่มีโอกาสได้ทำนาต่อไป ไม่ใช่เพราะมันลำบากแต่เพราะไม่มีที่ดินให้ทำ เพราะเมื่อขาดทุนจนถึงที่สุด ที่นาที่ทำกินของเราก็จะถูกเจ้าหนี้มายึดไป เปลี่ยนสถานะจากเกษตรกรมาเป็นกรรมกรรับจ้างปลูกข้าวรายวันผลคือคนรุ่นหลังก็จะพยายามเข้าหามาทำงานในเมือง หรือถ้าเรียนสูงๆก็จะเปลี่ยนไปทำอาชีพอื่นๆ หรือไม่ลูกหลานชาวนายุค web 2.0 ไม่ต้อง จับเคียวเกี่ยวข้าวหรือตากแดดดำนำ เพียงแค่นั่งหน้าจอคอมพิวเตอร์วิเคราะห์กราฟแล้วเทรดข้าว บนตลาด AFET ก็ได้เงินมากกว่าการทำนาแบบเดิมเป็นไหนๆ แต่แน่นอนว่าถ้าอนาคตลูกหลานชาวนาคิดแบบนี้หมดหายนะก็คงจะเกิดได้ คนไทยอาจจะต้องนำเข้าข้าวจากต่างประเทศ ทั้งที่เคยเป็นประเทศผู้ส่งออก ดังนั้นผมคิดว่าทุกคนคงต้องร่วมมือกัน รักษาสิ่งแวดล้อม ไม่ทำลายสิ่งแวดล้อมเพื่อไม่ให้ผลจากการทำลายสิ่งแวดล้อมกลับมาทำร้ายเรา ผมเชื่อในการทำหน้าที่ของตัวเองให้ดีที่สุด เชื่อว่าต้องมีนักวิชาการเก่งๆหาวิทยาการและเทคโนโลยีมาแก้ปัญหา แต่ในฐานนะที่เราเป็นคนธรรมดาแม้แต่การแค่ใช้ถุงผ้าแทนถุงพลาสติก ก็น่าจะช่วยโลกช่วยลดการทำลายสิ่งแวดล้อมไปได้บ้างไม่มาก็น้อย

_______ตอนนี้เป็นตอนที่สามของเรื่อง ซึ่งจะเกี่ยวเนื่องในส่วนของเครื่องมือสำหรับการประเมินความเสียหายหลังเกิดซึ่งต้องใช้การเก็บข้อมูลในสนาม

4. Volunteer GIS

______Volunteer GIS เป็นแนวคิดของการร่วมด้วยช่วยกัน สร้างข้อมูล GIS หลังการเกิดความเสียหายจากภัยพิบัติ เพื่อทำการเปรียบเทียบและประเมินความเสียหาย รวมถึงการใช้ข้อมูลเป็นฐานในการปรับปรุงหรือบำรุงรักษา สิ่งปลูกสร้างและสาธารณูปโภค ซึ่งเฟรมเวริ์คที่นิยมและเป็นพระเอกในงานด้านนี้ก็คือ OSM (Open Street Map) ที่นัก Volunteer GIS เข้าร่วมกันทำการสร้างแผนที่ฐานต่างๆแบบ online จากภาพถ่ายดาวเทียมล่าสุดหลังเกิดเหตุ (เมืองนอกจะมีการระดมความช่วยเหลือจาก forumต่างๆ และแบ่งงานกันทำ เพื่อได้ข้อมูลฐานชุดเดียวสำหรับใช้ในการช่วยเหลือ ไม่ใช้แย่งกันทำ) รวมถึงการ update จากพื้นที่จริงด้วย GPS สำหรับอาสาสมัครในสนาม ผมของยกตัวอย่างโปรเจคร่วมของ องค์การสหประชาชาติ และหน่วยงานอื่นๆที่ช่วยเหลือ Haiti โปรเจคนี้ชื่อ iMapHaiti เป็นการระดมอาสาสมัครมาสร้างแผนที่ฐานล่าสุดใหม่ เพื่อใช้ในการบูรณะและวางแผนปรับปรุงเมือง และเป็นส่วนหนึ่งของ http://crisiscommons.org/

vdo แสดงการสร้างแผนที่ ค่ายอพยพและหลบภัยของผู้เดือดร้อนชาว haiti

______  อีกโครงการเป็นการใช้ OSM ในการทำแผนที่ผลกระทบจากการเกิดไฟป่าที่รัสเซีย โดยใช้ข้อมูลพื้นที่การเกิดไฟป่าจาก Satellite Observation Sensor ด้วยดาวเทียม MODIS MOD14 เพื่อสร้างแผนที่สำหรับการประเมินความเสียหายและการช่วยเหลือ

ตัวอย่าง active fire area จาก MODIS

การสร้างแผนที่การเกิดไฟป่า ด้วย OSM Tools

ตัวอย่างระบบแจกจ่ายและเผยแพร่ข้อมูลผลลัพธ์เพื่อใช้ในการรับมือกับไฟป่า

http://fires.kosmosnimki.ru/

5. Opensource Data Collection

______กลุ่มของซอฟต์แวร์เก็บข้อมูลภาคสนาม แทนการจดด้วยกระดาษ เป็นการใช้ Mobile app ทำการเก็บข้อมูลตำแหน่งจาก GPS พกพาแล้วบันทึกข้อมูลบรรยายลงสู่ตารางผ่านซอฟต์แวร์ที่ทำงานบน Mobile Device แน่นอนว่าถ้าจะมองหาระบบปฏบัติการแบบเปิดและทำงานดีๆชั่วโมงนี้ที่นิยมก็คือ Android ครับ ผมมีตัวอย่าง Opensource  Data Collection ที่ทำงานบน Android และนำมาใช้งานด้านนี้มาให้ดูเป็นกรณีศึกษาครับ

ตัวอย่างเครื่อง Mobile Device สำหรับเก็บข้อมูลภาคสนามรองรับ Android OS

5.1 Open Data Kit (ODK)

_______ซอฟต์แวร์ประเภท Opensource ที่พัฒนาขึ้นเพื่อจัดเก็บข้อมูลภาคสนามบนอุปกรณ์มือถือ รวมไปถึงการมีฟีเจอร์ aggregate และ visualize สามารถสร้าง form ในการเก็บข้อมูล เชื่อมต่อ GPS และเชื่อมต่อกับ Server แบบ online ผ่าน GSM/GPRS รวมถึงการรองรับเก็บข้อมูลผ่าน 2D Barcode สามารถดาวน์โหลดซอฟต์แวร์มาใช้และนำไปพัฒนาต่อได้ที่ http://code.google.com/p/opendatakit/

5.2 GVsig Mini (android Version)

_______ซอฟต์แวร์ ที่รองรับการทำงานแบบ Mobile GIS สามารถเก็บข้อมูล, นำทาง,Share GPS location บน SMS,Twitter,Facebook ผ่านซอฟต์แวร์ตัวนี้ โดย gvsig รองรับข้อมูลแผนที่ฐานจาก Map service ต่างๆเช่น OSM, Google Map, WMS สามารถเขียน code โปรแกรมเพิ่มเติมเพื่อสร้าง form หรือส่วนเก็บข้อมูล ดาวน์โหลดได้ที่ https://confluence.prodevelop.es/display/GVMN/Android+Download

_______หรือถ้าต้องการทำแผนที่ เช่นการ digitize ข้อมูลผ่าน GIS app  บนมือถือ หรือ Pocket PC ท่านสามารถใช้งานบน Windows Mobile ผ่านซอฟต์แวร์ gvsig Map plot ซึ่งรองรับการทำงานบน Windows Mobile สามารถดาวน์โหลดได้ที่ http://www.gvsig.org/web/projects/gvsig-mobile/official/piloto-gvsig-mobile-0.2/downloads

อ้างอิง

http://www.rhizalabs.com/products/accessories/

http://imaphaiti.com/iMapHaiti.com/iMapHaiti.html

http://gis-lab.info/blog/2010-08/firemon/

Disaster management with GeoWeb 2.0 part II

______ต่อตอนที่สองสืบเนื่องจากส่วนแรกที่พูดถึงการประยุกต์ใช้เทคโนโลยี GeoWeb กับงานจัดการภัยพิบัติ(Disaster management) สองหัวข้อแรกผมเขียนไปถึงเรื่องของการป้องกัน, การเตรียมการรับมือ ในส่วนที่สองจะเขียนถึงเรื่องการจัดการขณะเกิดเหตุและการประสานงานขณะการเกิดเหตุภัยพิบัติ

3. GeoWeb Collaborative Framework

______GeoWeb Collaborative Framework เป็นเรื่องของซอฟต์แวร์หรือ Framework model ที่ใช้ในการประสานงานของระบบ และผู้ปฏิบัติงาน เพื่อใช้ในเรื่องการให้ความช่วยเหลือ ตลอดจนการประเมินความเสียหาย โดยหลายโปรเจคพัฒนาขึ้นจากการเกิดภัยพิบัติจริงและมีการพัฒนาอย่างต่อเนื่อง รวมถึงการได้ทดลองใชงานจริงในเหตุภัยพิบัติสำคัญของโลกเช่น พายุนากิสที่พม่า, แผ่นดินไหวที่เฮติ,เฮริเคนแคนทารินาที่อเมริกา รวมไปถึงเหตุการณ์อื่นๆที่เกิดรอบโลก

- Ushahidi :crowdsource crisis information

______Ushahidi เป็นโครงการที่พัฒนากรอบความคิดที่ใช้ในการเก็บข้อมูลจากพื้นที่ แสดงผลข้อมูล รายงานสถานการณ์ รวมถึงการแจ้งเตือน เพื่อใช้ในการวางแผนและประสานงานเพื่อรับมือกับสถานการณ์ภัยพิบัติ โดยใน framework ก็จะประกอบด้วยซอฟต์แวร์ย่อยต่างๆทั้งรูปแบบ web application และ mobile application โดยเป้าหมายหลักเพื่อการบรรเทาและจัดการกับเหตุการณ์ที่เกิดขึ้น รวมไปถึงการวิเคราะห์ข้อมูลรายงานความเสียหายและการประสานงาน ผู้ใช้สามารถ setup ระบบขึ้นมาได้ทันทีโดยใช้ซอฟต์แวร์ของ Ushahidi ซึ่งมีโมดูลของระบบ interactive Map แบบ web application เพื่อแสดงผลและระบุตำแหน่งความรุนแรงจากการได้รับผลกระทบในรูปแบบแผนที่ ท่านสามารถดาวน์โหลดซอฟต์แวร์ได้ที่ http://github.com/ushahidi/Ushahidi_Web/downloads หรืออ่าน review ได้ http://emap.wordpress.com/2010/07/28/good-map-on-line/

ตัวอย่างระบบที่ใช้ใน hati เพื่อจัดการกับภัยพิบัติแผ่นดินไหว( http://haiti.ushahidi.com/ )

ระบบจัดการภัยพิบัติจากการรั่วไหลของน้ำมันที่อ่าวเม็กซิโก (http://oilspill.labucketbrigade.org/)

- Sahana

______Sahana เป็น Open Source Disaster Management system แบบเต็มตัวพัฒนามาจาก หลังการเกิดเหตุการณ์ซึนามิมีการนำไปใช้ในการจัดการภัยพิบัติในประเทศต่างๆ เช่น Tsunami – Sri Lanka 2005 ,Yogjarkata Earthquake – Indonesia 2006 เป็นต้น ความสามารถในการจัดการข้อมูล รายงานสภาพความเสียหาย การแบ่งกลุ่มหน้าที่การทำการ ติดต่อประสานงาน รวมถึงความสามารถในการแสดงผลข้อมูลบนรูปแบบแผนที่ โดยปัจจุบันมีหลายประเทศที่นำระบบนี้ไปใช้งาน สามารถเข้าไปดาวน์โหลดซอฟต์แวร์ได้ที่ http://www.sahanafoundation.org/

- OpenCare

______OpenCARE เป็นโครงข่ายที่สร้างขึ้นเพื่อรองรับข้อมูลการแจ้งเตือนภัยพิบัติต่างๆ โดยสามารถเชื่อมโยงข้อมูลการแจ้งเตือนภัยและสามารถเชื่อมโยงกันได้ในทุกๆ ระดับ ตั้งแต่หน่วยงานราชการระดับประเทศไปจนถึงระดับประชาชน ความสามารถในการแจ้งเตือนเหตุ การประสานงานระหว่างหน่วยงาน ไม่ยึดติดกับรูปแบบหรือ platform ของระบบ โดยใช้โปรโตคอลมาตรฐาน Emergency Data Exchange Language (EDXL) รองรับการนำเข้าและส่งออกข้อมูลแบบข้ามรูปแบบการจัดเก็บบนฐานข้อมูลชนิดต่างๆ และมี SMS plugin สำหรับการแปลง EDXL สู้การแจ้งเตือนแบบข้อความสั้น SMS  สามารถเข้าร่วม http://www.opencare.org

-Mapchat

_______ Mapchat เป็นกรอบความคิดของการทำงานร่วมกันแบบต่างที่ ต่างหน่วยงานผ่านเครือข่ายอินเตอร์เน็ต ในรูปแบบการปนะชุมทางไกล โดยมีการใช้ interactive map เป็นเครื่องมือในการวางแผน ในรูปแบบ real-time synchronize เพื่อรองรับการทำงานร่วมกัน โดยพัฒนาช่องทางการสนทนา chat ผ่านอินเตอร์เน็ต ร่วมกับการแสดงข้อมูลแผนที่และข้อมูลเชิงตำแหน่งในกลุ่มสนทนา ปัจจุบันมีการนำไปใช้ในการวางแผนร่วมกันในการรับมือเหตุการณ์หรือการวางแผนแก้ปัญหาแบบการประชุมทางไกล โดยซอฟต์แวร์พัฒนาต่อยอดจากโปรแกรม opensource gis เช่น UMN Mapserver, ka-Map และเก็บข้อมูลบน Postgresql สามารถเข้าไปดาวน์โหลดและนำมาใช้งานได้ที่ http://mapchat.ca/

ตัวอย่างหน้าต่างต้อนรับ

การสนทนาผ่าน Chat Tools รวมถึงการ sync หน้าจอแผนที่และ feature บนแผนที่ เพื่อใช้ในการนำเสนอแผนงานแก่ผู้ร่วมประชุม

Disaster management with GeoWeb 2.0 part I

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

______ถ้าพูดไปถึงเรื่องของการจัดการภัยพิบัติ(Disaster Management) เลยอดนึกถึงการนำเอาเทคโนโลยี Web 2.0 มาใช้ไม่ได้ โดยนำข้อเด่นเรื่องการแบ่งบันและเข้าถึงข้อมูลผ่านเครือข่ายอินเตอร์เน็ต รวมไปถึงการผสานเทคโนโลยีภูมิสารสนเทศเพื่อใช้ในการจัดการภัยพิบัติ วันนี้ผมจะมา review ซอฟต์แวร์ กรอบความคิด มาตรฐานและสถาปัตยกรรมของระบบ ที่เกี่ยวข้องกับ GeoWeb ที่สามารถนำมาประยุกต์ใช้ในการจัดการภัยพิบัติ ครอบคลุมกระบวนการหลักของการจัดการภัยพิบัติ ได้แก่ การป้องกัน, การเตรียมการรับมือ, การอพยพและช่วยเหลือ,การประเมินความเสียหาย และการบูรณะฟื้นฟู

1. Sensor Web Enablement

______Sensor Web Enablement เป็นกรอบความคิดการเข้าถึงและการบูรณาการระบบตรวจวัดเข้าด้วยกันผ่าน web technology แก้ปัญหาเรื่องของการทำงานร่วมกันของระบบ ตรวจวัด (Sensor) เนื่องจากเรามีระบบตรวจวัดที่มากมาย แต่ก็มีความแตกต่างกันไปตามโมเดลของเครื่องมือ รวมไปถึงหน่วยงานที่ดูแล การมีกรอบความคิดนี้เพื่อสร้างมาตรฐานที่ครอบคลุมปฏิบัติการของระบบตัววัดให้สามารถทำงานร่วมกัน และบูรณาการเข้าสู่ระบบสารสนเทศเพื่อให้เกิดการต่อยอดได้ ซึ่งสามารถนำมาประยุกต์ใช้ในงานด้านภัยพิบัติระบบป้องกันและเฝ้าระวังได้ การบูรณาการระบบตรวจวัดรวมตั้งแต่ประเภท in-situ sensor และ satellite observation sensor เช่น MSAT,MODIS,TRMM ที่ทำการตรวจวัดข้อมูลวิทยาศาสตร์ของโลกแบบมาตรส่วนเล็กแต่ครอบคลุมพื้นที่กว้างและยากต่อการเข้าถึง เช่น ข้อมูลความร้อนผิวดิน,ข้อมูลความเร็วและทิศทางลม ,ข้อมูลความชื้นในดิน,ข้อมูลอุณหภูมิ ,ข้อมูลปริมาณน้ำฝน เป็นต้น

ตัวอย่าง insitu sensor

ตัวอย่าง TRMM แสดงปริมาณน้ำฝนเฉลี่ยรายวัน

_______ Sensor Web Enablement ประกอบด้วยมาตรฐานต่างๆภายใต้ความร่วมมือของ OGC, OASIS, IEEE, ISO เช่น Sensor Observation Service, SensorML,Sensor Planning Service, Sensor Alert Service เป็นต้น ปัจจุบันมีซอฟต์แวร์ Opensource GIS ที่รองรับและสนับสนุนการทำงานบนกรอบความคิดนี้เช่น 52north,UMN Mapserver โดยการบูรณาการข้อมูลตรวจวัดจากหลายแหล่งสามารถนำมาสร้างระบบเตือนภัย(Warning System) และระบบติดตามเฝ้าระวังการเกิดภัยพิบัติได้

2. Spatial SMS Report

_____Spatial SMS Report เป็นระบบรายงานข้อมูลเชิงตำแหน่ง รวมกับข้อมูลรายละเอียดผ่านทาง ข้อความสั้น SMS บนเครือข่ายโทรศัพท์มือถือ GSM เป็นวิถีการที่สะดวกในการเข้าถึงข้อมูลจากพื้นที่ ประกอบกับปัจจุบัน โทรศัพท์มือถือมีการผนวกรวม GPS ซึ่งเป็นเครื่องมือในการระบุตำแหน่ง ดังนั้นหลายระบบที่ทำเรื่องการสำรวจหรือเก็บข้อมูลสนามด้วยมนุษย์จึงนำความสามารถนี้มาใช้ โดยการพัฒนาโปรแกรมประยุกต์ที่สามารถทำงานบนโทรศัพท์มือถือขึ้นมาเพื่อเก็บข้อมูล และดำเนินการส่งข้อมูลผ่านทางข้อความสั้น SMS ไปยังแม่ข่าย

- GeoChat

_____ระบบการติดต่อสื่อสารและรายงานข้อมูลแบบกลุ่มผ่าน SMS ,email,twitter โดยผู้ใช้สามารถส่งข้อมูลตำแหน่งและข้อมูลรายงานสถานะการณ์ผ่านรูปแบบคำสั่งบนข้อความสั้น (SMS) เข้ามายังส่วนกลางและเผยแพร่ข้อมูลไปยังเพื่อนหรือสมาชิกในกลุ่มได้ ข้อมูลจะสามารถแสดงผลในรูปแบบแผนที่ รองรับรูปแบบการเผยแพร่ข้อมูลเชิงตำแหน่งแบบ GeoRss และ KML รวมถึงการเผยแพร่ในรูปแบบรายงานและส่งไปยัง social network ได้การระบุตำแหน่งทำได้ผ่าน GPS,Geolocation API หรือผ่านการระบุ Geocode name เมืองไทยมีการใช้ในการรายงานข้อมูลบนระบบเตือนภัยควบคุมโรค ของกระทรวงสาธารณสุข โดย openchat เป็น opensource project ท่านสามารถดาวน์โหลดโปรแกรมเพื่อนำมาพัฒนาระบบเตือนภัยได้จาก http://code.google.com/p/geochat/

-GeoSMS

_____GeoSMS เป็นโปรโตคอลมาตรฐานของ OGC สำหรับการรับ ส่งข้อมูลตำแหน่งในรูปแบบการเข้ารหัส บนบริการข้อความสั้น(Short message Service ) SMS ผ่านมือถือ เพื่อใช้รายงานข้อมูลตำแหน่ง ณ เวลาต่างๆ ร่วมกับข้อมูลเชิงบรรยาย โดยโปรโตคอลมาตรฐานนี้ช่วยเรื่องการรับส่งข้อมูลตำแหน่งบน SMS ซึ่งไม่ยึดติดกับ platform ของมือถือทำให้ผู้ใช้ทั่วไปสามารถมีส่วนร่วมในการส่งข้อมูลได้ผ่านมือถือทุกยี่ห้อ ตัวอย่างสามารถนำมาประยุกต์ใช้ในงานเฝ้าระวังและติดตาม โดยผู้ใช้ส่งข้อมูลและตำแหน่งผ่าน SMS เช่นการให้ผู้ใช้อ่านข้อมูลระดับน้ำจากไม้วัดระดับน้ำ หรืออ่านค่าปริมาณน้ำฝนจากกระบอกตวง แล้วรายงานผ่านผ่าน SMS มายัง SMS Server Gateway เพื่อทำการประมวลผลในรูปแบบรายงาน กราฟและค่าสถิติ รวมถึงการวิเคราะห์เชิงตำแหน่งต่อไป ศึกษารายละเอียดได้ที่ http://www.opengeospatial.org/pressroom/pressreleases/1251


ตัวอย่าง โปรโตคอล GeoSMS

GeoSMS/Version Num;Latitude;Longitude;Format Type;Data Section

GeoSMS/2;2504.8015,N;12133.9766,E;B;

หรือ

GeoSMS/2;2230.978,N;12123.566,E;E;TOWING_SERVICE

ตัวอย่างข้อมูลตำแหน่งและข้อมูลบรรยายสามารถนำข้อมูลมาสร้างเป็นระบบเฝ้าระวังได้

_____ยังมีต่อนะครับ ตอนต่อไปจะมาพูดถึงเทคโนโลยีที่สามารถนำมาใช้ในการจัดการและรับมือกับภัยพิบัติต่อไป เช่น ระบบเก็บข้อมูลสนาม ,Opendatakit, Open WebGIS Framework และ Volunteer Map (OSM)


Google Map V3 on Openlayers

_____ปีนี้มีซอฟต์แวร์ใหม่ๆหลายตัวที่มีการ update รุ่นใหม่ๆออกมาให้ผู้ใช้ได้ใช้งาน ข้อดีคือการปรับปรุงคุณภาพและแก้ไข ข้อผิดพลาดต่างๆให้ดียิ่งขึ้น ซอฟต์แวร์หลายๆตัวที่ผมใช้ทำงานและเป็น Opensource ก็มีการปรับปรุงด้วยเช่นกันแสดงถึงการพัฒนาอย่างต่อเนื่องและการมีกลุ่มผู้พัฒนาที่เข้มแข็ง หลายคนที่เลือกใช้ซอฟต์แวร์ Opensource ต้องตระหนักถึงเรื่องความต่อเนื่องในการพัฒนาของซอฟต์แวร์เป็นอันดับแรก เพราะหมายถึงการจะมีนักพัฒนาช่วยบำรุงรักษาซอฟต์แวร์ GIS ของเรา แต่แน่นอนว่านักพัฒนาหรือผู้ใช้ต้อง alert เพื่อปรับตัวเรียนรู้สิ่งใหม่ๆตลอดเวลา

_____ดังที่ผมเคยได้เขียนถึง Google Map V3 ที่ออกมาล่าสุดที่เน้นความรวดเร็วของการทำงานของ Javascript API และลดเรื่องขนาดไฟล์และตัดเรื่องรหัส API Key ออกไป รวมถึงการพัฒนาให้ API ทำงานได้ทั้ง desktop และ mobile platform ทำให้ตอนนี้นักพัฒนาหลายที่ใช้ GoogleMap API ต่างก็มี feed back ที่ดีดังจะเห็นได้ตาม forum ต่างๆที่กว่าถึง แน่นอนว่าปัจจุบันการพัฒนาระบบ Web GIS หนีไม่พ้นที่ต้องเชื่อมต่อระบบกับ Google Map เพื่อดึงข้อมูลจาก Google Data Service ทั้ง POI ,ถนน,ภาพถ่ายดาวเทียม เมื่อ Google Map API ทำการ Upgrade ทำให้ซอฟต์แวร์ Web GIS จึงต้อง Update ตามไปด้วย วันนี้ผมมีขั้นตอนการใช้ Openlayers กับ Google Map V3 มาแนะนำ โดยการเขียนโปรแกรมบน OL API ในส่วนการเชื่อมต่อ กับ Google Map Class มีการเปลี่ยนแปลงไปดังนี้

1. การ include ตัว Google Map API tag บน HTML จะใช้รูปแบบดังนี้

<script src=”http://maps.google.com/maps/api/js?sensor=false”></script

2. ส่วนการเขียนโปรแกรมสำหรับ layer ของ Google Map API ก็จะเปลี่ยนจากเดิมไปเป็นดัง code ข้างล่างนี้

   map = new OpenLayers.Map('map');
   var gphy = new OpenLayers.Layer.Google(
        "Google Physical",
        {type: google.maps.MapTypeId.TERRAIN}
    );
    var gmap = new OpenLayers.Layer.Google(
        "Google Streets", // the default
        {numZoomLevels: 20}
    );
    var ghyb = new OpenLayers.Layer.Google(
        "Google Hybrid",
        {type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20}
    );
    var gsat = new OpenLayers.Layer.Google(
        "Google Satellite",
        {type: google.maps.MapTypeId.SATELLITE, numZoomLevels: 22}
    );

    map.addLayers([gphy, gmap, ghyb, gsat]);

3. อีกประเด็นที่สำคัญยิ่งและพบปัญหาบ่อยคือระบบพิกัด Spatial Reference system(SRS) เนื่องจาก Google Map V3 ใช้ EPSG: 900913 คือ Mercator projection ดังนั้นการกำหนดระบบพิกัดต้องใส่ให้ถูก ถ้าไม่มันใจท่านสามารถใช้ Projection Transform Class สำหรับแปลงจากระบบปกติของเมืองไทย EPSG:4326 ไปเป็น EPSG:900913 ได้ดังนี้ครับ

var mypoint = new OpenLayers.LonLat(100.23, 18.9).transform(
        new OpenLayers.Projection("EPSG:4326"),
        map.getProjectionObject()
    )

ภาพแสดง Openlayer กับ Google Map API V 3

การทดสอบประสิทธิภาพการรับส่งข้อมูลระหว่าง Server

______สรปคือไม่ยาก สั้นและกระฉับกว่าการใช้ Openlayer.Layer เดิมที่ต้องระบบ type และ พารามิเตอร์ ยังไงก็ไปทดลองดูกันได้ performance ค่อนข้างจะดีกว่าของ Google Map V2 และที่สำคัญอนาคต Openlayers จะออก V3 คิดว่าน่าจะมีการปรับปรุง API ใหม่คงจะมีอะไรอีกหลายอย่างที่รองรับและเข้ากับ Google Map V3 อีกแน่นอนครับ

Let’s Vote

______ช่วงนี้ฝนตกบ่อย จะไปเดินทางไปไหนก็ลำบากแท้จริงๆ แต่ข้อดีของฝนที่ตกหนักทำให้ความวิตกังวลเรื่องภัยแล้งอันจะเกิดจากปริมาณน้ำในเขื่อนต่างๆที่น้อย ทุเลาลงได้ ดังนั้นเวลาที่คนกรุงเทพบ่นเรื่องฝน คนบ้านนอกในชนบทอาจจะยิ้มแย้มและกำลังชื่นชมความสวยงามของฝนที่ตกกระหน่ำอยู่ก็ได้ วันนี้มีกิจกรรมดีๆมาชวนให้เข้าไปร่วมกันครับ เป็นกิจกรรม thailandblogawards 2010 เป็นการประกวด blog ของบ้านเรา ความน่าสนใจคือเป็นการชุมนุมของ blogger ที่ร่วมในกิจกรรมนี้เพื่อแลกเปลี่ยนและสร้างชุมชนบนโลกออนไลน์ งานนี้มีการคัดเลือก blog และเปิดให้นักท่องอินเตอร์เน็ตเข้ามา Vote ให้กับ blog ต่างๆ เพื่อหา blog ยอดนิยมในประเภทต่างๆที่สนใจแวะเข้าไปชมกันได้ที่ http://thailandblogawards.com นอกจากไป vote และท่านจะได้รู้จักกับ blog ดีๆด่านต่างๆที่นักเขียนตั้งใจและสร้างผลงานเผยแพร่ไว้ ซึ่งหลายเรื่องมีประโยชน์ต่อชีวิตของเรา เช่น การปลูกต้นไม้,การเลี้ยงสัตว์,การดูแลเด็ก เป็นต้น และที่อยากจะบอกคือ Emap เป็นอีก blog ที่ได้ผ่านการเลือกให้ลงประกวด โดยผมขอชวนทุกท่านที่เคยติดตาม emap แวะไป vote ได้ที่ http://thailandblogawards.com/viewblog.php?u=http://emap.wordpress.com กดที่ปุ่ม Vote+ เพื่อลงคะแนนครับ

______อีกเรื่องหนึ่งที่ขอนำมาประชาสัมพันธ์คืองานสัมนาประจำปี 15th Thai GIS User Conference (TUC) จัดขึ้นวันที่ 26 สค. 2553 ณ ที่เดิม ศูนย์ประชุมสถาบันวิจัยจุฬาภรณ์ ภายใต้หัวข้อ GIS: Technology for everything everywhere everyone งานนี้ฟรีไม่มีค่าใช้จ่าย แอร์เย็น ขนมอร่อย ความรู้มากมาย และได้เป็นงานที่พบปะเพื่อนฝูงที่ทำงานในวงการเดียวกัน ปีนี้เป็นไปตาม trend ของ GIS มีหัวข้อหลายหัวข้อที่น่าสนใจเช่น Cloud Computing with GIS, To New GIS Generation, Through GIS Online เป็นต้น รวมไปถึงเรื่องอื่นๆที่เกี่ยวข้องกับ Geoinfomatic ท่านที่สนใจลงทะเบียนเลือกหัวข้อบรรยาย session ที่สนใจ หรือร่วม Workshop ของ Arcgis 10 โดยไปลงทะเบียนได้ที่ http://www.esrith.com/tuc2010/index.html