Mas Trias,
>
> Mas Romi,
> rumitnya karena salahsatunya MySQL belum mengimplementasikan spek OGC
> simple feature secara penuh (masih dengan pendekatan MBR) dan spatial
> operators belum semua didukung misalnya buffer belum didukung, CMIIW.
> . Sedangkan fungsi geometri dan MBR spt. area, distance, tes spasial
> spt MBRWithin, MBRDisjoint sih sudah berhasil dicoba.
Ya betul, MySQL belum (?) OGC compliant, PostGIS sudah sejak lama,
Mungkin Oracle sudah sekarang, selengkapnya bisa dilihat di
http://www.opengeospatial.org/resource/products/
>
> Jujur saja mas, kami belum melirik dan banyak main-main dengan
> PostGIS, saya dengar2 dukungan ke OGC lebih mantap ya? Permasalahnnya
> karena aplikasi ini kami kembangkan dari aplikasi2 terdahulu yang kami
> buat dan sebelum2nya kita pake MySQL sbg. backend GMaps API. Memang
> kami sudah memakai PostGIS tapi masih terbatas untuk layanan WFS saja.
> Mungkin sekarang saatnya melirik PostGreSQL:)
Memang kesulitan pertama biasanya masalah kebiasaan pengembangan.
Developer sudah 'terbiasa' dengan pasang LAMP/WAMP. tapi saya yakin
migrasi MySQL ke PostgreSQL tidak terlalu sulit kalau pembuatan tipe
data di MySQL dan pemrograman querynya mengikuti cara yang 'strict'.
>
> di PostGreSQL temporalnya disimpan tipe 'date' atau? dan bisakah
> operasi spasial distance, within diimplementasikan untuk rentang
> temporal mas?
Ya, saya rasa sudah cukup dengan 'date'. Operasi spasial (distance,
within, atau macam DE-9IM) di PostGIS tentunya hanya untuk tipe data
GEOMETRY.
Saya tidak tahu relationship basis data mas kayak gimana. Bayangan
sederhana saya, ada tabel pulau dengan kolom id (varchar untuk nama),
the_geom (geometry-polygon), dan the_geom_time (date) yang mewakili
perkembangan data pulau dari waktu ke waktu. Jadi mungkin ada pulau
yang id(nama)-nya sama tapi dengan nilai the_geom (posisinya berbeda)
pada waktu the_geom_time yang berbeda pula ('historis')
Dengan pertanyaan: beri saya semua data pulau yang ada di dalam
polygonX dari tanggal T1 dan T2:
select * from pulau where ST_DWithin(polygonX the_geom, 0) &&
the_geom_time > T1 && the_geom_time < T2
sudah dapat datanya.
Tentu saja ini contoh sederhana, 2D+Time saja. Kalau mau cara susah,
buat tipe data sendiri, dengan member geometry dan datetime. Tapi ini
kayaknya lebih cocok untuk versioning data peta.
Salam,
Romi