[feat](trx-rs): add weather satellite map overlay integration

Add SGP4-based geo-referencing for NOAA APT and Meteor LRPT decoded
satellite images, enabling them to be displayed as semi-transparent
overlays on the Leaflet map module with ground track polylines.

Changes:
- Add sgp4 crate dependency to trx-core for orbital propagation
- New trx-core/src/geo.rs module with TLE-based pass geo-referencing,
  ECI-to-geodetic conversion, and station-location fallback estimation
- Extend WxsatImage and LrptImage structs with geo_bounds and
  ground_track optional fields (backward compatible via serde defaults)
- Compute geo-bounds in finalize_wxsat_pass and finalize_lrpt_pass
  using satellite identity, pass timestamps, and station coordinates
- Add 'wxsat' source filter to the map module (off by default)
- Add L.imageOverlay rendering with popup and ground track polyline
- Add "Show on Map" buttons in wxsat plugin live/history views

https://claude.ai/code/session_01DUCfb9CjGoViwBrznpfWyt
Signed-off-by: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-03-28 10:57:08 +00:00
committed by Stan Grams
parent c1b713a5b2
commit 560b6ec912
9 changed files with 757 additions and 4 deletions
Generated
+13
View File
@@ -509,6 +509,7 @@ checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
dependencies = [
"iana-time-zone",
"num-traits",
"serde",
"windows-link",
]
@@ -2137,6 +2138,17 @@ dependencies = [
"winapi",
]
[[package]]
name = "sgp4"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9467b9a7be8485ed8be0f336d399c8f32c0fcd60686e7dd2ed3dab75c9a73eb3"
dependencies = [
"chrono",
"serde",
"serde_json",
]
[[package]]
name = "sha1"
version = "0.10.6"
@@ -2708,6 +2720,7 @@ dependencies = [
"flate2",
"serde",
"serde_json",
"sgp4",
"tokio",
"tracing",
"uuid",