# Realtime.Earth — Component Map (high-level) Realtime.Earth is a geospatial “sense → align → fuse → replay” system for time-based events. Its core is pose estimation + georectification so imagery and observations become spatially anchored, time-indexed layers that can be explored in 2D/3D. --- ## 1) Data Ingest Layer **Purpose:** Accept heterogeneous streams and files and normalize them into an event-time model. - **Connectors / Importers** - Phone photos/videos (EXIF, device pose when available) - Drones / aircraft telemetry (GPS, IMU, camera parameters) - Field sensors / citizen reports (forms, messages, attachments) - GIS layers (vectors/rasters/COGs/tiles/point clouds) - External feeds (incident perimeters, weather-derived products, etc.) - **Staging + Validation** - File hashing / dedup - Metadata extraction (EXIF/XMP, timestamps, lens hints) - Time normalization (device time vs UTC vs server time) - Coordinate normalization (WGS84, local projections) **Outputs:** canonical “Observation” objects + raw assets in a content store. --- ## 2) Identity + Event Graph **Purpose:** Keep track of “who/what/where/when” across messy field data. - **Entity registry** - Devices (camera IDs), users/roles, platforms (aircraft/drone), incidents/events - **Observation graph** - Links assets ↔ telemetry ↔ derived products - Provenance chain (what produced what, with parameters) **Outputs:** an event-centric graph enabling auditability and replay. --- ## 3) Pose Estimation + Calibration (AnySurface core) **Purpose:** Turn imagery into spatially valid measurements even when telemetry is missing or unreliable. - **Intrinsics** - FOV/focal length estimation (from EXIF or solved) - Lens distortion model (when needed) - **Extrinsics (camera pose)** - Solve orientation/position from: - telemetry (IMU/GPS) - tie points / manual correspondences - known landmarks / map alignment - multi-image constraints (bundle-like consistency, if used) - **Quality model** - Confidence scores, residuals, outlier tie-point rejection - “pose versioning” (editable, revertible) **Outputs:** calibrated camera models + pose solutions per asset. --- ## 4) Georectification + Measurement **Purpose:** Convert pixels into coordinates and measurements. - **Ray/terrain intersection** - DEM/DTM intersection for per-pixel or per-feature projection - **Georectified products** - Image-to-map overlays (orthorectified approximations where appropriate) - Annotated features (points/lines/polygons) derived from imagery - **Quantification** - Distances/areas, plume height proxies, motion/flow vectors (where data supports) **Outputs:** geo-anchored layers ready for fusion and visualization. --- ## 5) Fusion + Temporal Compositing **Purpose:** Combine many partial truths into a coherent operational picture over time. - **Layer fusion** - Multiple photos/videos into a consistent spatial frame - Sensor tracks + perimeters + annotations - **Time-indexing** - Event timeline (delta-t playback) - Snapshots / states / keyframes - **Conflict handling** - competing geometries, differing timestamps, differing confidence - “best-known state” vs “alternatives” retained **Outputs:** time-resolved scene graph of the event. --- ## 6) Storage + Tile/Asset Serving **Purpose:** Serve large geospatial assets efficiently. - **Asset store** - originals + derived (thumbnails, pyramids, tiles) - **Spatial indexes** - bounding boxes, time ranges, entity tags - **Serving formats** - vector tiles, raster tiles, 3D tiles / glTF / point clouds (as used) - range requests / chunking for large files **Outputs:** fast retrieval for interactive viewers. --- ## 7) Viewers (2D + 3D) + Playback **Purpose:** Human exploration, analysis, and briefing. - **2D map viewer** - layers, opacity, time scrubber - **3D globe / terrain viewer** - camera frustums, georectified overlays on terrain, 3D annotations - **Timeline playback** - scrub, step, compare states, “then vs now” - **Analyst tools** - measure, annotate, validate tie points, flag uncertain areas **Outputs:** interactive situational awareness + storytelling. --- ## 8) Authoring + Collaboration **Purpose:** Turn viewers into a production workflow. - **Annotation authoring** - controlled vocabularies, tags, confidence levels - **Review + QA** - pose approval, derived-layer approval, change history - **Roles + permissions** - analysts, PIOs, responders, citizen contributors - **Collaboration artifacts** - shareable links, “briefing packages,” exported layers/media **Outputs:** structured products usable by teams. --- ## 9) Security + Provenance + Trust **Purpose:** Maintain integrity and control in contentious/critical contexts. - **Access control** - org/team spaces, incident-based permissions - **Provenance ledger (conceptual)** - signed/hashed assets, parameter capture, reproducibility - **Redaction** - privacy blur/strip metadata, restricted layers **Outputs:** defensible, auditable operational picture. --- ## 10) Deployment + Edge Modes **Purpose:** Operate in poor connectivity and sync later. - **Edge caching** - local replicas of incident packages (tiles + key assets) - **Intermittent sync** - pull/push derived products and annotations - **Portable “incident kit”** - minimal footprint viewer + asset bundle for camps/ICP **Outputs:** field-usable system that survives bandwidth constraints. --- # Core objects (canonical nouns) - **Event / Incident** - **Observation** (asset + metadata + time) - **PoseSolution** (intrinsics + extrinsics + confidence) - **TiePoint** (correspondence constraints) - **DerivedLayer** (georectified overlay, vector features, tiles) - **TimelineState** (best-known scene at time t) - **Annotation** (human/AI-authored, versioned) --- # Minimal dataflow (one-liner) Ingest → normalize → solve pose → georectify → fuse over time → serve tiles/assets → view/playback → author/review → sync/secure.