Skip to content
Docs
foxborne.comRequest a pilot

Read the map

See where the vehicle was at every event, where the ground stopped hearing it and whether terrain stood between it and range control. The map is drawn from elevation data inside your deployment and fetches nothing.

How-toMarkdown
On this page11

The map answers where. It shows where the vehicle was at each event, where the ground receive log went quiet and whether terrain blocked the radio path. Foxborne draws it from the site's elevation and survey data and never calls a tile service. An air-gapped enclave shows the same map as a connected one.

Before you start#

  • The run has a GPS track. The map draws it from vehicle_global_position in the flight log, so a run with no GPS fix, such as an indoor hover, has no map.
  • The run's site has elevation and survey data in your deployment. See Why the map works offline.
  • The examples use INC-0142, INC-0141 and INC-0137 from the example dataset.

Read the map#

  1. Pick the view you need

    ViewWhere it isWhat it shows
    SiteTop of the Incidents listA pin for each listed incident with a GPS track, at the vehicle's position at the first finding. Open pins are filled, In review pins outlined and closed pins faded
    IncidentWhere on the Reconstruction tab, subtitled with the site name and Track from vehicle_global_position.The track, the incident window, receive gaps, numbered report events and the vehicle at the cursor
    RunWhere on the run page, subtitled with the site name and Whole run from vehicle_global_position, then the durationThe whole track, with a hollow circle at the start and a filled square at the end. A run with an incident shows it as the incident view does

    A pin's tooltip gives the incident ID and title, then the place and its MGRS reference. Hover a row of the incidents table to highlight its pin and track, and hover a pin to highlight its row.

  2. Move around

    ControlWhat it does
    Zoom in and Zoom outZoom by 1.6 times about the center
    FitFrames the incident, with the tooltip Fit the incident. On the site view it frames the listed incidents, with the tooltip Whole site
    DragPans the map. A move of more than 3 px counts as a drag, not a click
    ⌘, Ctrl or Alt and scrollZooms about the pointer. A plain scroll moves the page
    HoverShows the tooltip of a pin or an event marker
    ClickSelects an event, or opens an incident from its pin
  3. Follow the evidence

    The map follows the timeline. The thick stretch of track is the timeline window, and it moves as you zoom and pan the timeline. The vehicle chevron sits at the selected event, or at the first finding when nothing is selected. While you hover the timeline, a hollow chevron with a time label follows the pointer.

    Report events carry their report numbers: a marker labeled 3 is E3 in the report and badge 3 on the vehicle diagram.

  4. Read a position

    The footer reads the vehicle's position at the cursor. When INC-0142 opens, it shows Vehicle at 14:32:01.204, 13R FP 7640 8765, 1,148 m and 1.21 km to range control. Hover the map to read Pointer, the MGRS reference and the ground height under the pointer instead.

  5. Check the line to range control

    A dashed line joins Range control to the vehicle, labeled with its horizontal length, such as 1.21 km to range control. Inside a receive gap it turns amber and adds , nothing received.

    When terrain rises above the line, an amber × marks the worst point with Terrain N.N m above the line. The link label then adds , terrain above the line. Foxborne checks the line for the vehicle at the cursor, so move the cursor to check another moment.

Base layers#

LayerHow it is drawn
ContoursFrom the elevation data. The interval follows the visible span: 5 m beyond 2,500 m across, 2 m beyond 900 m, 1 m beyond 300 m and 0.5 m closer in. Every fifth contour is heavier, and contours carry no labels
Spot heightsAn × and the height, such as 1,390 m, on hills 15 m or more high
MGRS gridLines 50, 100, 200, 500, 1,000 or 2,000 m apart: the first spacing that leaves at least 90 px between lines. Eastings run along the top and northings down the left, with 2 digits at 1 km spacing and wider, 3 digits at 100 to 500 m and 4 digits at 50 m
Survey boundaryA dashed line, with the land outside it dimmed. When the edge is in view it is labeled with the site name and boundary
Site featuresRoutes, tracks, the wash, the berm, the fence, the obstacle belt, lanes, pads and area labels, each in its own line style. A label without room is left out
Range controlA square with a mast glyph, labeled Range control
Scale barBottom left: the first of 5, 10, 20, 50, 100, 200 and 500 m, 1 km and 2 km that is at least 60 px long
North arrowBottom right, labeled N

Evidence layers#

