pygeodesy 24.5.8__py2.py3-none-any.whl → 24.5.24__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.8.dist-info → PyGeodesy-24.5.24.dist-info}/METADATA +2 -2
- PyGeodesy-24.5.24.dist-info/RECORD +116 -0
- pygeodesy/__init__.py +16 -12
- pygeodesy/__main__.py +9 -10
- pygeodesy/albers.py +42 -42
- pygeodesy/auxilats/__init__.py +1 -1
- pygeodesy/auxilats/__main__.py +7 -10
- pygeodesy/auxilats/auxAngle.py +32 -31
- pygeodesy/auxilats/auxLat.py +81 -51
- pygeodesy/azimuthal.py +123 -124
- pygeodesy/basics.py +165 -176
- pygeodesy/booleans.py +14 -15
- pygeodesy/cartesianBase.py +25 -23
- pygeodesy/clipy.py +3 -3
- pygeodesy/constants.py +8 -6
- pygeodesy/css.py +50 -42
- pygeodesy/datums.py +50 -48
- pygeodesy/dms.py +6 -6
- pygeodesy/ecef.py +27 -27
- pygeodesy/elevations.py +2 -2
- pygeodesy/ellipsoidalBase.py +28 -27
- pygeodesy/ellipsoidalBaseDI.py +8 -7
- pygeodesy/ellipsoidalNvector.py +11 -12
- pygeodesy/ellipsoids.py +41 -35
- pygeodesy/elliptic.py +12 -10
- pygeodesy/epsg.py +4 -3
- pygeodesy/errors.py +35 -13
- pygeodesy/etm.py +62 -53
- pygeodesy/fmath.py +48 -41
- pygeodesy/formy.py +93 -65
- pygeodesy/frechet.py +117 -102
- pygeodesy/fstats.py +52 -46
- pygeodesy/fsums.py +169 -145
- pygeodesy/gars.py +10 -9
- pygeodesy/geodesicw.py +32 -30
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/__main__.py +4 -4
- pygeodesy/geodesicx/gx.py +40 -32
- pygeodesy/geodesicx/gxarea.py +15 -12
- pygeodesy/geodesicx/gxbases.py +3 -4
- pygeodesy/geodesicx/gxline.py +6 -8
- pygeodesy/geodsolve.py +28 -26
- pygeodesy/geohash.py +47 -44
- pygeodesy/geoids.py +37 -35
- pygeodesy/hausdorff.py +112 -99
- pygeodesy/heights.py +136 -129
- pygeodesy/internals.py +576 -0
- pygeodesy/interns.py +6 -207
- pygeodesy/iters.py +22 -19
- pygeodesy/karney.py +18 -15
- pygeodesy/ktm.py +31 -24
- pygeodesy/latlonBase.py +12 -11
- pygeodesy/lazily.py +140 -218
- pygeodesy/lcc.py +24 -25
- pygeodesy/ltp.py +83 -71
- pygeodesy/ltpTuples.py +7 -5
- pygeodesy/mgrs.py +5 -4
- pygeodesy/named.py +136 -49
- pygeodesy/namedTuples.py +33 -25
- pygeodesy/nvectorBase.py +10 -9
- pygeodesy/osgr.py +14 -12
- pygeodesy/points.py +13 -13
- pygeodesy/props.py +7 -7
- pygeodesy/rhumb/__init__.py +1 -1
- pygeodesy/rhumb/bases.py +3 -2
- pygeodesy/rhumb/solve.py +2 -2
- pygeodesy/solveBase.py +8 -7
- pygeodesy/sphericalTrigonometry.py +5 -5
- pygeodesy/streprs.py +8 -7
- pygeodesy/trf.py +8 -8
- pygeodesy/triaxials.py +67 -63
- pygeodesy/units.py +48 -50
- pygeodesy/unitsBase.py +24 -11
- pygeodesy/ups.py +7 -6
- pygeodesy/utily.py +4 -4
- pygeodesy/utm.py +53 -52
- pygeodesy/utmupsBase.py +11 -8
- pygeodesy/vector2d.py +6 -7
- pygeodesy/vector3d.py +16 -17
- pygeodesy/vector3dBase.py +5 -5
- PyGeodesy-24.5.8.dist-info/RECORD +0 -115
- {PyGeodesy-24.5.8.dist-info → PyGeodesy-24.5.24.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.5.8.dist-info → PyGeodesy-24.5.24.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyGeodesy
|
|
3
|
-
Version: 24.5.
|
|
3
|
+
Version: 24.5.24
|
|
4
4
|
Summary: Pure Python geodesy tools
|
|
5
5
|
Home-page: https://GitHub.com/mrJean1/PyGeodesy
|
|
6
6
|
Author: Jean M. Brouwers
|
|
@@ -158,7 +158,7 @@ and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64
|
|
|
158
158
|
|
|
159
159
|
For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
|
|
160
160
|
|
|
161
|
-
*Last updated: May
|
|
161
|
+
*Last updated: May 24, 2024.*
|
|
162
162
|
|
|
163
163
|
License
|
|
164
164
|
=======
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
|
|
2
|
+
pygeodesy/__init__.py,sha256=dxRGIMc_KFg9rWL9IHUZhVmCD3d_3a7DJpfSsyRS0is,41050
|
|
3
|
+
pygeodesy/__main__.py,sha256=UmTd6Qw20g_pgnQjdaHePm-xuOEBi1tUNRLO0eL0-rU,4593
|
|
4
|
+
pygeodesy/albers.py,sha256=2t8EjmoFWmkdTb4DUHMlECkwTPDS1wpNf92WD_UWXds,31081
|
|
5
|
+
pygeodesy/azimuthal.py,sha256=RQdZbHoLlHSamhnJ4GMrrRU6UrYmTpa1yK59nYB-A4o,50252
|
|
6
|
+
pygeodesy/basics.py,sha256=QE3Z3JC-BOAyaj_k6pxqwUpVLzkxJx0Ed1Dcjie8lbg,28241
|
|
7
|
+
pygeodesy/booleans.py,sha256=_OMqrm3R8vHHWo3heglKhUCKWdG8HzHmHLGKRNMF0nY,74141
|
|
8
|
+
pygeodesy/cartesianBase.py,sha256=P3EUMYKad9HxNSQQJTbPu4QehQu5HDxqOo9-xYsTdp4,47366
|
|
9
|
+
pygeodesy/clipy.py,sha256=3ysIEWQ89HjvLnSlZm0nZAt9EN5AQxIs1sLLM8yF9zM,27675
|
|
10
|
+
pygeodesy/constants.py,sha256=-KhClvNhehL7UCnqPgZyEnS3cSyYf7EBDRF0Vgmcgks,19190
|
|
11
|
+
pygeodesy/css.py,sha256=RXlLh76tVDFClVh7L1U3FFrLZvjBPFASDf3vq8dHecE,25778
|
|
12
|
+
pygeodesy/datums.py,sha256=GYbtvPyzDChHYgnNleBqsM-MNwLNQqrO2_MMV4Z9kmI,34006
|
|
13
|
+
pygeodesy/dms.py,sha256=VujWxk1L2Kp6OMfnu0XPI-j8bnyJ33sFmtB9_MbHqSU,44455
|
|
14
|
+
pygeodesy/ecef.py,sha256=U_vxQKD1HXB-O10Q_9tZ4EiD9SdFYuG__5lqvrhE_0M,59795
|
|
15
|
+
pygeodesy/elevations.py,sha256=1qZM2w0rDF7jHunydpTEmdLwOwF81KUL9L6RALJC7K4,10807
|
|
16
|
+
pygeodesy/ellipsoidalBase.py,sha256=VTzRrHlfZ-VXAEUczQjDNMDbTN9kVYBgCMuOos021Dk,56710
|
|
17
|
+
pygeodesy/ellipsoidalBaseDI.py,sha256=lPUPP5lVsCzI5RIukxmJ5MH6j2Mb7mdvftQ0tsvsW6g,38585
|
|
18
|
+
pygeodesy/ellipsoidalExact.py,sha256=a_2C6S6hGRumavy5giRoC9QAhnjqpujiXyu92od6nKo,16951
|
|
19
|
+
pygeodesy/ellipsoidalGeodSolve.py,sha256=xfNcb70AuPbIiJUqhisIfg6pCQBqXyQffBNuESEGCfU,16833
|
|
20
|
+
pygeodesy/ellipsoidalKarney.py,sha256=FoOsfNf96oHuGa9k4AB42y_UUBuOkh4xMW7PFGF63SA,19246
|
|
21
|
+
pygeodesy/ellipsoidalNvector.py,sha256=JuxCUqUtot4e8587Q84Npc1_SdahywTYsybRSMTRtSc,30265
|
|
22
|
+
pygeodesy/ellipsoidalVincenty.py,sha256=Uk93B8GFcMnWiwKUOA84TlLwbBlvzVnsAXAx0cU7cn4,26004
|
|
23
|
+
pygeodesy/ellipsoids.py,sha256=I-vlTW3hqNK-Joqo8q3f1KxY-Y3yD4mVxo7TBWSGxYw,120212
|
|
24
|
+
pygeodesy/elliptic.py,sha256=-80MbZvRPk-TeA_ggkfXhjuPv07MzsB4HxNF7gbdhB4,42501
|
|
25
|
+
pygeodesy/epsg.py,sha256=oWHX_QVChE5roktAyXUmPmX49XHiryYmXTHxQzrAprE,8222
|
|
26
|
+
pygeodesy/errors.py,sha256=A8eOE3ddsH9kFP6O60cA5ZuQMjBWpmbRDdWKM2Onvng,28187
|
|
27
|
+
pygeodesy/etm.py,sha256=w0_8tF6p54K2dBAhsOW9YZTTWHJY7BnFnqh34PKm8PU,45075
|
|
28
|
+
pygeodesy/fmath.py,sha256=71kngkiWgwFoLbJ6JKb2dJ0ZBmTFd_mdsGZkU_m-8Ts,34103
|
|
29
|
+
pygeodesy/formy.py,sha256=CmQlz2I1KNXeIU73T9zzHNvTnenMFvfnZVCJCxhSwZg,75693
|
|
30
|
+
pygeodesy/frechet.py,sha256=MwOC2VvOL4lNcvpF-kUaN5FYNp6xudYP5dyBtSwKz3Y,34338
|
|
31
|
+
pygeodesy/fstats.py,sha256=4eIhzSCMnn-2nVP3Q-5cCWCI-rvH0CE-zkk9hp3Pvn8,28642
|
|
32
|
+
pygeodesy/fsums.py,sha256=VdvK7Z01MNRcknf8hWujvD08WMCgJ98OdUCCbT9Xfqk,79434
|
|
33
|
+
pygeodesy/gars.py,sha256=gVnLQIEofyf_dA8dhpLrmhtIxGhBHZVRw8PbWgYUnnY,11400
|
|
34
|
+
pygeodesy/geodesicw.py,sha256=PwUO5jCGExhMt6cKkQwVnPTHMMVadkTrd6pV4UWZYNY,27064
|
|
35
|
+
pygeodesy/geodsolve.py,sha256=gRwdmjYe2oslt2z2vBnMlh_FURqGm9ai7t4XPrnjCxQ,22019
|
|
36
|
+
pygeodesy/geohash.py,sha256=plBNMHbiQa9E8RPq7rgFYoJAl14mhkgnDucGoXD5YHg,32373
|
|
37
|
+
pygeodesy/geoids.py,sha256=25HrOgsCvFnXTjh3ghc1Y1FQKjerPpo_OLlQBNayK_0,80887
|
|
38
|
+
pygeodesy/hausdorff.py,sha256=3mC7QbRZawpqFaguTieHMCaDzVt22PNhJ0s9ZPgQA1k,34712
|
|
39
|
+
pygeodesy/heights.py,sha256=ZqRy20ZUVatumPWWS-j7Vvq3BA7HaRWMOd6BvbMhHm8,43575
|
|
40
|
+
pygeodesy/internals.py,sha256=iTOhd3Lb96JuaeR9BFDv0ixGRktn7O_HpHrp5W_1LTY,19344
|
|
41
|
+
pygeodesy/interns.py,sha256=QoDo_S1qY8IJVqI0pH2jGESLEexEF480PuwWZnTVrRI,23600
|
|
42
|
+
pygeodesy/iters.py,sha256=ML14NjtDpfPRtDJQsUYUtJZ81HH4NPFrCjecxwkcIuM,20309
|
|
43
|
+
pygeodesy/karney.py,sha256=7d0VroQiobcTS5ccaWg99rGRaMUorqRJTaCBaSscKI4,35084
|
|
44
|
+
pygeodesy/ktm.py,sha256=itQElJegrfhpAuMujAWFTcyuMSeKIgSyw5qkkHFs7vE,27519
|
|
45
|
+
pygeodesy/latlonBase.py,sha256=DglIfu916vtMV8-wEUs4GrXmk698-j3dkSud8FOBB6o,77762
|
|
46
|
+
pygeodesy/lazily.py,sha256=FjvgzWyXiM9gJNzTCVWi_RxonR0OrBJOQiFFl0n1Cx4,45478
|
|
47
|
+
pygeodesy/lcc.py,sha256=6vGht5JCN_BYYzbU2YCK6jz3PFcVymvY-RK2Uflt7ZE,25745
|
|
48
|
+
pygeodesy/ltp.py,sha256=QcDoeOXBQLto2vXTWhKUFKre7bfGN4lZLcgLsZLKwMY,49258
|
|
49
|
+
pygeodesy/ltpTuples.py,sha256=bZjcmj4Ug42d2gjofhfzr2Min_A8M62vZOOSINY1K9s,55771
|
|
50
|
+
pygeodesy/mgrs.py,sha256=zddMOnUIs8VSk0c3muTaljTl7OViCgX6JB28gWPdmVM,29029
|
|
51
|
+
pygeodesy/named.py,sha256=SOlbmB6Ned9TacOSTwchi8hcOmvCNAy6A2M_DMhDusM,51204
|
|
52
|
+
pygeodesy/namedTuples.py,sha256=N8fyc6OMdXNHgOk_tK2zhuWwBq6oB-QcAY-PG9xIgWk,27535
|
|
53
|
+
pygeodesy/nvectorBase.py,sha256=Z6tA3XthUu990UOUv0o8l5gjnmE7e2Cqkob69spoXYE,28831
|
|
54
|
+
pygeodesy/osgr.py,sha256=s_-21bYhXUv37thzgIQjGmMmMdT46RlecOixHRufW4o,31044
|
|
55
|
+
pygeodesy/points.py,sha256=9VfKDo9rt935WW61k4PpXSKzSx02demxhLVpf9DRcNk,64412
|
|
56
|
+
pygeodesy/props.py,sha256=o6x5XDCtq3nW17dZtQnNsqlc6FVpf2xjy6JKbdZsbBw,21493
|
|
57
|
+
pygeodesy/resections.py,sha256=nkfBxYrsEdyq2JqAbPrRWKplJBzFkIXLvEZGB4gPu_A,43550
|
|
58
|
+
pygeodesy/simplify.py,sha256=FT3AzXiFjFfvwJ-X2q8iA9cQOUVdBT1vD_BIskM3gK8,25223
|
|
59
|
+
pygeodesy/solveBase.py,sha256=W7qF_dW24Dd9aS2wh0nD9Lj8BgOSImsACxR1-iNRuyQ,16709
|
|
60
|
+
pygeodesy/sphericalBase.py,sha256=sH2WwmY_RL0STyr1OhtCDKvGhO0Ks7o3V-MHLddpiHQ,31944
|
|
61
|
+
pygeodesy/sphericalNvector.py,sha256=TBs_nid_DTcox7bBegh_Djv4zZRGRY4mH6dd1xIHGms,56963
|
|
62
|
+
pygeodesy/sphericalTrigonometry.py,sha256=p9sDwyHH441pdPktUE6zrRtGQpwNO8F4ey07QtUW7z0,64209
|
|
63
|
+
pygeodesy/streprs.py,sha256=AZzil7Encfb1E7NG7tNHHivuayKQ-LZJJTMVumUhsEQ,23993
|
|
64
|
+
pygeodesy/trf.py,sha256=r5d_fFHQiPH8HPnBdzLhCju2rKNRCEDZ8UwIBWujR2E,118904
|
|
65
|
+
pygeodesy/triaxials.py,sha256=5WKymGpixPjsgol4ifSl5pH-f7bTfZsMrmcYFuZBtwY,62040
|
|
66
|
+
pygeodesy/units.py,sha256=DIllydnoz4rfw3ST91D_6-K_QGFiCqNcYvf6B_mUJMs,38827
|
|
67
|
+
pygeodesy/unitsBase.py,sha256=FA4DuXUb88YYsDS3aIkd7BGvj70JATMeuBV_efshUx0,13544
|
|
68
|
+
pygeodesy/ups.py,sha256=Rw4cO7Q20w-y7DKEHiuX7BkansDZnm8uvQRApFJ-USo,23287
|
|
69
|
+
pygeodesy/utily.py,sha256=AOEHXi7H5QsTmgxcp0qOGC2qvIdqS01Mfu0Y8m3Bp6w,36141
|
|
70
|
+
pygeodesy/utm.py,sha256=p1MH5qm5Fi9nWEfY7ww-y1O4FcuQuuR08mNlHp7MLKk,31135
|
|
71
|
+
pygeodesy/utmups.py,sha256=u2hlWSnmZKwR-ApgKw16R9p75sW_yaqQAmbcBUE8Zfg,13007
|
|
72
|
+
pygeodesy/utmupsBase.py,sha256=x9LHKi44aYB473ukVvxt1rRJ68MOAQGWiiOhzRskiio,18974
|
|
73
|
+
pygeodesy/vector2d.py,sha256=zJq5PB777_mFJpKD-rt_T0Vm4SNbVwF7pc3KxX8uCT8,34994
|
|
74
|
+
pygeodesy/vector3d.py,sha256=danoz3QA90EJjqr2dmLPCYP5UG0m_pgiyNuNBW0aNJ8,45065
|
|
75
|
+
pygeodesy/vector3dBase.py,sha256=GhEq2oFfLoF57cDy6lvsB0b-dgTneMcrtDSyIiGr4mY,35630
|
|
76
|
+
pygeodesy/webmercator.py,sha256=1IXiAHBXTm5kMCp5gEI67oBJeRXD7BiPVI7bcRRX1U4,14918
|
|
77
|
+
pygeodesy/wgrs.py,sha256=AKUrYRCC67lOeJ6vUDAiGb_mY6R3ZwflXpOaP3wauOg,14774
|
|
78
|
+
pygeodesy/auxilats/_CX_4.py,sha256=U41njj8Pu8cHMGuoUUVA20QIvRJAq-VGCnyoKJl0Ylo,8662
|
|
79
|
+
pygeodesy/auxilats/_CX_6.py,sha256=x4hrHxunjqqkEsZbVW1dyn3R5mR8EWYOuX77RzDEyh4,14856
|
|
80
|
+
pygeodesy/auxilats/_CX_8.py,sha256=t-OO48t4cCOsOgMi1FoyPw2DQqybVZFsgQMqAYP-jKY,25304
|
|
81
|
+
pygeodesy/auxilats/__init__.py,sha256=xLIJ2uAhO-p_NDywrEi0tJxJ7r7jw3yG5B2CfSjNKJw,2881
|
|
82
|
+
pygeodesy/auxilats/__main__.py,sha256=BsNxHMo-VqXL0-kFTrpMUz5SFUO_K4udQLemXgvTxLE,2896
|
|
83
|
+
pygeodesy/auxilats/auxAngle.py,sha256=ybW0FMGaf69V5FYgVoqZENU-5b43FsmCPSYXcOu2fT8,16740
|
|
84
|
+
pygeodesy/auxilats/auxDLat.py,sha256=U3BHF6AkW5--nrwH9whL5wZVIZLH_keRLfUz6c6KBx4,10950
|
|
85
|
+
pygeodesy/auxilats/auxDST.py,sha256=bdNEh3TdABWH7qW6ngZx5SnzDM3B5rtPLvYhvCnFsKc,10497
|
|
86
|
+
pygeodesy/auxilats/auxLat.py,sha256=GUpK5_rcL8IHjC209dhIibYYBJudFU0Yk7JD-KUApbc,32529
|
|
87
|
+
pygeodesy/auxilats/auxily.py,sha256=ZiCFedYcr32O6TWQ_dcnwMrc9TgogyuhNSbR77WMDpg,8240
|
|
88
|
+
pygeodesy/deprecated/__init__.py,sha256=ZRGqgwSdvtKSYZdw09-LPuGa_i0jMHWKIwrPG3r1hHs,2815
|
|
89
|
+
pygeodesy/deprecated/bases.py,sha256=nxUtxscAg5cb7HEzTSmPJFafLc9Ad2SL5ovwkYaU5z8,1655
|
|
90
|
+
pygeodesy/deprecated/classes.py,sha256=PXgss-2kEu3bzaxvSeVZJGdcRqsdi_6_aRqsESyUQKQ,11662
|
|
91
|
+
pygeodesy/deprecated/consterns.py,sha256=W-rQiw443_zCFEUzjCGykGND-i5P_ghEIyJUSGg7-Nc,1908
|
|
92
|
+
pygeodesy/deprecated/datum.py,sha256=KfuMA64LYGMj1voW2uai2RGcugtWdpvlOL6UHJvpTeQ,1875
|
|
93
|
+
pygeodesy/deprecated/functions.py,sha256=-Ckor43KBiCDa7rbwY5kHvrs5xwuixTlw1TZpNSBgrU,13647
|
|
94
|
+
pygeodesy/deprecated/nvector.py,sha256=_dZf84RdmPr7e7i8Yi683R-8Mqn0ipTqIsDhNl29hGo,2117
|
|
95
|
+
pygeodesy/deprecated/rhumbBase.py,sha256=d7YKW--dnRpobB2CSvhFsntWF0B5-HYJqID2pv5lD5k,1375
|
|
96
|
+
pygeodesy/deprecated/rhumbaux.py,sha256=n29xazYMbVG4MJkLjAGu8B88bbcFF5xnvuj9xSxjfIk,1428
|
|
97
|
+
pygeodesy/deprecated/rhumbsolve.py,sha256=QprjRfo5T1_C4ovaa1cffAcmNczzkhGIfmybAup9a9w,1431
|
|
98
|
+
pygeodesy/deprecated/rhumbx.py,sha256=OS0p_meaoVrpZe5UhK6qZljjlrGpL0pCHWw8gofw7ks,1425
|
|
99
|
+
pygeodesy/geodesicx/_C4_24.py,sha256=kS4XMR9m7iBs01V8K0Oz9qTYmjN-icIQGpc_8iwVhig,90750
|
|
100
|
+
pygeodesy/geodesicx/_C4_27.py,sha256=bPbj2Ckrn9WJglm3SNTXyMkULNwANM0tCQ-LKxP1L58,134258
|
|
101
|
+
pygeodesy/geodesicx/_C4_30.py,sha256=QZO8p971ztJwDGLOaJYgIhklztz9GlqbtS-xRP_E7o4,201964
|
|
102
|
+
pygeodesy/geodesicx/__init__.py,sha256=b5pOZbSBjN9WVP7fOMSBzTIbx1H0omHMXzOgf6rAgvs,2446
|
|
103
|
+
pygeodesy/geodesicx/__main__.py,sha256=FVlmJft__Utk30zYwCbvrJpmAFi_jmyigzbm4An3Wws,3167
|
|
104
|
+
pygeodesy/geodesicx/gx.py,sha256=reyK3UrooZmXTrwPcU36kO0R_ffZ5cMjPZoQ1qWHaO0,61729
|
|
105
|
+
pygeodesy/geodesicx/gxarea.py,sha256=-Kwe6spe2MSQbeLFDd6UN2NOi4JOjYhHAEzonOU3u4A,19409
|
|
106
|
+
pygeodesy/geodesicx/gxbases.py,sha256=nSQpDPuRQFkkzvjOaalBTHOQCYT1fhSOb5uy-5NvvSA,5215
|
|
107
|
+
pygeodesy/geodesicx/gxline.py,sha256=GP7BXfpsePLZy0SLLiIO6ytWKFpBLuPsOaL2Z_-45iU,27373
|
|
108
|
+
pygeodesy/rhumb/__init__.py,sha256=70qKVuNKkddfqMSxZ9c0VCZM1w0_Ka_nBWwtpfxxh2o,2207
|
|
109
|
+
pygeodesy/rhumb/aux_.py,sha256=W4HkgoHAQz_aWaysfsmOA5010nCGvBfUs2Q-bymnHYU,16660
|
|
110
|
+
pygeodesy/rhumb/bases.py,sha256=ZK-t5BHf4LyGypSfH-yaIHol0N9uWioMzUYzp0GI03M,53882
|
|
111
|
+
pygeodesy/rhumb/ekx.py,sha256=lF3tZ-ZY9fPJV8y1kgHW-7EOZCyb3gJr-kR-jj5Fbf8,23871
|
|
112
|
+
pygeodesy/rhumb/solve.py,sha256=nih_QmAjOQNb5PNNXJGWkAZuGrXDTXtlxRKPZj8ZA7c,27795
|
|
113
|
+
PyGeodesy-24.5.24.dist-info/METADATA,sha256=b7AJM6eBNwRiyOCN0orAkHqGorz9KpaFu18NxBuTs48,19364
|
|
114
|
+
PyGeodesy-24.5.24.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
|
115
|
+
PyGeodesy-24.5.24.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
|
|
116
|
+
PyGeodesy-24.5.24.dist-info/RECORD,,
|
pygeodesy/__init__.py
CHANGED
|
@@ -349,14 +349,14 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
|
|
|
349
349
|
@var version: Normalized C{PyGeodesy} version (C{str}).
|
|
350
350
|
'''
|
|
351
351
|
|
|
352
|
-
import os.path as
|
|
352
|
+
import os.path as _os_path
|
|
353
353
|
import sys as _sys
|
|
354
354
|
|
|
355
355
|
_init__all__ = True
|
|
356
356
|
# <https://PyInstaller.ReadTheDocs.io/en/stable/runtime-information.html>
|
|
357
357
|
_isfrozen = getattr(_sys, 'frozen', False)
|
|
358
|
-
pygeodesy_abspath =
|
|
359
|
-
_pygeodesy_ = __package__ or
|
|
358
|
+
pygeodesy_abspath = _os_path.dirname(_os_path.abspath(__file__)) # _sys._MEIPASS + '/pygeodesy'
|
|
359
|
+
_pygeodesy_ = __package__ or _os_path.basename(pygeodesy_abspath)
|
|
360
360
|
|
|
361
361
|
if _isfrozen: # avoid lazy import
|
|
362
362
|
_lazy_import2 = None
|
|
@@ -420,6 +420,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
420
420
|
import pygeodesy.geoids as geoids # PYCHOK exported
|
|
421
421
|
import pygeodesy.hausdorff as hausdorff # PYCHOK exported
|
|
422
422
|
import pygeodesy.heights as heights # PYCHOK exported
|
|
423
|
+
import pygeodesy.internals as internals # PYCHOK exported
|
|
423
424
|
import pygeodesy.interns as interns # PYCHOK exported
|
|
424
425
|
import pygeodesy.iters as iters # PYCHOK exported
|
|
425
426
|
import pygeodesy.karney as karney # PYCHOK exported
|
|
@@ -504,6 +505,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
504
505
|
from pygeodesy.geoids import * # PYCHOK __all__
|
|
505
506
|
from pygeodesy.hausdorff import * # PYCHOK __all__
|
|
506
507
|
from pygeodesy.heights import * # PYCHOK __all__
|
|
508
|
+
from pygeodesy.internals import * # PYCHOK __all__
|
|
507
509
|
from pygeodesy.interns import * # PYCHOK __all__
|
|
508
510
|
from pygeodesy.iters import * # PYCHOK __all__
|
|
509
511
|
from pygeodesy.karney import * # PYCHOK __all__
|
|
@@ -544,8 +546,9 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
544
546
|
from pygeodesy.wgrs import Georef, WGRSError # PYCHOK lazily
|
|
545
547
|
|
|
546
548
|
def _all(globalocals):
|
|
547
|
-
from pygeodesy.
|
|
548
|
-
|
|
549
|
+
from pygeodesy.internals import _headof, _DOT_ # PYCHOK expected
|
|
550
|
+
from pygeodesy.interns import NN as _NN, _attribute_, _COMMASPACE_, \
|
|
551
|
+
_module_, _s_, _UNDER_ # PYCHOK expected
|
|
549
552
|
from pygeodesy.streprs import Fmt as _Fmt # PYCHOK expected
|
|
550
553
|
# collect all public module and attribute names and check
|
|
551
554
|
# that modules are imported from this package, 'pygeodesy'
|
|
@@ -570,10 +573,10 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
570
573
|
raise ImportError('missing %s%s: %s' % (_attribute_, s, t))
|
|
571
574
|
ns.extend(attrs)
|
|
572
575
|
# XXX if ps: # check that mod is a _pygeodesy_ module
|
|
573
|
-
# XXX m = globalocals[mod] # assert(m
|
|
574
|
-
# XXX f = getattr(m,
|
|
575
|
-
# XXX d =
|
|
576
|
-
# XXX p = getattr(m,
|
|
576
|
+
# XXX m = globalocals[mod] # assert(_dunder_nameof(m) == mod)
|
|
577
|
+
# XXX f = getattr(m, _dunder_file_, _NN)
|
|
578
|
+
# XXX d = _os_path.dirname(_os_path.abspath(f)) if f else pygeodesy_abspath
|
|
579
|
+
# XXX p = getattr(m, _dunder_package_, _NN) or _pygeodesy_
|
|
577
580
|
# XXX if p not in ps or d != pygeodesy_abspath:
|
|
578
581
|
# XXX t = '%s from %r' % (_DOT_(p, mod), f or p)
|
|
579
582
|
# XXX raise ImportError('foreign %s: %s' % (_module_, t))
|
|
@@ -584,12 +587,13 @@ else:
|
|
|
584
587
|
__all__ = ()
|
|
585
588
|
_init__all__ = False
|
|
586
589
|
|
|
587
|
-
from pygeodesy.
|
|
588
|
-
|
|
590
|
+
from pygeodesy.internals import _version2, _DOT_ # PYCHOK import
|
|
591
|
+
# from pygeodesy.interns import _DOT_ # from .internals
|
|
592
|
+
__version__ = '24.05.24'
|
|
589
593
|
# see setup.py for similar logic
|
|
590
594
|
version = _DOT_(*_version2(__version__, n=3))
|
|
591
595
|
|
|
592
|
-
del _DOT_, _lazy_import2,
|
|
596
|
+
del _DOT_, _lazy_import2, _os_path, _sys, _version2
|
|
593
597
|
|
|
594
598
|
# **) MIT License
|
|
595
599
|
#
|
pygeodesy/__main__.py
CHANGED
|
@@ -5,7 +5,7 @@ u'''Print L{pygeodesy} version, etc. using C{python -m pygeodesy}.
|
|
|
5
5
|
'''
|
|
6
6
|
|
|
7
7
|
__all__ = ()
|
|
8
|
-
__version__ = '
|
|
8
|
+
__version__ = '24.05.15'
|
|
9
9
|
|
|
10
10
|
from os.path import basename, dirname
|
|
11
11
|
|
|
@@ -13,13 +13,13 @@ from os.path import basename, dirname
|
|
|
13
13
|
def _main(): # PYCHOK no cover
|
|
14
14
|
|
|
15
15
|
try:
|
|
16
|
-
from pygeodesy import _isfrozen, pygeodesy_abspath, version
|
|
16
|
+
from pygeodesy import _isfrozen, printf, pygeodesy_abspath, version
|
|
17
17
|
from pygeodesy.basics import _xgeographiclib, _xnumpy, _xscipy
|
|
18
18
|
from pygeodesy.constants import _floats
|
|
19
|
+
from pygeodesy.internals import _name_version, _Pythonarchine, _usage
|
|
19
20
|
from pygeodesy.interns import _COMMASPACE_, _DEPRECATED_, _pygeodesy_abspath_, \
|
|
20
|
-
|
|
21
|
-
from pygeodesy.lazily import
|
|
22
|
-
isLazy, printf
|
|
21
|
+
_version_
|
|
22
|
+
from pygeodesy.lazily import isLazy, _dunder_all_, _all_deprecates, _all_imports
|
|
23
23
|
from pygeodesy.streprs import Fmt
|
|
24
24
|
|
|
25
25
|
def _p(name_value):
|
|
@@ -30,7 +30,7 @@ def _main(): # PYCHOK no cover
|
|
|
30
30
|
('isLazy', isLazy),
|
|
31
31
|
('_isfrozen', _isfrozen),
|
|
32
32
|
('_floats', len(_floats)),
|
|
33
|
-
(
|
|
33
|
+
(_dunder_all_, len(_all_imports())),
|
|
34
34
|
(_DEPRECATED_, len(_all_deprecates())))]
|
|
35
35
|
|
|
36
36
|
def _nv(_xpkg, v):
|
|
@@ -39,9 +39,9 @@ def _main(): # PYCHOK no cover
|
|
|
39
39
|
except ImportError:
|
|
40
40
|
pkg = None
|
|
41
41
|
if pkg is not None:
|
|
42
|
-
v.append(
|
|
42
|
+
v.append(_name_version(pkg))
|
|
43
43
|
|
|
44
|
-
v =
|
|
44
|
+
v = _Pythonarchine()
|
|
45
45
|
_nv(_xgeographiclib, v)
|
|
46
46
|
_nv(_xnumpy, v)
|
|
47
47
|
_nv(_xscipy, v)
|
|
@@ -50,8 +50,7 @@ def _main(): # PYCHOK no cover
|
|
|
50
50
|
printf('%s%s (%s)', x, _COMMASPACE_.join(p), _COMMASPACE_.join(v))
|
|
51
51
|
|
|
52
52
|
except ImportError:
|
|
53
|
-
from pygeodesy.
|
|
54
|
-
from pygeodesy.lazily import printf
|
|
53
|
+
from pygeodesy.internals import printf, _usage
|
|
55
54
|
printf(_usage(__file__))
|
|
56
55
|
|
|
57
56
|
|
pygeodesy/albers.py
CHANGED
|
@@ -24,11 +24,11 @@ from pygeodesy.errors import _ValueError, _xkwds
|
|
|
24
24
|
from pygeodesy.fmath import hypot, hypot1, sqrt3
|
|
25
25
|
from pygeodesy.fsums import Fsum, _Fsum1f_, fsum1f_
|
|
26
26
|
from pygeodesy.interns import NN, _COMMASPACE_, _datum_, _gamma_, _k0_, \
|
|
27
|
-
_lat_, _lat1_, _lat2_, _lon_,
|
|
28
|
-
|
|
27
|
+
_lat_, _lat1_, _lat2_, _lon_, _negative_, \
|
|
28
|
+
_scale_, _SPACE_, _x_, _y_
|
|
29
29
|
from pygeodesy.karney import _diff182, _norm180, _signBit
|
|
30
30
|
from pygeodesy.lazily import _ALL_DOCS, _ALL_LAZY
|
|
31
|
-
from pygeodesy.named import _NamedBase, _NamedTuple, _Pass
|
|
31
|
+
from pygeodesy.named import _name2__, _NamedBase, _NamedTuple, _Pass
|
|
32
32
|
from pygeodesy.props import deprecated_Property_RO, Property_RO, _update_all
|
|
33
33
|
from pygeodesy.streprs import Fmt, strs, unstr
|
|
34
34
|
from pygeodesy.units import Bearing, Float_, Lat, Lat_, Lon, Meter, Scalar_
|
|
@@ -38,7 +38,7 @@ from pygeodesy.utily import atan1, atan1d, degrees360, sincos2, sincos2d, \
|
|
|
38
38
|
from math import atan2, atanh, degrees, fabs, radians, sqrt
|
|
39
39
|
|
|
40
40
|
__all__ = _ALL_LAZY.albers
|
|
41
|
-
__version__ = '24.
|
|
41
|
+
__version__ = '24.05.21'
|
|
42
42
|
|
|
43
43
|
_k1_ = 'k1'
|
|
44
44
|
_NUMIT = 8 # XXX 4?
|
|
@@ -111,12 +111,12 @@ class _AlbersBase(_NamedBase):
|
|
|
111
111
|
# _sxi0 = None # (INTERNAL) sin(xi)
|
|
112
112
|
# _txi0 = None # (INTERNAL) tan(xi)
|
|
113
113
|
|
|
114
|
-
def __init__(self, sa1, ca1, sa2, ca2, k, datum, name):
|
|
114
|
+
def __init__(self, sa1, ca1, sa2, ca2, k, datum, **name):
|
|
115
115
|
'''(INTERNAL) New C{AlbersEqualArea...} instance.
|
|
116
116
|
'''
|
|
117
117
|
qZ = self._qZ
|
|
118
118
|
if datum not in (None, self._datum):
|
|
119
|
-
self._datum = _ellipsoidal_datum(datum, name
|
|
119
|
+
self._datum = _ellipsoidal_datum(datum, **name)
|
|
120
120
|
qZ = _qZx(self)
|
|
121
121
|
elif qZ is None:
|
|
122
122
|
qZ = _qZx(_AlbersBase)
|
|
@@ -226,13 +226,13 @@ class _AlbersBase(_NamedBase):
|
|
|
226
226
|
|
|
227
227
|
f = flattening
|
|
228
228
|
|
|
229
|
-
def forward(self, lat, lon, lon0=0, name
|
|
229
|
+
def forward(self, lat, lon, lon0=0, **name):
|
|
230
230
|
'''Convert a geodetic location to east- and northing.
|
|
231
231
|
|
|
232
232
|
@arg lat: Latitude of the location (C{degrees}).
|
|
233
233
|
@arg lon: Longitude of the location (C{degrees}).
|
|
234
234
|
@kwarg lon0: Optional central meridian longitude (C{degrees}).
|
|
235
|
-
@kwarg name: Optional name for the location (C{str}).
|
|
235
|
+
@kwarg name: Optional C{B{name}=NN} for the location (C{str}).
|
|
236
236
|
|
|
237
237
|
@return: An L{Albers7Tuple}C{(x, y, lat, lon, gamma, scale, datum)},
|
|
238
238
|
with C{lon} offset by B{C{lon0}} and reduced C{[-180,180]}.
|
|
@@ -277,7 +277,7 @@ class _AlbersBase(_NamedBase):
|
|
|
277
277
|
if t:
|
|
278
278
|
k0 = self._azik(t, ta)
|
|
279
279
|
return Albers7Tuple(x, y, lat, lon, g, k0, self.datum,
|
|
280
|
-
|
|
280
|
+
name=self._name__(name))
|
|
281
281
|
|
|
282
282
|
@Property_RO
|
|
283
283
|
def ispolar(self):
|
|
@@ -343,16 +343,16 @@ class _AlbersBase(_NamedBase):
|
|
|
343
343
|
_update_all(self)
|
|
344
344
|
self._k0s(k0)
|
|
345
345
|
|
|
346
|
-
def reverse(self, x, y, lon0=0,
|
|
346
|
+
def reverse(self, x, y, lon0=0, LatLon=None, **name_LatLon_kwds):
|
|
347
347
|
'''Convert an east- and northing location to geodetic lat- and longitude.
|
|
348
348
|
|
|
349
349
|
@arg x: Easting of the location (C{meter}).
|
|
350
350
|
@arg y: Northing of the location (C{meter}).
|
|
351
351
|
@kwarg lon0: Optional central meridian longitude (C{degrees}).
|
|
352
|
-
@kwarg name: Optional name for the location (C{str}).
|
|
353
352
|
@kwarg LatLon: Class to use (C{LatLon}) or C{None}.
|
|
354
|
-
@kwarg
|
|
355
|
-
|
|
353
|
+
@kwarg name_LatLon_kwds: Optional C{B{name}=NN} for the location
|
|
354
|
+
and optional, additional B{C{LatLon}} keyword
|
|
355
|
+
arguments, ignored if C{B{LatLon} is None}.
|
|
356
356
|
|
|
357
357
|
@return: The geodetic (C{LatLon}) or if B{C{LatLon}} is C{None} an
|
|
358
358
|
L{Albers7Tuple}C{(x, y, lat, lon, gamma, scale, datum)}.
|
|
@@ -397,7 +397,7 @@ class _AlbersBase(_NamedBase):
|
|
|
397
397
|
lon += _norm180(lon0)
|
|
398
398
|
lon = _norm180(lon)
|
|
399
399
|
|
|
400
|
-
n =
|
|
400
|
+
n, LatLon_kwds = _name2__(name_LatLon_kwds, _or_nameof=self)
|
|
401
401
|
if LatLon is None:
|
|
402
402
|
g = degrees360(s * th)
|
|
403
403
|
if den:
|
|
@@ -540,11 +540,11 @@ class _AlbersBase(_NamedBase):
|
|
|
540
540
|
(self.lat1,))
|
|
541
541
|
t = strs(t, prec=prec)
|
|
542
542
|
if k:
|
|
543
|
-
t =
|
|
543
|
+
t = t[:-1] + (Fmt.EQUAL(k, t[-1]),)
|
|
544
544
|
if self.datum != _WGS84:
|
|
545
|
-
t +=
|
|
545
|
+
t += Fmt.EQUAL(datum=self.datum),
|
|
546
546
|
if self.name:
|
|
547
|
-
t +=
|
|
547
|
+
t += Fmt.EQUAL(name=repr(self.name)),
|
|
548
548
|
return t if sep is None else sep.join(t)
|
|
549
549
|
|
|
550
550
|
def _txif(self, ta): # in .Ellipsoid.auxAuthalic
|
|
@@ -575,20 +575,20 @@ class AlbersEqualArea(_AlbersBase):
|
|
|
575
575
|
'''
|
|
576
576
|
_k = _k0_
|
|
577
577
|
|
|
578
|
-
def __init__(self, lat, k0=1, datum=_WGS84, name
|
|
578
|
+
def __init__(self, lat, k0=1, datum=_WGS84, **name):
|
|
579
579
|
'''New L{AlbersEqualArea} projection.
|
|
580
580
|
|
|
581
581
|
@arg lat: Standard parallel (C{degrees}).
|
|
582
582
|
@kwarg k0: Azimuthal scale on the standard parallel (C{scalar}).
|
|
583
583
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
584
584
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
585
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
585
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
586
586
|
|
|
587
587
|
@raise AlbersError: Invalid B{C{lat}}, B{C{k0}} or no convergence.
|
|
588
588
|
'''
|
|
589
589
|
self._lat1 = self._lat2 = lat = _Lat(lat1=lat)
|
|
590
|
-
args = tuple(sincos2d(lat)) * 2 + (_Ks(k0=k0), datum
|
|
591
|
-
_AlbersBase.__init__(self, *args)
|
|
590
|
+
args = tuple(sincos2d(lat)) * 2 + (_Ks(k0=k0), datum)
|
|
591
|
+
_AlbersBase.__init__(self, *args, **name)
|
|
592
592
|
|
|
593
593
|
|
|
594
594
|
class AlbersEqualArea2(_AlbersBase):
|
|
@@ -598,7 +598,7 @@ class AlbersEqualArea2(_AlbersBase):
|
|
|
598
598
|
'''
|
|
599
599
|
_k = _k1_
|
|
600
600
|
|
|
601
|
-
def __init__(self, lat1, lat2, k1=1, datum=_WGS84, name
|
|
601
|
+
def __init__(self, lat1, lat2, k1=1, datum=_WGS84, **name):
|
|
602
602
|
'''New L{AlbersEqualArea2} projection.
|
|
603
603
|
|
|
604
604
|
@arg lat1: First standard parallel (C{degrees}).
|
|
@@ -606,14 +606,14 @@ class AlbersEqualArea2(_AlbersBase):
|
|
|
606
606
|
@kwarg k1: Azimuthal scale on the standard parallels (C{scalar}).
|
|
607
607
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
608
608
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
609
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
609
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
610
610
|
|
|
611
611
|
@raise AlbersError: Invalid B{C{lat1}}m B{C{lat2}}, B{C{k1}}
|
|
612
612
|
or no convergence.
|
|
613
613
|
'''
|
|
614
614
|
self._lat1, self._lat2 = lats = _Lat(lat1=lat1), _Lat(lat2=lat2)
|
|
615
|
-
args = tuple(sincos2d_(*lats)) + (_Ks(k1=k1), datum
|
|
616
|
-
_AlbersBase.__init__(self, *args)
|
|
615
|
+
args = tuple(sincos2d_(*lats)) + (_Ks(k1=k1), datum)
|
|
616
|
+
_AlbersBase.__init__(self, *args, **name)
|
|
617
617
|
|
|
618
618
|
|
|
619
619
|
class AlbersEqualArea4(_AlbersBase):
|
|
@@ -624,7 +624,7 @@ class AlbersEqualArea4(_AlbersBase):
|
|
|
624
624
|
'''
|
|
625
625
|
_k = _k1_
|
|
626
626
|
|
|
627
|
-
def __init__(self, slat1, clat1, slat2, clat2, k1=1, datum=_WGS84, name
|
|
627
|
+
def __init__(self, slat1, clat1, slat2, clat2, k1=1, datum=_WGS84, **name):
|
|
628
628
|
'''New L{AlbersEqualArea4} projection.
|
|
629
629
|
|
|
630
630
|
@arg slat1: Sine of first standard parallel (C{scalar}).
|
|
@@ -634,20 +634,20 @@ class AlbersEqualArea4(_AlbersBase):
|
|
|
634
634
|
@kwarg k1: Azimuthal scale on the standard parallels (C{scalar}).
|
|
635
635
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
636
636
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
637
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
637
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
638
638
|
|
|
639
639
|
@raise AlbersError: Negative B{C{clat1}} or B{C{clat2}}, B{C{slat1}}
|
|
640
640
|
and B{C{slat2}} have opposite signs (hemispheres),
|
|
641
641
|
invalid B{C{k1}} or no convergence.
|
|
642
642
|
'''
|
|
643
|
-
def _Lat_s_c3(
|
|
644
|
-
r = Float_(hypot(s, c), name=
|
|
645
|
-
L = _Lat(atan1d(s, c), name=
|
|
643
|
+
def _Lat_s_c3(n, s, c):
|
|
644
|
+
r = Float_(hypot(s, c), name=n, Error=AlbersError)
|
|
645
|
+
L = _Lat( atan1d(s, c), name=n)
|
|
646
646
|
return L, (s / r), (c / r)
|
|
647
647
|
|
|
648
648
|
self._lat1, sa1, ca1 = _Lat_s_c3(_lat1_, slat1, clat1)
|
|
649
649
|
self._lat2, sa2, ca2 = _Lat_s_c3(_lat2_, slat2, clat2)
|
|
650
|
-
_AlbersBase.__init__(self, sa1, ca1, sa2, ca2, _Ks(k1=k1), datum, name)
|
|
650
|
+
_AlbersBase.__init__(self, sa1, ca1, sa2, ca2, _Ks(k1=k1), datum, **name)
|
|
651
651
|
|
|
652
652
|
|
|
653
653
|
class AlbersEqualAreaCylindrical(_AlbersBase):
|
|
@@ -656,16 +656,16 @@ class AlbersEqualAreaCylindrical(_AlbersBase):
|
|
|
656
656
|
'''
|
|
657
657
|
_lat1 = _lat2 = _Lat(lat1=_0_0)
|
|
658
658
|
|
|
659
|
-
def __init__(self, lat=_0_0, datum=_WGS84, name
|
|
659
|
+
def __init__(self, lat=_0_0, datum=_WGS84, **name):
|
|
660
660
|
'''New L{AlbersEqualAreaCylindrical} projection.
|
|
661
661
|
|
|
662
662
|
@kwarg lat: Standard parallel (C{0 degrees} I{fixed}).
|
|
663
663
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
664
664
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
665
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
665
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
666
666
|
'''
|
|
667
667
|
_xlat(lat, _0_0, AlbersEqualAreaCylindrical)
|
|
668
|
-
_AlbersBase.__init__(self, _0_0, _1_0, _0_0, _1_0, 1, datum, name)
|
|
668
|
+
_AlbersBase.__init__(self, _0_0, _1_0, _0_0, _1_0, 1, datum, **name)
|
|
669
669
|
|
|
670
670
|
|
|
671
671
|
class AlbersEqualAreaNorth(_AlbersBase):
|
|
@@ -674,16 +674,16 @@ class AlbersEqualAreaNorth(_AlbersBase):
|
|
|
674
674
|
'''
|
|
675
675
|
_lat1 = _lat2 = _Lat(lat1=_90_0)
|
|
676
676
|
|
|
677
|
-
def __init__(self, lat=_90_0, datum=_WGS84, name
|
|
677
|
+
def __init__(self, lat=_90_0, datum=_WGS84, **name):
|
|
678
678
|
'''New L{AlbersEqualAreaNorth} projection.
|
|
679
679
|
|
|
680
680
|
@kwarg lat: Standard parallel (C{90 degrees} I{fixed}).
|
|
681
681
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
682
682
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
683
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
683
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
684
684
|
'''
|
|
685
685
|
_xlat(lat, _90_0, AlbersEqualAreaNorth)
|
|
686
|
-
_AlbersBase.__init__(self, _1_0, _0_0, _1_0, _0_0, 1, datum, name)
|
|
686
|
+
_AlbersBase.__init__(self, _1_0, _0_0, _1_0, _0_0, 1, datum, **name)
|
|
687
687
|
|
|
688
688
|
|
|
689
689
|
class AlbersEqualAreaSouth(_AlbersBase):
|
|
@@ -692,16 +692,16 @@ class AlbersEqualAreaSouth(_AlbersBase):
|
|
|
692
692
|
'''
|
|
693
693
|
_lat1 = _lat2 = _Lat(lat1=_N_90_0)
|
|
694
694
|
|
|
695
|
-
def __init__(self, lat=_N_90_0, datum=_WGS84, name
|
|
695
|
+
def __init__(self, lat=_N_90_0, datum=_WGS84, **name):
|
|
696
696
|
'''New L{AlbersEqualAreaSouth} projection.
|
|
697
697
|
|
|
698
698
|
@kwarg lat: Standard parallel (C{-90 degrees} I{fixed}).
|
|
699
699
|
@kwarg datum: Optional datum or ellipsoid (L{Datum}, L{Ellipsoid},
|
|
700
700
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
701
|
-
@kwarg name: Optional name for the projection (C{str}).
|
|
701
|
+
@kwarg name: Optional C{B{name}=NN} for the projection (C{str}).
|
|
702
702
|
'''
|
|
703
703
|
_xlat(lat, _N_90_0, AlbersEqualAreaSouth)
|
|
704
|
-
_AlbersBase.__init__(self, _N_1_0, _0_0, _N_1_0, _0_0, 1, datum, name)
|
|
704
|
+
_AlbersBase.__init__(self, _N_1_0, _0_0, _N_1_0, _0_0, 1, datum, **name)
|
|
705
705
|
|
|
706
706
|
|
|
707
707
|
class Albers7Tuple(_NamedTuple):
|
|
@@ -831,8 +831,8 @@ def _xlat(lat, f, where):
|
|
|
831
831
|
'''(INTERNAL) check fixed C{lat}.
|
|
832
832
|
'''
|
|
833
833
|
if lat is not f and _Lat(lat=lat) != f:
|
|
834
|
-
t = unstr(where
|
|
835
|
-
raise AlbersError(t,
|
|
834
|
+
t = unstr(where, lat=lat)
|
|
835
|
+
raise AlbersError(t, txt_not_=f)
|
|
836
836
|
|
|
837
837
|
|
|
838
838
|
__all__ += _ALL_DOCS(_AlbersBase)
|
pygeodesy/auxilats/__init__.py
CHANGED
|
@@ -29,7 +29,7 @@ from pygeodesy.lazily import _ALL_OTHER
|
|
|
29
29
|
# no modules: auxAngle, auxDLat, auxDST, auxily, auxLat
|
|
30
30
|
__all__ = _ALL_OTHER(Aux, AuxAngle, AuxDLat, AuxDST, AuxLat,
|
|
31
31
|
AuxBeta, AuxChi, AuxMu, AuxPhi, AuxTheta, AuxXi)
|
|
32
|
-
__version__ = '
|
|
32
|
+
__version__ = '24.05.24'
|
|
33
33
|
|
|
34
34
|
# **) MIT License
|
|
35
35
|
#
|
pygeodesy/auxilats/__main__.py
CHANGED
|
@@ -5,7 +5,7 @@ u'''Print L{auxilats} version, etc. using C{python -m pygeodesy.auxilats}.
|
|
|
5
5
|
'''
|
|
6
6
|
|
|
7
7
|
__all__ = ()
|
|
8
|
-
__version__ = '
|
|
8
|
+
__version__ = '24.05.15'
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def _CXstats(): # PYCHOK no cover
|
|
@@ -23,12 +23,12 @@ def _CXstats(): # PYCHOK no cover
|
|
|
23
23
|
|
|
24
24
|
def _main(): # PYCHOK no cover
|
|
25
25
|
|
|
26
|
-
import os.path as
|
|
26
|
+
import os.path as _os_path
|
|
27
27
|
|
|
28
28
|
try:
|
|
29
29
|
from pygeodesy import auxilats, printf, pygeodesy_abspath
|
|
30
|
-
from pygeodesy.
|
|
31
|
-
|
|
30
|
+
from pygeodesy.internals import _name_version, _Pythonarchine, _usage
|
|
31
|
+
from pygeodesy.interns import _COMMASPACE_, _DOT_, _version_
|
|
32
32
|
from pygeodesy.streprs import Fmt
|
|
33
33
|
|
|
34
34
|
def _dot_attr(name, value):
|
|
@@ -37,18 +37,15 @@ def _main(): # PYCHOK no cover
|
|
|
37
37
|
s = tuple(sorted(_CXstats().items()))
|
|
38
38
|
p = [_dot_attr(*t) for t in (((_version_, auxilats.__version__),) + s)]
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
return _SPACE_(pkg.__name__, pkg.__version__)
|
|
42
|
-
|
|
43
|
-
v = _pythonarchine()
|
|
40
|
+
v = _Pythonarchine()
|
|
44
41
|
try:
|
|
45
42
|
import geographiclib
|
|
46
43
|
v.append(_name_version(geographiclib))
|
|
47
44
|
except ImportError:
|
|
48
45
|
pass
|
|
49
46
|
|
|
50
|
-
a =
|
|
51
|
-
x =
|
|
47
|
+
a = auxilats.__name__
|
|
48
|
+
x = _os_path.basename(pygeodesy_abspath)
|
|
52
49
|
if not a.startswith(x):
|
|
53
50
|
a = _DOT_(x, a)
|
|
54
51
|
printf('%s%s (%s)', a, _COMMASPACE_.join(p), _COMMASPACE_.join(v))
|