นั่งเขียนโปรแกรม Coordinate transform อยู่ครับ เลยนึกขึ้นได้ถึงโปรเจคเก่าเก็บที่เคยทำเมื่อ สองปีที่แล้ว เลยลุกขึ้นมาเขียนเรื่อง web coordinate transform หลายคนอาจจะคุ้นเคยกับเรื่องการแปลง datum และการแปลงระบบพิกัดด้วยโปรแกรม GIS ซึ่งก็ไม่ได้มีขั้นตอนอะไรที่ยุ่งยากนัก แต่จริงๆแล้วเบื้องหลังการทำงานนั้นซับซ้อนนัก มีตั้งแต่ขั้นเทพที่ใช้ leastsqure ในการวน loop จนถึงแบบ Closed form ที่ใช้กัน

            การทำ Web GIS Application หนี้ไม่พ้นที่จะต้องศึกษาเรื่องนี้ เช่น กรณีที่นำข้อมูลค่าพิกัดจาก GPS (Geodetic WGS84 ) มาใช้กับแผนที่ภาพถ่ายดาวเทียม( UTM WGS84) หรือจะเป็นกรณีที่ web application สามารถทำ on the fly projection ก็ต้องใช้เทคนิคพวกนี้เช่นกัน วันนี้ผมมีไลบารีชนิด opensource มาแนะนำครับ Proj4 เป็นไลบารีชื่อดังที่อยู่เบื้องหลังโปรแกรมดังๆหลายตัวปัจจุบันมีเวอร์ชั่น javascript (OOP) แล้ว การใช้งานก็ง่ายแถมลดเวลาในการมานั่งเขียน code ในส่วนนี้อีกด้วย พัฒนาและดูแลโดย MetaCRS นอกจากนี้ยังมีส่วนขยายที่รองรับมาตรฐาน WCTS (OGC Web Coordinate transform System) เข้าไปดาวน์โหลดมาใช้งานได้ที่ http://trac.osgeo.org/proj4js/

<script src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js"></script>
...

var x = 100.0;
var y = 12.0;
var c = new Proj4js.Point(x,y);
Proj4js.transform(new Proj4js.Proj("EPSG:4326"), new Proj4js.Proj("EPSG:24047"), c);
alert(c.x + " " + c.y);