Skip to main content

Locate on Map

A firefighter sees smoke in a camera frame and needs one thing: where is that on the map? Locate on map answers with one click. Press the Locate button on the 60° photo or the 360° strip, click the base of the smoke, and the point lands on the map with a distance, a bearing and coordinates you can copy straight into radio traffic.

It works with the Peak Finder overlay on or off. The overlay was never doing the geometry; it only drew a picture to check the alignment against.

What one click does​

  1. The image's pose at capture — the pan, tilt and zoom stamped on the photo, the site's position, the ground elevation plus the lens height, and the horizontal field of view from the measured optics curve.
  2. The camera's solved mount error — the fleet boresight (encoder offset, pitch, roll) from the nightly solver, applied at that frame's pan.
  3. A ray through the pixel — a full 3-D pinhole with roll. On the 360° strip, the stitched frame the click lands in is its own pinhole.
  4. A march across the terrain model — along the great circle, with earth curvature and refraction, until the ray meets the ground. A click above every ridge says so and marks the visible skyline under that bearing.
  5. A mark on the map — point, dashed sight line, distance and bearing.
  6. The camera's own pan and tilt for the point — the boresight correction undone (cameraPoseForDirection), stored on the sighting and printed on the result card, the Peak Finder overlay's Locate card and the point's map chip. Each offers Copy PTZ (one line, 213.40, -1.25, which the Go to position form spreads across its fields when pasted) and, for operators, Go to, which opens Go to position prefilled, and Move cameras here, which starts a Move cameras here plan at the point. Distances read in miles only.

All of it lives in util/locate/sightline.ts and is shared by the toolbar button, the mobile drawer item and the Peak Finder overlay's own Locate entry, so every surface gives the same answer for the same pixel. The result card is shared too (LocateOnMap/LocateResultCard): the Peak Finder overlay's Locate mode renders the very same card as the toolbar's, so the two never look or behave differently.

What the map shows​

  • The point in the app's blue — deliberately not a fire colour, so a located point is never mistaken for a detection.
  • A shaded footprint when the terrain makes the distance uncertain. The angular tolerance (from the camera's calibration) is swept across the terrain: a tight sliver on a slope facing the camera, a long streak where a shallow ray skims flat ground.
  • A cross-fix (violet diamond) when two points come from different cameras: where the two bearings meet. It owes nothing to the terrain model and is the most accurate answer available — nobody has to know what triangulation is; two clicks from two cameras simply produce a better one.

Points survive camera switches and the tile/location toggle, and expire with the tab. Remove one from its card, by clicking it on the map, or clear them all from the pill on the map.

Rollout​

The enable-locate-on-map feature flag per environment (on for localhost), logged-in users, real cameras; the 360° entry appears only for internally stitched panos, whose facet geometry the strip mapping assumes.

Where to go deeper​