question: public static Point destination ( Point point1 , double distance , double bearing , String units ) throws TurfException { double degrees2radians = Math . PI / 180 ; double radians2degrees = 180 / Math . PI ; Position coordinates1 = point1 . getCoordinates ( ) ; double longitude1 = degrees2radians * coordinates1 . getLongitude ( ) ; double latitude1 = degrees2radians * coordinates1 . getLatitude ( ) ; double bearingRad = degrees2radians * bearing ; double radians = TurfHelpers . distanceToRadians ( distance , units ) ; double latitude2 = Math . asin ( Math . sin ( latitude1 ) * Math . cos ( radians ) + Math . cos ( latitude1 ) * Math . sin ( radians ) * Math . cos ( bearingRad ) ) ; double longitude2 = longitude1 + Math . atan2 ( Math . sin ( bearingRad ) * Math . sin ( radians ) * Math . cos ( latitude1 ) , Math . cos ( radians ) - Math . sin ( latitude1 ) * Math . sin ( latitude2 ) ) ; return Point . fromCoordinates ( Position . fromCoordinates ( radians2degrees * longitude2 , radians2degrees * latitude2 ) ) ; }
target:  Takes a Point and calculates the location of a destination point given a distance in degrees, radians, miles, or kilometers; and bearing in degrees. This uses the Haversine formula to account for global curvature.