ปัจจุบันหลายหน่วยงานหันมาใช้ Spatial Database ในระบบ GIS มากขึ้น ด้วยความที่ว่าการใช้ Database ในงาน MIS มีมานานแล้ว แต่อดีตก็ค่อนข้างแยกกันชัดเจน กล่าวคือข้อมูล GIS ก็เป็นไฟล์ ข้อมูลตารางก็อยู๋ใน Database พอจะใช้ก็ export มาเป็น dbf หรือ CSV แล้วนำเข้าในระบบ GIS ด้วยซอฟท์แวร์ GIS ทั่วไป หรือว่าถ้าหน่วยงานไหนมีซอฟต์แวร์ที่ advance เช่น Arcgis ที่มี personal database ก็อาจจะเชื่อมเข้ากับ database ทันที แต่ก็ไม่ง่ายนักเพราะนัก GIS ก็มักจะไ ม่ถนัดกับ database ขนาดใหญ่ยิ่งพอเป็น MSSQL Server หรือ Oracle เข้าแล้วก็มักจะไม่ค่อยอยากใช้กัน

        จริงๆแล้วผมว่าการเรียนการสอน GIS น่าจะมีการสอน Database จริงๆสักวิชาเอาแบบที่รู้และนำไปใช้งานได้ ดีกว่าการเรียนรู้แค่เพียง 1-2 ชั่วโมงซึ่งอาจจะไม่มีโอกาสได้จับหรือลองใช้งาน หลายหัวข้อเช่น DML ,DDL หรือการออกแบบฐานข้อมูลก็จำเป็นไม่น้อย อาจจะไม่ต้องถึงขนาดทำได้ แต่อย่างน้อยก็น่าจะรู้และสามารถแนะนำ Database Developer ได้ ยิ่งในปัจจุบัน Database ก็ move ไปทาง Spatial database กันมากขึ้นเรียกว่าทุกยี่ห้อยอมรับและมีหมด แต่บางครั้งการใช้งาน spatial database ก็ยังไม่มากเท่าที่ควร อาจจะเป็นเพราะว่ามันไม่ง่ายเหมือนการกดปุ่มใน GUI ประกอบกับการใช้งานต้องเข้าใจแนวคิดและทฤษฏีความสัมพันธ์เชิงพื้นที่ที่มาก  นัก IT ก็อาจจะไม่ได้เรียนรู้ เช่น ถ้าต้องการจะหาโรงแรมห้าดาวที่ิติดกับโ รงพยาบาลไม่เกิน 300 เมตร และเดินทางไปยังท่ารถได้ในเวลา 15 นาที การคิดประโยค SQL เพื่อทำการสืบค้นแ ละวิเ คราะห์ข้อมูลใ น ฐานข้อมูลก็จะอาศัยความสัมพันธ์เชิงพื้นที่ เพื่อหาคำตอบ และที่สำคัญ spatial database ก็มีบทบาทในการพัฒนาระบบที่เป็น Geospatial webservice ในหัวข้อนี้ผมจะเขียนถึงฟีเจอร์ KML Generator ของ Postgis ซึ่งฟังก์ชั่นนี้เกิดขึ้นในยุค After google แน่นอนว่าเกิดมาเพื่อรองรับการแสดงผลข้อมูลเชิงพื้นที่จาก database ไปยัง Google Map หรือ Google Earth application นั้นเอง

          การทำงานก็ไม่ยุ่งยากท่านสามารถใช้คำั่สั่ง ASkml() ซึ่งตัว postgis จะสร้าง geometry content ให้ แต่สำหรับเรื่อง style และรูปแบบการแสดงผลนั้นเราต้องสร้างขึ้นมาเอง ผมเองก็ใช้ประโยชน์จากฟีเจอร์นี้มากในด้านการพัฒนา KML server โดยข้อมูล geometry ที่เป็นแบบซับซ้อนเช่น polygon ก็สามาุรถสร้างจากฟังก์ชั่น askml() แต่สำหรับการแสดงผลแบบ thematic ก็ใช้ PHP ในการสร้าง KML แทน ดัวอย่างการใช้งาน askml() บน postgis

 select askml(the_geom) from province order by province_id asc;

         ผลลัพธ์ที่ได้ก็จะเป็นข้อมูล geometry ใ นรูปแบบ KML ของ record ต่างๆ ซึ่งเพื่อประกอบกับ content ต่างเป็นเอกสาร KML ที่สมบูรณ์แล้วก็จะสามารถแสดงผลบน Google Earth ได้ดังภาพครับ