อาทิตย์หน้ามีอบรม Spatial Database ที่จุฬา ช่วงนี้เลยฟิตนั่งหาอ่านเรื่องราวต่างๆที่เกี่ยวกับ spatial database เป็นหลัก แล้วผมก็ไปป๊ะกับ  SpatiaLite and VirtualShape ซึ่งเป็นโปรเจคที่ทำเกี่ยวกับ spatial data management บน  sqlite database หลายๆท่านคงรู้จัก sqlite  เล็กพริกขี้หนูตัวนี้ดี ผมเองก็เคยใช้งาน sqlite อยู่บ้างเพราะว่าตัวเล็กใช้ง่าย ย้ายคล่อง และก็สามารถใช้งานร่วมกับ PHP ผ่าน web ได้ดี อ่านรายละเอียดที่ http://www.sqlite.org/whentouse.html )

        SpatiaLite and VirtualShape พัฒนาโดยคุณ Alessandro Furieri  เป็น Opensource software ฟีเจอร์การทำงานก็ไม่เบาเลยทีเดียวนะครับ เช่น รองรับ  WKT and WKB , มี SQL spatial functions เช่น AsText(), GeomFromText(), Area(), PointN() (ไม่ครอบคลุมทั้งหมด SF Spec), Import/export Shapefile, รองรับ coordinate reprojection ผ่านทาง PROJ.4 เทคนิคการทำงานของ ก็คือการใช้ VirtualShape สำหรับช่วย SQLite ติดต่อกับ shapefile เช่นเดียวดับ virtual table ซึ่งก็คล้ายกับเทคนิคของ sqlite OGR driver.

        การใช้งานก็ง่ายสะดวกเพราะเป็น dll ที่ทำงานร่วมกับ sqlite การติดตั้งไม่ซับซ้อน ประสิทธิภาพก็ ok ดีพอใช้แต่ก็ไม่เท่ากับ database ขนาดใหญ่ ผมขอบตรงที่สะดวก ท่านที่สนใจเข้าไปดาวน์โหลดมาใช้งานได้ที่ http://www.gaia-gis.it/spatialite/ 

       ตัวอย่างด้านล่างผมทดลองใช้งาน SpatiaLite and VirtualShape กับข้อมูลจังหวัด

      1. เริ่มต้นจากการโหลด .dll ทั้งหมดและ SQLite

      2. ทำการเข้าโปรแกรม โดยพิมพ์คำสั่ง SQLiteGeo.exe test.db

      3. โหลด extension SpatiaLite and VirtualShape ใช้คำสั่ง

           .load ‘SpatiaLite.dll’
           .load ‘VirtualShape.dll’

          4. สร้าง visual table โดยระบุชื่อ table และชื่อของ shapefile ที่จะ load

                CREATE virtual table province using VirtualShape(province);
          5. ทดลองเขียนคำสั่ง SQL : Select * from province;