ผมเคยนำเสนอ หลายๆ application ที่มีการนำเสนอข้อมูลแผนผัง(diagram) เฉพาะเรื่อง online โดยใช้ google map api เช่น load of the rings หรือ แผนผังเกมส์ GTA โดยข้อมูลไดอะแกรมพวกนี้จะอยู่ในรูปแบบภาพบิตแมปที่สามารถนำมา intergrate กับ google map api ได้ผ่านทางช่องของ GTileLayer ซึ่งผมเองก็เคยมีโอกาสทำ application แบบนี้มาหลายชิ้นแต่ส่วนมากจะต้องเขียนโปรแกรมเอง ทั้งในส่วนของการเตรียมภาพ(ซึ่งต้องมีการแบ่งภาพเป็น tiles ขนาดเล็กและมีการสร้าง pyramid) รวมถึงส่วนเชื่อมต่อการทำงานกับ google map

          วันนี้ผมจะมานำเสนอวิธีอย่างง่ายในการสร้าง application แบบ online diagram ด้วย tools สารพัดประโยชน์ที่ชื่อว่า GDALโดยใช้คำสั่งที่ชื่อว่า GDAL2TILES โดย GDAL2TILES เป็น python code ที่มีการพัฒนาขึ้นเพื่อการนำเสนอข้อมูลแผนที่ผ่านอินเตอร์เน็ต ในรูปแบบ tiles cahing ตามข้อกำหนดของ tile map service specification ขออนุญาติไม่ลงรายละเอียดของทฤษฏี(อ่านเพิ่มได้ที่ http://tms.osgeo.org/ , http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification ) แต่กล่าวให้ทราบไว้ว่าเป็นเทคนิคใหม่ในการนำเสนอข้อมูลในระบบแบบ internet gis ที่กำลังเป็นที่นิยม เนื่องจากมีประสิทธิภาพการทำงานสูงและเร็ว แต่ข้อเสียก็คือต้องมีการเตรียมข้อมูลและต้องมีการเขียนโปรแกรมในส่วนของ client ที่ซับซ้อนเพื่อรองรับการทำงาน

         ขั้นตอนการทำงานของ online diagram ด้วย GDAL2TILE มีดังนี้นะครับ (map กับ diagram ต่างกันนะครับ )

         1. download ไลบารี gdal โดยสำหรับมือใหม่ไม่ต้องการ config อะไรมาให้ดาวน์โหลด package ที่ชื่อ fwtools มาใช้งานดีกว่าที่ http://fwtools.maptools.org/ (เลือกได้ทั้งfor window และ linux)

         2. run คำสั้ง gdal2tiles.py –help เพื่อตรวจสอบการทำงานของโปรแกรม

         3. เตรียมข้อมูลภาพ diagram ที่ต้องการ โดยขนาดมีผลต่อจำนวน tile และ pyramid level โดยสามารถออกแบบได้ตามตารางนี้ครับ

          4. จากนั้นก็ run คำสั่ง ดังนี้ครับ

          gdal2tiles -title “chula diagram” -publishurl http://127.0.0.1/tiles/chula/ -v chula.jpg chula

          ผลลัพธ์ที่ได้ก็จะเป็นข้อมูลภาพที่แบ่งในรูปแบบ tiles และมีการจัดโครงสร้างการจัดเก็บตาม tms specification นอกจากนี้ก็จะมี การสร้าง ไฟล์ของ application ของ client ในรูปแบบของ google map ซึ่งสามารถ upload ทั้ง folder ขึ้น web ได้ทันทีเลยครับ (อย่าลืมแก้ไข API Key ของ Google Map ให้ตรงกับ path ก่อนนะครับ) หน้าตาผลลัพธ์ก็ได้ดังรูปข้างล่าง

อ่านรายละเอียดเพิ่มเติมที่

1. http://www.google.com/apis/maps/documentation/reference.html#GTileLayer

2. http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification