Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _GenDirect(self, lat1, lon1, azi1, arcmode, s12_a12, outmask):
"""Private: General version of direct problem"""
from geographiclib.geodesicline import GeodesicLine
# Automatically supply DISTANCE_IN if necessary
if not arcmode: outmask |= Geodesic.DISTANCE_IN
line = GeodesicLine(self, lat1, lon1, azi1, outmask)
return line._GenPosition(arcmode, s12_a12, outmask)
def _GenDirectLine(self, lat1, lon1, azi1, arcmode, s12_a12,
caps = GeodesicCapability.STANDARD |
GeodesicCapability.DISTANCE_IN):
"""Private: general form of DirectLine"""
from geographiclib.geodesicline import GeodesicLine
# Automatically supply DISTANCE_IN if necessary
if not arcmode: caps |= Geodesic.DISTANCE_IN
line = GeodesicLine(self, lat1, lon1, azi1, caps)
if arcmode:
line.SetArc(s12_a12)
else:
line.SetDistance(s12_a12)
return line
:return: a :class:`~geographiclib.geodesicline.GeodesicLine`
This function sets point 3 of the GeodesicLine to correspond to
point 2 of the inverse geodesic problem. The default value of *caps*
is STANDARD | DISTANCE_IN, allowing direct geodesic problem to be
solved.
"""
from geographiclib.geodesicline import GeodesicLine
a12, _, salp1, calp1, _, _, _, _, _, _ = self._GenInverse(
lat1, lon1, lat2, lon2, 0)
azi1 = Math.atan2d(salp1, calp1)
if caps & (Geodesic.OUT_MASK & Geodesic.DISTANCE_IN):
caps |= Geodesic.DISTANCE
line = GeodesicLine(self, lat1, lon1, azi1, caps, salp1, calp1)
line.SetArc(a12)
return line
def _GenDirectLine(self, lat1, lon1, azi1, arcmode, s12_a12,
caps = GeodesicCapability.STANDARD |
GeodesicCapability.DISTANCE_IN):
"""Private: general form of DirectLine"""
from geographiclib.geodesicline import GeodesicLine
# Automatically supply DISTANCE_IN if necessary
if not arcmode: caps |= Geodesic.DISTANCE_IN
line = GeodesicLine(self, lat1, lon1, azi1, caps)
if arcmode:
line.SetArc(s12_a12)
else:
line.SetDistance(s12_a12)
return line
def _GenDirect(self, lat1, lon1, azi1, arcmode, s12_a12, outmask):
"""Private: General version of direct problem"""
from geographiclib.geodesicline import GeodesicLine
# Automatically supply DISTANCE_IN if necessary
if not arcmode: outmask |= Geodesic.DISTANCE_IN
line = GeodesicLine(self, lat1, lon1, azi1, outmask)
return line._GenPosition(arcmode, s12_a12, outmask)
:param lat1: latitude of the first point in degrees
:param lon1: longitude of the first point in degrees
:param azi1: azimuth at the first point in degrees
:param caps: the :ref:`capabilities `
:return: a :class:`~geographiclib.geodesicline.GeodesicLine`
This allows points along a geodesic starting at (*lat1*, *lon1*),
with azimuth *azi1* to be found. The default value of *caps* is
STANDARD | DISTANCE_IN, allowing direct geodesic problem to be
solved.
"""
from geographiclib.geodesicline import GeodesicLine
return GeodesicLine(self, lat1, lon1, azi1, caps)
:return: a :class:`~geographiclib.geodesicline.GeodesicLine`
This function sets point 3 of the GeodesicLine to correspond to
point 2 of the inverse geodesic problem. The default value of *caps*
is STANDARD | DISTANCE_IN, allowing direct geodesic problem to be
solved.
"""
from geographiclib.geodesicline import GeodesicLine
a12, _, salp1, calp1, _, _, _, _, _, _ = self._GenInverse(
lat1, lon1, lat2, lon2, 0)
azi1 = Math.atan2d(salp1, calp1)
if caps & (Geodesic.OUT_MASK & Geodesic.DISTANCE_IN):
caps |= Geodesic.DISTANCE
line = GeodesicLine(self, lat1, lon1, azi1, caps, salp1, calp1)
line.SetArc(a12)
return line
Geodesic.LATITUDE
Geodesic.LONGITUDE
Geodesic.AZIMUTH
Geodesic.DISTANCE
Geodesic.REDUCEDLENGTH
Geodesic.GEODESICSCALE
Geodesic.AREA
Geodesic.DISTANCE_IN
Geodesic.ALL
"""
from geographiclib.geodesicline import GeodesicLine
lon1 = Geodesic.CheckPosition(lat1, lon1)
azi1 = Geodesic.CheckAzimuth(azi1)
return GeodesicLine(
self, lat1, lon1, azi1,
# Automatically supply DISTANCE_IN
caps | Geodesic.DISTANCE_IN)