LayerHow it is drawn
TrackThe whole run from vehicle_global_position, as a thin dotted line
WindowA thick line over the stretch of track inside the timeline window
Receive gapsThick amber dashes with hollow end circles, over the stretch where the ground receive log has a gap
GPS error corridorAn amber band from sensor_gps.eph. See below
Numbered eventsReport events in report order, at their track position. Markers within 16 px merge into one label, a range for consecutive numbers or a list such as 1, 3, 5. The tooltip gives E1 and the title, then the time in UTC and the MGRS reference
VehicleA chevron along the heading at the cursor, ringed by a dashed accuracy circle of radius eph, never smaller than 7 px so it stays visible
Link to range controlA dashed line with its label, amber inside a receive gap. When range control is off the map, an arrow at the edge points to it
Line-of-sight blockageAn amber × at the worst point, with the height of terrain above the line

Events on an unaligned companion clock have no position, so the map does not draw them.

The GPS error corridor#

The corridor appears when the incident has a Horizontal accuracy lane, read from sensor_gps.eph, as INC-0141 does. Foxborne takes every track sample from 30 s before the timeline window to 30 s after it. It offsets each sample to both sides, square to the direction of travel, by the accuracy at that moment. The offset is never less than 0.5 m. Accuracy between samples is interpolated in a straight line.

The band's total width is 2 × max(eph, 0.5) m. In INC-0141, eph starts at 0.9 m, a band 1.8 m wide. It reaches 4.8 m while the receiver reports jamming, a band 9.6 m wide.

PX4 defines eph as "GPS horizontal position accuracy (metres)" and names no confidence level. The band shows the receiver's own estimate of its error, not a probability region.

Coordinates#

The map gives every position in MGRS at 10 m, such as 13R FP 7640 8765. That is the grid zone, the 100 km square, then four digits each of easting and northing. MGRS digits are truncated, not rounded, so the reference names the 10 m square that holds the point. The map shows no latitude or longitude.

The evidence inspector gives both. Its Position block shows the MGRS reference and Latitude, longitude to five decimals, in degrees north and west. Settings, under Time and position, states the rule: Positions are shown as MGRS at 10 m.

Line of sight#

Foxborne draws a straight line from the top of the range control mast to the vehicle's antenna and samples it at 119 evenly spaced points. At each point it compares the terrain height with the height of the line. It keeps the largest amount by which terrain rises above the line and marks where that happens.

  • Mast top. The ground height at range control plus the mast height, 12 m in the example dataset.
  • Antenna. The ground height under the vehicle plus 1.6 m for a ground vehicle. For an aircraft, the height above launch from the incident's Altitude lane at that moment, never less than 1 m.
  • Not modeled. Earth curvature, atmospheric refraction and Fresnel zone clearance.

A blocked line means terrain in the elevation model stands above the straight path. A clear line means only that the geometric path was open, not that the link had margin. In INC-0137, the ground receive log goes quiet while UGV-05 patrols the north side of the berm. For the whole gap, the elevation model puts the berm above the line from the mast to the UGV's antenna. The report still files the masking as a hypothesis.

Why the map works offline#

The map is drawn in your browser from three things: the site's elevation data, its survey features and the run's track. Contours are computed from the elevation data as you zoom. No request goes to a tile service or any other map server.

DataWhere it livesHandling
Basemaps and elevationYour object storageMaps are drawn from elevation data you load. Nothing calls a tile service, so an air-gapped network shows the same map

Check the result#

  • When INC-0142 opens, the footer reads Vehicle at 14:32:01.204 with an MGRS reference, the ground height and the distance to range control.
  • Selecting the kernel kill moves the chevron to its position, and the footer reads Vehicle at 14:32:04.118.
  • Selecting the heartbeat gap turns the link line amber, and its label adds , nothing received.

Troubleshoot#

The run page shows No position. The console adds "Indoor run with no GPS fix, so there is no track to draw." Bench, quarantined and rejected runs have no Where panel at all.

A report event has no marker. The footer reads "One event is on an unaligned clock, so it has no position", or the plural form. Align the clock by hand to place it.

There is no GPS corridor. The incident has no Horizontal accuracy lane from sensor_gps.eph.

Range control is off the map. Follow the arrow at the map edge, or select Fit.

Scrolling moves the page. Hold ⌘, Ctrl or Alt while you scroll to zoom the map.

Next#