This began with my long-time curiosity on how to convert raster radar images into vector on a map. I've been using Weather.gov.sg's Rain Areas map whenever it rains, so I thought if I could convert that raster image to be used on Mapbox GL JS. I could put the whole raster image on Mapbox but choose to make it vector because I like it smoother.
After few trials and errors, I cooked up the Rain GeoJSON SG
project, a straight-forward API server to convert rain area radar images (Singapore) to GeoJSON.
Since I've gone this far, so I thought "why not?", let's build yet another weather app for Singapore! Thus this project just happens.
π Read more: Building Check Weather SG.
2 years later (2020), I revisited this project and rebuilt it:
- β³ Past 2 hours of radar snapshots
- π§Ό Cleaner UI
- πΊ Cleaner maps
- π Remove the 3D mode (it's not useful)
I've also built an π± iOS app.
And... a plethora of open-source projects to make the impossible possible:
- βοΈ rain-geojson-sg - the core API to fetch weather observations and rain radar
- β° checkweather-sg-checker - a scheduled serverless function to keep checking for rain
- β± sg-coverage - a script that converts the Singapore boundary into a 217x120 array of indices with values indicating its (land) region excluding the surrounding areas (other countries and water).
- πΈ rainshot - a serverless instance to capture rain radar images
- π© rainshot-checker - A site to experiment contouring the radar data
- π€ sg-rain-radar-scribbler - another site to load rain radar image and generates a JSON output similar to the one generated by
rain-geojson-sg
.
There are currently 3 channels:
- Push notifications, via the iOS app.
- Twitter @checkweathersg
- Telegram channel /checkweathersg
Node.js is required to run this web app. Here's a list of readily-provided scripts:
npm start
- starts a local server for developmentnpm run build
- build the files for production indist
foldernpm run serve
- starts a local server to preview production build
- Data Β© Data.gov.sg Β© Meteorological Service Singapore Β© National Environment Agency
- Code licensed under MIT