Receiver & GPS at Topside and Transmitter Deepside

This is the canonical, or "normal" configuration.

latitude_rx :: from GPS co-located with receiver (in degrees that include minutes and seconds)

longitude_rx :: from GPS co-located with receiver (in degrees that include minutes and seconds)

bearing :: true bearing (not compass bearing) from $USRTH message

elevation :: elevation from $USRTH message

slant_range :: slant range from $USRTH message

depth (best, if available) :: from ROV depth sensor (minus depth of receiver unit)

depth (use if ROV depth sensor not available) = abs( sin(elevation) x slant_range ) [note 1]

map_radius = cos(elevation) x slant_range

CE = 40,074,000 m // Circumference of earth in meters

lat_m_per_deg = CE / 360 // meters per degree of latitude

long_m_per_deg = lat_m_per_deg x cos(latitude_rx) // meters per degree of longitude [note 1]

latitude_tx = latitude_rx + (sin(bearing) x map_radius / lat_m_per_deg) [note 1, 2]

longitude_tx = longitude_rx + (cos(bearing) x map_radius / long_m_per_deg [note 1, 2]

Note 1: Remember, most computer functions require you to convert degrees to radians

Note 2: the signs of the degrees as noted above are needed in the computations

Note 3: longitude degrees that are West are negative, East are positive. Latitude degrees that are North are positive, South are negative.

Last updated