def great_circle(self, **kwargs): """ Named arguments: distance = distance to traveled azimuth = angle, in DECIMAL DEGREES of HEADING from NORTH start_point = Location4D object representing the starting point rmajor = radius of earth's major axis. default=6378137.0 (WGS84) rminor = radius of earth's minor axis. default=6356752.3142 (WGS84) Returns a dictionary with: 'latitude' in decimal degrees 'longitude' in decimal degrees 'reverse_azimuth' in decimal degrees """ distance = kwargs.pop('distance') azimuth = kwargs.pop('azimuth') starting = kwargs.pop('start_point') rmajor = kwargs.pop('rmajor', 6378137.0) rminor = kwargs.pop('rminor', 6356752.3142) f = (rmajor - rminor) / rmajor lat_result, lon_result, angle_result = GreatCircle.vinc_pt(f, rmajor, math.radians(starting.latitude), math.radians(starting.longitude), math.radians(azimuth), distance) return {'latitude': math.degrees(lat_result), 'longitude': math.degrees(lon_result), 'reverse_azimuth': math.degrees(angle_result)}
def great_circle(self, **kwargs): """ Named arguments: distance = distance to traveled azimuth = angle, in DECIMAL DEGREES of HEADING from NORTH start_point = Location4D object representing the starting point rmajor = radius of earth's major axis. default=6378137.0 (WGS84) rminor = radius of earth's minor axis. default=6356752.3142 (WGS84) Returns a dictionary with: 'latitude' in decimal degrees 'longitude' in decimal degrees 'reverse_azimuth' in decimal degrees """ distance = kwargs.pop('distance') azimuth = kwargs.pop('azimuth') starting = kwargs.pop('start_point') rmajor = kwargs.pop('rmajor', 6378137.0) rminor = kwargs.pop('rminor', 6356752.3142) f = (rmajor - rminor) / rmajor lat_result, lon_result, angle_result = GreatCircle.vinc_pt( f, rmajor, math.radians(starting.latitude), math.radians(starting.longitude), math.radians(azimuth), distance) return { 'latitude': math.degrees(lat_result), 'longitude': math.degrees(lon_result), 'reverse_azimuth': math.degrees(angle_result) }