mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
feat(weather): global rain radar from RainViewer
Add a Global (RainViewer) option to Rain radar beside the US MRMS radar. The proxy pins RainViewer's tile host, validates frames and Web Mercator tile coordinates, and limits upstream tile requests to 80 a minute. Globe basemaps draw the tiles; on 3D Tiles the shell composes them into one equirectangular image per frame and detail window. Co-authored-by: Sandiv Dathunarachchi <[email protected]>
This commit is contained in:
1 parent
e7707d9a0f
commit
d496dd9f33
21 files changed
+1207
-81
No files matched your search
+11
-3
@@ -93,6 +93,14 @@ catalog construction owns each instance.
|
||||
|
||||
Wind animates one forecast without advancing forecast time. Separate Weather
|
||||
observation layers provide radar and satellite history; none claims measured cloud volume.
|
||||
Rain radar defaults to **US (NOAA)** MRMS; **Global (RainViewer)** selects a keyless
|
||||
composite where national radars exist, with the past 2 hours at 10-minute steps
|
||||
on the shared observed timeline, and the region choice persists in share links.
|
||||
RainViewer uses pinned, validated 256 px Web Mercator tiles through zoom 7,
|
||||
5-minute metadata caching and a server-wide 80-tile-request rolling-minute limit;
|
||||
gaps do not mean no rain. Globe hosts draw those tiles directly; on 3D Tiles,
|
||||
the 6.2 km shell composes at most 24 tiles per full frame or detail window and
|
||||
reprojects them to an equirectangular image.
|
||||
Weather imagery drapes onto the globe basemap. On photorealistic 3D Tiles each
|
||||
observed product is instead a raised, translucent shell: one rectangle over the
|
||||
product bounds at a fixed height (global infrared 5.5 km, regional infrared
|
||||
@@ -105,10 +113,10 @@ other map content draws over the shells, and shells are not pickable. A
|
||||
map-source change tears down one renderer and restages the shown observation on
|
||||
the other. A map without an imagery host pauses history while metadata refresh
|
||||
continues, then resumes when a host returns.
|
||||
Globe tiled products use 256 px tiles to maximum level 6. The tile proxy accepts
|
||||
NOAA globe tiled products use 256 px tiles to maximum level 6. The tile proxy accepts
|
||||
size=256 (default), 512 or 1024 and keys cached bytes by size, retaining the
|
||||
24-hour immutable response and eight upstream slots. The image proxy serves every
|
||||
product as one whole-extent PNG at its advertised bounds, up to 4096×2048 for
|
||||
NOAA product as one whole-extent PNG at its advertised bounds, up to 4096×2048 for
|
||||
radar, regional infrared and lightning and 2048×1024 for global infrared
|
||||
(`size=W×H`, default the maximum), capped at 16 MiB and cached by product, time
|
||||
and size. NOAA returned each of these sizes from a single request in a live
|
||||
@@ -127,7 +135,7 @@ full-extent image covers it. A new frame swaps the full-extent image first and
|
||||
keeps the previous detail image until the new one decodes, over at most one
|
||||
newer frame; a moved window hides until its image arrives. Global
|
||||
infrared contrast depends on the requested extent, so it keeps one image. The
|
||||
image proxy accepts `bbox=west,south,east,north` for every product: inside the
|
||||
image proxy accepts `bbox=west,south,east,north` for every NOAA product: inside the
|
||||
product bounds, 2:1 within 1 %, rounded to 0.25°, up to 4096×2048 (the
|
||||
default), cached by product, time, size and bbox. Diagnostics report
|
||||
`shell.detail` (`bbox`, `size`, `ready`, `enabled`).
|
||||
|
||||
Reference in new issue
Block a user