Merancang Basis Data Spasial untuk data sementara? [Tutup]

11

Saya sedang mengerjakan Aplikasi GIS berbasis Cuaca.

Saya memiliki data dari beberapa stasiun cuaca, dan data ini akan diperbarui setiap hari (oleh layanan web).

Hambatan yang saya hadapi adalah:

  • Saat ini ada 40 stasiun rekaman, tetapi itu mungkin berubah
  • Stasiun yang berbeda merekam jumlah parameter yang berbeda, beberapa catatan 5, beberapa catatan 7. dll
  • Beberapa parameter direkam setiap hari (mis: Suhu Maks), beberapa dicatat setiap jam (suhu saat ini) sementara yang lain dicatat Mingguan.
  • Beberapa fasilitas di stasiun rekaman tertentu mungkin dinonaktifkan (misalnya: stasiun yang saat ini melaporkan 7 parameter, mungkin hanya melaporkan 5 tahun depan)
  • Terkadang parameter mungkin tidak dilaporkan karena masalah teknis; Oleh karena itu saya harus dapat membedakan antara, nilai = 0, nilai nol & nilai tidak dicatat.

Saya bekerja dengan ArcGIS (desktop & Server) untuk bagian spasial dari aplikasi web ini & menggunakan ArcSDE bukan masalah, tetapi saya berpikir bahwa jenis database ini sebaiknya dibiarkan sebagai Database murni & tidak membawa ArcSDE ke dalamnya.

Adakah yang bisa menyarankan buku atau tautan apa pun yang akan membantu saya?

Devdatta Tengshe
sumber

Jawaban:

7

Pendekatan paling sederhana tampaknya berupa tiga tabel:

  • stasiun (id, nama, posisi, ...)
  • parameter (id, nama, unit, ...)
  • membaca (station_id, parameter_id, timestamp, nilai, ...)
  • Saat ini ada 40 stasiun rekaman, tetapi itu mungkin berubah

Anda dapat menambahkan sejumlah stasiun. Mungkin menarik untuk menambahkan informasi tentang waktu operasi stasiun ke tabel.

  • Stasiun yang berbeda merekam jumlah parameter yang berbeda, beberapa catatan 5, beberapa catatan 7. dll.
  • Beberapa fasilitas di stasiun rekaman tertentu mungkin dinonaktifkan

Bukan masalah, karena hubungan antara parameter yang direkam dan stasiun secara implisit disimpan dalam tabel bacaan.

  • Beberapa parameter direkam setiap hari (mis: Suhu Maks), beberapa dicatat setiap jam (suhu saat ini) sementara yang lain dicatat Mingguan.

Setiap bacaan akan diwakili oleh satu entri di tabel bacaan. Interval yang berbeda tidak masalah.

  • Terkadang parameter mungkin tidak dilaporkan karena masalah teknis

Dalam hal ini, tidak akan ada entri di meja baca.

Selain itu, saya sarankan melihat Standar Pengamatan Sensor OGC . Ada banyak contoh yang mencakup rekaman stasiun cuaca. Implementasi seperti 52 ° Utara datang dengan skema basis data generik yang baik (untuk PostGIS dalam kasus ini). Sementara standar ini (dan standar SWE lainnya) membutuhkan upaya untuk belajar, saya yakin bahwa investasi akan membayar kembali.

underdark
sumber
7

Saya telah melakukan penelitian saya sendiri pada basis data temporal minggu ini. Saya menemukan jawaban ini di StackOverflow sangat membantu. Untuk pemahaman mendasar tentang prinsip-prinsip ini, ada baiknya membaca bab pengantar Mengembangkan Aplikasi Database Berorientasi Waktu dalam SQL oleh Snodgrass. Saya menemukan bahwa basis data temporal yang sebenarnya agak rumit, tetapi solusi yang lebih sederhana - seperti underdark menyarankan - mungkin cukup.

nw1
sumber