Click a resolved entity on the link chart → the predictor extrapolates its position 10 minutes forward using great-circle constant-velocity math (with least-squares smoothing over recent track history) → the predicted track renders as a dotted amber line on the map → you confirm a DJI drone orbit at the predicted position → the mission pushes to the RC. The full Palantir "detect → resolve → predict → task → collect" loop, running air-gapped on your hardware.
The TrackPredictor projects a resolved ontology entity forward in time using constant-velocity great-circle extrapolation — the same proven math the fusion deconfliction loop already uses for closest-point-of-approach. No Kalman filter, no cloud round-trip: the prediction runs on the entity's latest speed + heading, smoothed by a least-squares fit over recent track history when available.
TemporalAnalyticsService.History via aliases (with cot→tak, adsb→sdr source-name translation).speed × lead-time meters along the fitted heading, sampling 6 intermediate points for a smooth dotted-line render.# request { "entityId": "ENT-ae4b1f", "leadMinutes": 10 } # response — predicted position + track polyline { "predictedLat": 34.0522, "predictedLon": -117.3510, "headingDeg": 90.0, "speedMps": 100.0, "distanceM": 60000, "source": "history-ls", "path": [[-118,34], [-117.87,34], ...] } ● constant-velocity · least-squares smoothed
The predicted coordinate hands off to FlyPath — the mission planner — which builds a DJI WPML orbit mission, then pushes it to the RC's waypoint folder. One click from the entity card to a flying drone.
Click 🎯 on the entity detail card in the link panel. The predictor extrapolates the track + renders a dotted amber predicted-position line on the map.
Confirm "Task DJI drone to orbit?" → FlyPath builds an orbit mission (200 m radius, 100 m AGL) centered on the predicted position. The mission's waypoints + footprints render on the map.
Confirm "Push to RC?" → the WPML kmz copies into the DJI RC's waypoint folder via Windows IFileOperation. The operator launches the mission on the RC — the drone flies to the predicted position.
This isn't a standalone feature — it's the capstone that closes the loop on everything the platform already does. The ontology resolves the entity across feeds. The predictor extrapolates. FlyPath tasks the drone. The drone collects imagery. The collection re-feeds the ontology on the next ingest cycle — and the picture gets sharper.
RcPushService.PushAsync was written but had no route. Now POST /api/flypath/push wraps it — the plan actually flies.# the full cycle, no cloud round-trip 1. Detect feeds (TAK/ADS-B/ASTERIX/AIS) 2. Resolve ontology fuses feeds → 1 entity 3. Predict TrackPredictor → Destination math 4. Task FlyPath orbit @ predicted position 5. Collect drone imagery → COG/Photo registry 6. Re-resolve next ingest sharpens the picture ● detect → resolve → predict → task → collect all local · no cloud AI · no server backend
The prediction is a constant-velocity great-circle extrapolation — a forecast, not a tracking filter. It assumes the entity continues at its current speed and heading, which is accurate for short lead times (minutes) and degrades for longer horizons or maneuvering targets. A Kalman/alpha-beta filter with covariance modeling is a documented follow-up once observational noise data exists in the track schema. The FlyPath RC push requires a DJI RC connected via USB; the kmz copies into the waypoint shell folder via Windows IFileOperation. Skydio command/tasking is deferred (no command endpoint exists today).
From a resolved entity on the link chart to a flying drone at the predicted position — one click, all local, no cloud. That's the air-gapped C3 advantage.