code: func BearingTo(p1, p2 Point) float64 {
  	dLon := toRadians(p2.Lon() - p1.Lon())
  
  	lat1 := toRadians(p1.Lat())
  	lat2 := toRadians(p2.Lat())
  
  	y := math.Sin(dLon) * math.Cos(lat2)
  	x := math.Cos(lat1)*math.Sin(lat2) -
  		math.Sin(lat1)*math.Cos(lat2)*math.Cos(dLon)
  	brng := toDegrees(math.Atan2(y, x))
  
  	return brng
  }
docs: // BearingTo returns the bearing from p1 to p2