Berikut kerangka pengembangan prototipe yang menampilkan dua parameter cuaca utama—curah hujan dan suhu (cuaca panas)—secara bersamaan pada peta OpenMap tanpa menambahkan refresh streaming yang kompleks:
Data Sumber dan Frekuensi
• BMKG API (stasiun cuaca): panggil endpoint harian/sub-harian untuk memperoleh parameter:
– Curah hujan (mm)
– Suhu udara (°C)
• Frekuensi update: cukup sekali setiap 30 – 60 menit (atau harian jika infrastruktur terbatas).
Arsitektur Backend
a. Pengumpulan Data
– Modul Python (Flask/FastAPI) yang memanggil BMKG API sesuai jadwal (cron/ Celery Beat).
– Simpan snapshot terakhir di tabel PostGIS berisi kolom: stasiun_id, waktu, hujan, suhu.
b. Interpolasi Spasial (opsional)
– Gunakan IDW untuk membuat dua grid terpisah: satu untuk nilai hujan, satu untuk suhu.
– Resolusi grid: 0.05° × 0.05° atau sesuai kebutuhan tampilan peta.
– Hasil disimpan sebagai GeoTIFF ter-cache.
Tile Server dan Penyajian Lapisan
a. Peta Dasar
– Vector tile OSM via OpenMap/MapLibre GL untuk administrasi, jalan, sungai.
b. Lapisan Curah Hujan & Suhu
– Marker stasiun: ikon hujan (awan/drip) bergabung dengan ikon termometer, pop-up menampilkan kedua nilai.
– Heatmap/Contour ganda:
1. Layer “Rainfall Intensity” (gradasi biru–ungu)
2. Layer “Temperature” (gradasi kuning–merah)
– Gunakan komposisi alpha-blending sehingga kedua layer dapat diaktifkan bersamaan tanpa saling menutupi: misalnya, saat kedua layer aktif, ikon marker tetap terlihat, dan warna panas menonjol di area berwarna biru.
Frontend
– Framework: React atau Vue.js + MapLibre GL JS
– Kontrol Layer: checkbox terpisah untuk “Rainfall” dan “Temperature.”
– Legend Ganda:
• Legend Rainfall: skala 0 – 200 mm (biru muda ke ungu tua)
• Legend Temperature: skala 20 – 40 °C (kuning ke merah gelap)
– Pop-up Marker: tampilkan teks “Hujan: XX mm | Suhu: YY °C”
– Waktu Snapshot: tampilkan di pojok peta (mis. “Terakhir diperbarui: 14:00 WIB”).
Pengoptimalan Tanpa Refresh Streaming
– Cache data snapshot di memori (Redis) atau file JSON statis.
– Pemetaan ulang (re-render layer) hanya saat snapshot baru tersedia—misalnya pengguna klik tombol “Perbarui Data.”
– Atau atur auto-refresh ringan (mis. setiap 30 menit) alih-alih streaming kontinu.
Validasi
– Bandingkan perhitungan IDW (jika digunakan) dengan data stasiun tetangga untuk memastikan interpolasi tidak “melewatkan” hotspot suhu atau hujan.
– Uji visual: periksa area beriklim panas (suhu >35 °C) dan area hujan tinggi (>50 mm) muncul dengan benar pada layer terpisah dan komposit.
Dengan pendekatan ini, Anda akan mendapatkan peta cuaca “dua dimensi”—menampilkan secara bersamaan intensitas hujan dan tingkat panas—dengan infrastruktur ringan, antarmuka sederhana, dan tanpa kebutuhan streaming real-time yang berat.
Create from Spatial Visualization of Weather in East Java Using OpenMap