docs/adr/ADR-044-geospatial-satellite-integration.md
Accepted
RuView generates real-time 3D point clouds from camera + WiFi CSI, but these exist in a local coordinate frame with no geographic reference. Integrating free satellite imagery, terrain elevation, and map data provides environmental context that enables the ruOS brain to reason about the physical world beyond the room.
| Source | Data | Resolution | Update | Format |
|---|---|---|---|---|
| EOX Sentinel-2 Cloudless | Satellite tiles | 10m | Static mosaic | XYZ/JPEG |
| SRTM GL1 (NASA) | Elevation/DEM | 30m (1-arcsec) | Static | Binary HGT |
| Overpass API (OSM) | Buildings, roads | Vector | Real-time | JSON |
| ip-api.com | IP geolocation | ~1km | Per-request | JSON |
| Sentinel-2 STAC | Temporal satellite | 10m | Every 5 days | COG/STAC |
| Open Meteo | Weather | Point | Hourly | JSON |
Pure Rust implementation in wifi-densepose-geo crate. No GDAL/PROJ/GEOS — coordinate transforms implemented directly (~250 LOC). Tile caching on disk at ~/.local/share/ruview/geo-cache/.
Nightly scheduled fetch of Sentinel-2 latest imagery + OSM diffs + weather. Changes detected via image comparison and stored as brain memories for contrastive learning.
Geospatial context stored as brain memories:
spatial-geo: location, elevation, nearby landmarksspatial-change: detected changes in satellite/OSM dataspatial-weather: current conditions + forecastspatial-season: vegetation index, snow cover, seasonal patternsspatial-local: hyperlocal web context from Common Crawl WET| Source | Data | Use |
|---|---|---|
| Common Crawl WET | Web text near location | Local business info, reviews, events |
| Wikidata | Structured knowledge | Building names, POI descriptions |
| NASA FIRMS | Active fire (3-hour) | Safety alerts |
| USGS Earthquakes | Seismic events | Safety context |
| OpenAQ | Air quality (PM2.5) | Environmental health |
| Overture Maps | Building footprints (Meta/MS) | Higher quality than OSM |
The ruvector brain server has existing web_ingest + Common Crawl support.
WET files filtered by geographic URL patterns provide hyperlocal context.