Saya memiliki persyaratan untuk menyimpan dan mengelola data geofisika arkeologi yang dikumpulkan sebagai array sampel persegi panjang - gambar raster.
- Setiap raster biasanya akan sampel titik apung 20x20 atau 30x30, biasanya sampel pada interval 1m.
- Survei akan terdiri dari satu atau lebih dari gambar-gambar ini di lokasi tertentu.
- Ada kemungkinan bahwa dua survei berbeda dapat dilakukan di negara yang berbeda, atau wilayah yang menggunakan proyeksi berbeda, tetapi setiap survei akan menggunakan satu dan hanya satu proyeksi.
- Mereka tidak akan pernah dilihat bersama, setiap survei biasanya akan berdiri sendiri.
- Data hanya akan diakses oleh front-end kustom, sehingga tidak akan ada pengguna yang mendapatkan kontrol langsung
psql
atau sejenisnya. - Setiap sampel perlu disimpan saat dikumpulkan, jadi saya tidak dapat memproyeksikan kembali ke CRS umum seperti Web Mercator karena satu sampel dapat berakhir mencakup lebih atau kurang area daripada dalam proyeksi asli, dan analisis perlu dilakukan pada data.
Bagaimana saya sebaiknya menyimpan data dalam database PostGIS Raster? Opsi yang saya buat adalah:
- Abaikan kendala SRID dan simpan semua data dalam satu tabel, tulis kode front-end saya untuk berurusan dengan memanipulasi data secara konsisten.
- Simpan semua data dalam satu tabel, dan tulis ulang batasan SRID sebagai gabungan dari SRID dan ID survei.
- Melalui pewarisan tabel, buat tabel baru untuk setiap SRID baru.
- Melalui pewarisan tabel, buat tabel baru untuk setiap survei.
1 dan 2 memecah beberapa bagian otomatis bagus dari PostGIS, tetapi akan disembunyikan dalam kode front-end. Tetapi pertanyaan mungkin akan memakan waktu sedikit lebih lama.
3 dan 4 bisa berakhir dengan ledakan tabel yang akan membuat lebih sulit untuk mengelola kendala FK dan sebagainya.
Secara praktis, jumlah raster per survei berkisar antara 1 hingga 100 atau lebih, dan jumlah survei kemungkinan mencapai ratusan. Tetapi jumlah proyeksi yang berbeda kemungkinan akan tetap sangat rendah, yang menguntungkan 3.