pygeodesy 24.5.15__py2.py3-none-any.whl → 24.6.1__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.6.1.dist-info}/METADATA +6 -5
- PyGeodesy-24.6.1.dist-info/RECORD +116 -0
- pygeodesy/__init__.py +4 -4
- pygeodesy/albers.py +41 -41
- pygeodesy/auxilats/__init__.py +1 -1
- pygeodesy/auxilats/__main__.py +2 -2
- pygeodesy/auxilats/auxAngle.py +32 -31
- pygeodesy/auxilats/auxLat.py +80 -51
- pygeodesy/azimuthal.py +123 -124
- pygeodesy/basics.py +46 -10
- pygeodesy/booleans.py +13 -14
- pygeodesy/cartesianBase.py +25 -23
- pygeodesy/clipy.py +3 -3
- pygeodesy/constants.py +3 -3
- pygeodesy/css.py +50 -42
- pygeodesy/datums.py +42 -41
- pygeodesy/deprecated/functions.py +9 -3
- pygeodesy/dms.py +6 -6
- pygeodesy/ecef.py +41 -41
- pygeodesy/ellipsoidalBase.py +41 -41
- pygeodesy/ellipsoidalBaseDI.py +3 -4
- pygeodesy/ellipsoidalGeodSolve.py +2 -2
- pygeodesy/ellipsoidalKarney.py +3 -3
- pygeodesy/ellipsoidalNvector.py +11 -12
- pygeodesy/ellipsoids.py +45 -38
- pygeodesy/elliptic.py +3 -4
- pygeodesy/epsg.py +4 -3
- pygeodesy/errors.py +52 -20
- pygeodesy/etm.py +68 -65
- pygeodesy/fmath.py +44 -49
- pygeodesy/formy.py +129 -115
- pygeodesy/frechet.py +118 -103
- pygeodesy/fstats.py +21 -14
- pygeodesy/fsums.py +124 -80
- pygeodesy/gars.py +10 -9
- pygeodesy/geodesicw.py +19 -17
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/__main__.py +2 -2
- pygeodesy/geodesicx/gx.py +39 -33
- pygeodesy/geodesicx/gxarea.py +12 -9
- pygeodesy/geodesicx/gxbases.py +3 -4
- pygeodesy/geodesicx/gxline.py +6 -8
- pygeodesy/geodsolve.py +29 -28
- pygeodesy/geohash.py +60 -57
- pygeodesy/geoids.py +34 -32
- pygeodesy/hausdorff.py +114 -101
- pygeodesy/heights.py +137 -130
- pygeodesy/internals.py +16 -11
- pygeodesy/interns.py +3 -6
- pygeodesy/iters.py +19 -17
- pygeodesy/karney.py +21 -17
- pygeodesy/ktm.py +25 -18
- pygeodesy/latlonBase.py +12 -11
- pygeodesy/lazily.py +6 -6
- pygeodesy/lcc.py +24 -25
- pygeodesy/ltp.py +143 -113
- pygeodesy/ltpTuples.py +207 -150
- pygeodesy/mgrs.py +26 -26
- pygeodesy/named.py +172 -90
- pygeodesy/namedTuples.py +33 -25
- pygeodesy/nvectorBase.py +8 -8
- pygeodesy/osgr.py +40 -48
- pygeodesy/points.py +18 -18
- pygeodesy/props.py +29 -16
- pygeodesy/rhumb/__init__.py +1 -1
- pygeodesy/rhumb/aux_.py +13 -15
- pygeodesy/rhumb/bases.py +12 -5
- pygeodesy/rhumb/ekx.py +24 -18
- pygeodesy/rhumb/solve.py +13 -10
- pygeodesy/simplify.py +16 -16
- pygeodesy/solveBase.py +18 -18
- pygeodesy/sphericalBase.py +17 -21
- pygeodesy/sphericalTrigonometry.py +21 -21
- pygeodesy/streprs.py +5 -5
- pygeodesy/trf.py +13 -11
- pygeodesy/triaxials.py +68 -64
- pygeodesy/units.py +35 -35
- pygeodesy/unitsBase.py +24 -11
- pygeodesy/ups.py +66 -70
- pygeodesy/utily.py +3 -3
- pygeodesy/utm.py +183 -187
- pygeodesy/utmups.py +38 -38
- pygeodesy/utmupsBase.py +104 -106
- pygeodesy/vector2d.py +6 -7
- pygeodesy/vector3d.py +16 -17
- pygeodesy/vector3dBase.py +4 -5
- pygeodesy/webmercator.py +43 -51
- PyGeodesy-24.5.15.dist-info/RECORD +0 -116
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.6.1.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.6.1.dist-info}/top_level.txt +0 -0
pygeodesy/lcc.py
CHANGED
|
@@ -30,26 +30,25 @@ from pygeodesy.constants import EPS, EPS02, PI_2, _float as _F, _0_0, _0_5, \
|
|
|
30
30
|
from pygeodesy.ellipsoidalBase import LatLonEllipsoidalBase as _LLEB
|
|
31
31
|
from pygeodesy.datums import Datums, _ellipsoidal_datum
|
|
32
32
|
from pygeodesy.errors import _IsnotError, _ValueError
|
|
33
|
-
from pygeodesy.fmath import
|
|
33
|
+
from pygeodesy.fmath import hypot, _ALL_LAZY
|
|
34
34
|
from pygeodesy.interns import NN, _COMMASPACE_, _ellipsoidal_, _GRS80_, _k0_, \
|
|
35
|
-
_lat0_, _lon0_, _m_, _NAD83_, _NTF_, _SPACE_,
|
|
36
|
-
_C_ # PYCHOK used!
|
|
35
|
+
_lat0_, _lon0_, _m_, _NAD83_, _NTF_, _SPACE_, \
|
|
36
|
+
_WGS84_, _C_ # PYCHOK used!
|
|
37
37
|
# from pygeodesy.lazily import _ALL_LAZY # from .fmath
|
|
38
|
-
from pygeodesy.named import _lazyNamedEnumItem as _lazy, _NamedBase, \
|
|
39
|
-
|
|
38
|
+
from pygeodesy.named import _lazyNamedEnumItem as _lazy, _name2__, _NamedBase, \
|
|
39
|
+
_NamedEnum, _NamedEnumItem, _xnamed
|
|
40
40
|
from pygeodesy.namedTuples import EasNor3Tuple, LatLonDatum3Tuple, \
|
|
41
41
|
LatLon2Tuple, _LL4Tuple, PhiLam2Tuple
|
|
42
|
-
from pygeodesy.props import deprecated_method, Property, Property_RO,
|
|
43
|
-
_update_all
|
|
42
|
+
from pygeodesy.props import deprecated_method, Property, Property_RO, _update_all
|
|
44
43
|
from pygeodesy.streprs import Fmt, _fstrENH2, _xzipairs
|
|
45
|
-
from pygeodesy.units import Easting, Height, _heigHt, Lam_, Northing, \
|
|
46
|
-
|
|
44
|
+
from pygeodesy.units import Easting, Height, _heigHt, Lam_, Northing, Phi_, \
|
|
45
|
+
Scalar_
|
|
47
46
|
from pygeodesy.utily import atan1, degrees90, degrees180, sincos2, tanPI_2_2
|
|
48
47
|
|
|
49
48
|
from math import atan, fabs, log, radians, sin, sqrt
|
|
50
49
|
|
|
51
50
|
__all__ = _ALL_LAZY.lcc
|
|
52
|
-
__version__ = '
|
|
51
|
+
__version__ = '24.05.24'
|
|
53
52
|
|
|
54
53
|
_E0_ = 'E0'
|
|
55
54
|
_N0_ = 'N0'
|
|
@@ -83,7 +82,7 @@ class Conic(_NamedEnumItem):
|
|
|
83
82
|
_r0 = _0_0 # precomputed rho0 (C{float})
|
|
84
83
|
|
|
85
84
|
def __init__(self, latlon0, par1, par2=None, E0=0, N0=0,
|
|
86
|
-
k0=1, opt3=0,
|
|
85
|
+
k0=1, opt3=0, auth=NN, **name):
|
|
87
86
|
'''New Lambert conformal conic projection.
|
|
88
87
|
|
|
89
88
|
@arg latlon0: Origin with (ellipsoidal) datum (C{LatLon}).
|
|
@@ -93,8 +92,8 @@ class Conic(_NamedEnumItem):
|
|
|
93
92
|
@kwarg N0: Optional, false northing (C{meter}).
|
|
94
93
|
@kwarg k0: Optional scale factor (C{scalar}).
|
|
95
94
|
@kwarg opt3: Optional meridian (C{degrees180}).
|
|
96
|
-
@kwarg name: Optional name of the conic (C{str}).
|
|
97
95
|
@kwarg auth: Optional authentication authority (C{str}).
|
|
96
|
+
@kwarg name: Optional C{B{name}=NN} for the conic (C{str}).
|
|
98
97
|
|
|
99
98
|
@return: A Lambert projection (L{Conic}).
|
|
100
99
|
|
|
@@ -283,7 +282,7 @@ class Conic(_NamedEnumItem):
|
|
|
283
282
|
'''Return this conic as a string.
|
|
284
283
|
|
|
285
284
|
@kwarg prec: Number of (decimal) digits, unstripped (C{int}).
|
|
286
|
-
@kwarg name:
|
|
285
|
+
@kwarg name: Overriding name (C{str}) or C{None} to exclude
|
|
287
286
|
this conic's name.
|
|
288
287
|
|
|
289
288
|
@return: Conic attributes (C{str}).
|
|
@@ -400,14 +399,14 @@ class Lcc(_NamedBase):
|
|
|
400
399
|
_height = 0 # height (C{meter})
|
|
401
400
|
_northing = _0_0 # Northing (C{float})
|
|
402
401
|
|
|
403
|
-
def __init__(self, e, n, h=0, conic=Conics.WRF_Lb, name
|
|
402
|
+
def __init__(self, e, n, h=0, conic=Conics.WRF_Lb, **name):
|
|
404
403
|
'''New L{Lcc} Lamber conformal conic position.
|
|
405
404
|
|
|
406
405
|
@arg e: Easting (C{meter}).
|
|
407
406
|
@arg n: Northing (C{meter}).
|
|
408
407
|
@kwarg h: Optional height (C{meter}).
|
|
409
408
|
@kwarg conic: Optional, the conic projection (L{Conic}).
|
|
410
|
-
@kwarg name: Optional name (C{str}).
|
|
409
|
+
@kwarg name: Optional C{B{name}=NN} (C{str}).
|
|
411
410
|
|
|
412
411
|
@return: The Lambert location (L{Lcc}).
|
|
413
412
|
|
|
@@ -614,27 +613,27 @@ class Lcc(_NamedBase):
|
|
|
614
613
|
return t if sep is None else sep.join(t)
|
|
615
614
|
|
|
616
615
|
|
|
617
|
-
def toLcc(latlon, conic=Conics.WRF_Lb, height=None, Lcc=Lcc,
|
|
618
|
-
|
|
616
|
+
def toLcc(latlon, conic=Conics.WRF_Lb, height=None, Lcc=Lcc,
|
|
617
|
+
**name_Lcc_kwds):
|
|
619
618
|
'''Convert an (ellipsoidal) geodetic point to a I{Lambert} location.
|
|
620
619
|
|
|
621
620
|
@arg latlon: Ellipsoidal point (C{LatLon}).
|
|
622
621
|
@kwarg conic: Optional Lambert projection to use (L{Conic}).
|
|
623
622
|
@kwarg height: Optional height for the point, overriding the
|
|
624
623
|
default height (C{meter}).
|
|
625
|
-
@kwarg Lcc:
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
arguments, ignored if B{C{Lcc}} is C{None}.
|
|
624
|
+
@kwarg Lcc: Class to return the I{Lambert} location (L{Lcc}).
|
|
625
|
+
@kwarg name_Lcc_kwds: Optional C{B{name}=NN} (C{str}) for the
|
|
626
|
+
location and optional, additional B{C{Lcc}} keyword
|
|
627
|
+
arguments, ignored if B{C{Lcc}} is C{None}.
|
|
630
628
|
|
|
631
629
|
@return: The I{Lambert} location (L{Lcc}) or an
|
|
632
|
-
L{EasNor3Tuple}C{(easting, northing, height)}
|
|
633
|
-
|
|
630
|
+
L{EasNor3Tuple}C{(easting, northing, height)} if
|
|
631
|
+
C{B{Lcc} is None}.
|
|
634
632
|
|
|
635
633
|
@raise TypeError: If B{C{latlon}} is not ellipsoidal.
|
|
636
634
|
'''
|
|
637
635
|
_xinstanceof(_LLEB, latlon=latlon)
|
|
636
|
+
name, Lcc_kwds = _name2__(name_Lcc_kwds)
|
|
638
637
|
|
|
639
638
|
a, b = latlon.philam
|
|
640
639
|
c = conic.toDatum(latlon.datum)
|
|
@@ -649,7 +648,7 @@ def toLcc(latlon, conic=Conics.WRF_Lb, height=None, Lcc=Lcc, name=NN,
|
|
|
649
648
|
h = _heigHt(latlon, height)
|
|
650
649
|
r = EasNor3Tuple(e, n, h) if Lcc is None else \
|
|
651
650
|
Lcc(e, n, h=h, conic=c, **Lcc_kwds)
|
|
652
|
-
return _xnamed(r, name
|
|
651
|
+
return _xnamed(r, name) if name else r
|
|
653
652
|
|
|
654
653
|
|
|
655
654
|
if __name__ == '__main__':
|