pygeodesy 24.3.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.
Files changed (115) hide show
  1. PyGeodesy-24.3.24.dist-info/METADATA +272 -0
  2. PyGeodesy-24.3.24.dist-info/RECORD +115 -0
  3. PyGeodesy-24.3.24.dist-info/WHEEL +6 -0
  4. PyGeodesy-24.3.24.dist-info/top_level.txt +1 -0
  5. pygeodesy/LICENSE +21 -0
  6. pygeodesy/__init__.py +615 -0
  7. pygeodesy/__main__.py +103 -0
  8. pygeodesy/albers.py +867 -0
  9. pygeodesy/auxilats/_CX_4.py +218 -0
  10. pygeodesy/auxilats/_CX_6.py +314 -0
  11. pygeodesy/auxilats/_CX_8.py +475 -0
  12. pygeodesy/auxilats/__init__.py +54 -0
  13. pygeodesy/auxilats/__main__.py +86 -0
  14. pygeodesy/auxilats/auxAngle.py +548 -0
  15. pygeodesy/auxilats/auxDLat.py +302 -0
  16. pygeodesy/auxilats/auxDST.py +296 -0
  17. pygeodesy/auxilats/auxLat.py +848 -0
  18. pygeodesy/auxilats/auxily.py +272 -0
  19. pygeodesy/azimuthal.py +1150 -0
  20. pygeodesy/basics.py +892 -0
  21. pygeodesy/booleans.py +2031 -0
  22. pygeodesy/cartesianBase.py +1062 -0
  23. pygeodesy/clipy.py +704 -0
  24. pygeodesy/constants.py +516 -0
  25. pygeodesy/css.py +660 -0
  26. pygeodesy/datums.py +752 -0
  27. pygeodesy/deprecated/__init__.py +61 -0
  28. pygeodesy/deprecated/bases.py +40 -0
  29. pygeodesy/deprecated/classes.py +262 -0
  30. pygeodesy/deprecated/consterns.py +54 -0
  31. pygeodesy/deprecated/datum.py +40 -0
  32. pygeodesy/deprecated/functions.py +375 -0
  33. pygeodesy/deprecated/nvector.py +48 -0
  34. pygeodesy/deprecated/rhumbBase.py +32 -0
  35. pygeodesy/deprecated/rhumbaux.py +33 -0
  36. pygeodesy/deprecated/rhumbsolve.py +33 -0
  37. pygeodesy/deprecated/rhumbx.py +33 -0
  38. pygeodesy/dms.py +986 -0
  39. pygeodesy/ecef.py +1348 -0
  40. pygeodesy/elevations.py +279 -0
  41. pygeodesy/ellipsoidalBase.py +1224 -0
  42. pygeodesy/ellipsoidalBaseDI.py +913 -0
  43. pygeodesy/ellipsoidalExact.py +343 -0
  44. pygeodesy/ellipsoidalGeodSolve.py +343 -0
  45. pygeodesy/ellipsoidalKarney.py +403 -0
  46. pygeodesy/ellipsoidalNvector.py +685 -0
  47. pygeodesy/ellipsoidalVincenty.py +590 -0
  48. pygeodesy/ellipsoids.py +2476 -0
  49. pygeodesy/elliptic.py +1198 -0
  50. pygeodesy/epsg.py +243 -0
  51. pygeodesy/errors.py +804 -0
  52. pygeodesy/etm.py +1190 -0
  53. pygeodesy/fmath.py +1013 -0
  54. pygeodesy/formy.py +1818 -0
  55. pygeodesy/frechet.py +865 -0
  56. pygeodesy/fstats.py +760 -0
  57. pygeodesy/fsums.py +1898 -0
  58. pygeodesy/gars.py +358 -0
  59. pygeodesy/geodesicw.py +581 -0
  60. pygeodesy/geodesicx/_C4_24.py +1699 -0
  61. pygeodesy/geodesicx/_C4_27.py +2395 -0
  62. pygeodesy/geodesicx/_C4_30.py +3301 -0
  63. pygeodesy/geodesicx/__init__.py +48 -0
  64. pygeodesy/geodesicx/__main__.py +91 -0
  65. pygeodesy/geodesicx/gx.py +1382 -0
  66. pygeodesy/geodesicx/gxarea.py +535 -0
  67. pygeodesy/geodesicx/gxbases.py +154 -0
  68. pygeodesy/geodesicx/gxline.py +669 -0
  69. pygeodesy/geodsolve.py +426 -0
  70. pygeodesy/geohash.py +914 -0
  71. pygeodesy/geoids.py +1884 -0
  72. pygeodesy/hausdorff.py +892 -0
  73. pygeodesy/heights.py +1155 -0
  74. pygeodesy/interns.py +687 -0
  75. pygeodesy/iters.py +545 -0
  76. pygeodesy/karney.py +919 -0
  77. pygeodesy/ktm.py +633 -0
  78. pygeodesy/latlonBase.py +1766 -0
  79. pygeodesy/lazily.py +960 -0
  80. pygeodesy/lcc.py +684 -0
  81. pygeodesy/ltp.py +1107 -0
  82. pygeodesy/ltpTuples.py +1563 -0
  83. pygeodesy/mgrs.py +721 -0
  84. pygeodesy/named.py +1324 -0
  85. pygeodesy/namedTuples.py +683 -0
  86. pygeodesy/nvectorBase.py +695 -0
  87. pygeodesy/osgr.py +781 -0
  88. pygeodesy/points.py +1686 -0
  89. pygeodesy/props.py +628 -0
  90. pygeodesy/resections.py +1048 -0
  91. pygeodesy/rhumb/__init__.py +46 -0
  92. pygeodesy/rhumb/aux_.py +397 -0
  93. pygeodesy/rhumb/bases.py +1148 -0
  94. pygeodesy/rhumb/ekx.py +563 -0
  95. pygeodesy/rhumb/solve.py +572 -0
  96. pygeodesy/simplify.py +647 -0
  97. pygeodesy/solveBase.py +472 -0
  98. pygeodesy/sphericalBase.py +724 -0
  99. pygeodesy/sphericalNvector.py +1264 -0
  100. pygeodesy/sphericalTrigonometry.py +1447 -0
  101. pygeodesy/streprs.py +627 -0
  102. pygeodesy/trf.py +2079 -0
  103. pygeodesy/triaxials.py +1484 -0
  104. pygeodesy/units.py +969 -0
  105. pygeodesy/unitsBase.py +349 -0
  106. pygeodesy/ups.py +538 -0
  107. pygeodesy/utily.py +1231 -0
  108. pygeodesy/utm.py +762 -0
  109. pygeodesy/utmups.py +318 -0
  110. pygeodesy/utmupsBase.py +517 -0
  111. pygeodesy/vector2d.py +785 -0
  112. pygeodesy/vector3d.py +968 -0
  113. pygeodesy/vector3dBase.py +1049 -0
  114. pygeodesy/webmercator.py +383 -0
  115. pygeodesy/wgrs.py +439 -0
@@ -0,0 +1,61 @@
1
+
2
+ # -*- coding: utf-8 -*-
3
+
4
+ u'''DEPRECATED classes, constants, functions, interns, methods, etc. and all
5
+ lazily imported.
6
+
7
+ Kept for backward compatibility, including DEPRECATED modules C{pygeodesy.bases},
8
+ C{pygeodesy.datum} and C{pygeodesy.nvector}. Use either C{from pygeodesy import
9
+ bases} or C{from pygeodesy.deprecated import bases}. Likewise for C{datum} and
10
+ C{nvector}.
11
+ '''
12
+
13
+ from pygeodesy.deprecated.bases import * # PYCHOK not pygeodesy.__init__
14
+ from pygeodesy.deprecated.datum import * # PYCHOK not pygeodesy.__init__
15
+ from pygeodesy.deprecated.nvector import * # PYCHOK not pygeodesy.__init__
16
+
17
+ from pygeodesy.deprecated.classes import * # PYCHOK expected
18
+ from pygeodesy.deprecated.consterns import * # PYCHOK expected
19
+ from pygeodesy.deprecated.functions import * # PYCHOK expected
20
+
21
+ from pygeodesy.lazily import _ALL_ATTRS, _ALL_DEPRECATED, _lazy_import_as, _unLazy0 # _lazy_import_star
22
+
23
+ __all__ = (_ALL_DEPRECATED.deprecated_bases +
24
+ _ALL_DEPRECATED.deprecated_datum +
25
+ _ALL_DEPRECATED.deprecated_nvector +
26
+
27
+ _ALL_DEPRECATED.deprecated_classes +
28
+ _ALL_DEPRECATED.deprecated_consterns +
29
+ _ALL_DEPRECATED.deprecated_functions)
30
+ __version__ = '24.02.08'
31
+
32
+ if _unLazy0:
33
+ from pygeodesy.deprecated import bases, datum, nvector, rhumbBase, \
34
+ rhumbaux, rhumbsolve, rhumbx # PYCHOK expected
35
+ __all__ += _ALL_ATTRS(_ALL_DEPRECATED.deprecated) # DEPRECATED modules
36
+
37
+ else: # lazily import modules and exported attrs
38
+ __getattr__ = _lazy_import_as(__name__)
39
+ # __star__ = _lazy_import_star(__name__)
40
+
41
+ # **) MIT License
42
+ #
43
+ # Copyright (C) 2018-2024 -- mrJean1 at Gmail -- All Rights Reserved.
44
+ #
45
+ # Permission is hereby granted, free of charge, to any person obtaining a
46
+ # copy of this software and associated documentation files (the "Software"),
47
+ # to deal in the Software without restriction, including without limitation
48
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
49
+ # and/or sell copies of the Software, and to permit persons to whom the
50
+ # Software is furnished to do so, subject to the following conditions:
51
+ #
52
+ # The above copyright notice and this permission notice shall be included
53
+ # in all copies or substantial portions of the Software.
54
+ #
55
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
56
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
57
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
58
+ # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
59
+ # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
60
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
61
+ # OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+
2
+ # -*- coding: utf-8 -*-
3
+
4
+ u'''DEPRECATED on 2021.02.10, use (INTERNAL) module L{pygeodesy.latlonBase} instead.
5
+ '''
6
+
7
+ from pygeodesy.iters import points2 # PYCHOK exported
8
+ from pygeodesy.latlonBase import LatLonBase as _LatLonBase
9
+ from pygeodesy.lazily import _ALL_DEPRECATED
10
+
11
+ __all__ = _ALL_DEPRECATED.deprecated_bases
12
+ __version__ = '23.11.25'
13
+
14
+
15
+ class LatLonHeightBase(_LatLonBase): # PYCHOK no cover
16
+ ''''DEPRECATED on 2021.02.10, use (INTERNAL) class L{pygeodesy.latlonBase.LatLonBase}.'''
17
+ pass
18
+
19
+
20
+ # **) MIT License
21
+ #
22
+ # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
23
+ #
24
+ # Permission is hereby granted, free of charge, to any person obtaining a
25
+ # copy of this software and associated documentation files (the "Software"),
26
+ # to deal in the Software without restriction, including without limitation
27
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
28
+ # and/or sell copies of the Software, and to permit persons to whom the
29
+ # Software is furnished to do so, subject to the following conditions:
30
+ #
31
+ # The above copyright notice and this permission notice shall be included
32
+ # in all copies or substantial portions of the Software.
33
+ #
34
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
35
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
37
+ # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
38
+ # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
39
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40
+ # OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,262 @@
1
+
2
+ # -*- coding: utf-8 -*-
3
+
4
+ u'''DEPRECATED classes kept for backward compatibility.
5
+ '''
6
+
7
+ from pygeodesy.clipy import ClipCS4Tuple as _ClipCS4Tuple
8
+ from pygeodesy.constants import NAN, _float
9
+ from pygeodesy.interns import NN, _a12_, _area_, _band_, _convergence_, \
10
+ _distance_, _gamma_, _i_, _lat_, _lon_, _ltp_
11
+ from pygeodesy.deprecated.consterns import _Deprecated_Str
12
+ from pygeodesy.karney import _GTuple, Rhumb8Tuple as _Rhumb8Tuple
13
+ from pygeodesy.lazily import _ALL_DEPRECATED, _ALL_DOCS, _ALL_MODS as _MODS
14
+ from pygeodesy.ltpTuples import Ned4Tuple as _Ned4Tuple
15
+ # from pygeodesy.named import _NamedTuple # from .namedTuples
16
+ from pygeodesy.namedTuples import Forward4Tuple as _Forward4Tuple, \
17
+ Reverse4Tuple as _Reverse4Tuple, \
18
+ UtmUps5Tuple as _UtmUps5Tuple, _NamedTuple
19
+ from pygeodesy.props import deprecated_class, deprecated_method
20
+ from pygeodesy.resections import TriAngle5Tuple as _TriAngle5Tuple
21
+ from pygeodesy.trf import TRFXform7Tuple as _TRFXform7Tuple
22
+ from pygeodesy.units import Bearing, Int, Lat, Lon, Meter
23
+
24
+ __all__ = _ALL_DEPRECATED.deprecated_classes
25
+ __version__ = '24.02.02'
26
+
27
+
28
+ class _Deprecated_NamedTuple(_NamedTuple):
29
+ '''DEPRECATED, C{_NamedTuple} base.
30
+ '''
31
+ def __new__(cls, *args, **kwds):
32
+ deprecated_class(cls)
33
+ return _NamedTuple.__new__(cls, *args, **kwds)
34
+
35
+
36
+ def _reNames(names, old, *new):
37
+ # replace item C{old} with C{new} name
38
+ i = names.index(old)
39
+ return names[:i] + new + names[i + 1:]
40
+
41
+
42
+ class ClipCS3Tuple(_Deprecated_NamedTuple): # PYCHOK no cover
43
+ '''DEPRECATED, see I{DEPRECATED} function L{pygeodesy.deprecated.clipCS3}.'''
44
+ assert _ClipCS4Tuple._Names_.index(_i_) == 2
45
+ _Names_ = _reNames(_ClipCS4Tuple._Names_[:3], _i_, 'index')
46
+ _Units_ = _ClipCS4Tuple._Units_[:3]
47
+
48
+
49
+ class EasNorExact4Tuple(_Deprecated_NamedTuple):
50
+ '''DEPRECATED, use class L{Forward4Tuple}, item C{gamma} for C{convergence}.'''
51
+ _Names_ = _reNames(_Forward4Tuple._Names_, _gamma_, _convergence_)
52
+ _Units_ = _Forward4Tuple._Units_
53
+
54
+
55
+ def EcefCartesian(*args, **kwds):
56
+ '''DEPRECATED, use class L{LocalCartesian}.'''
57
+ Ltp = _MODS.ltp.Ltp
58
+
59
+ class EcefCartesian_(Ltp):
60
+ '''DEPRECATED, use class L{LocalCartesian} or L{Ltp}.
61
+
62
+ @note: This class is named I{incorrectly}, since it provides conversion to
63
+ and from I{local} cartesian coordinates in a I{local tangent plane}
64
+ and I{not geocentric} (ECEF) ones, as the name would suggest.
65
+ '''
66
+ def __init__(self, latlonh0=0, lon0=0, height0=0, ecef=None, name=NN):
67
+ deprecated_class(self.__class__)
68
+ Ltp.__init__(self, latlonh0=latlonh0, lon0=lon0, height0=height0, ecef=ecef, name=name)
69
+
70
+ @deprecated_method
71
+ def forward(self, latlonh, lon=None, height=0, M=False, name=NN):
72
+ '''DEPRECATED, use method L{LocalCartesian.forward} or L{Ltp.forward}.
73
+
74
+ @return: I{Incorrectly}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C,
75
+ M, datum)} with I{local} C{(x, y, z)} coordinates for the given
76
+ I{geodetic} ones C{(lat, lon, height)}, case C{C=0} always,
77
+ optionally I{concatenated} L{EcefMatrix} C{M} and C{datum}.
78
+ '''
79
+ t = Ltp.forward(self, latlonh, lon=lon, height=height, M=M, name=name)
80
+ return _MODS.ecef.Ecef9Tuple(t.x, t.y, t.z, t.lat, t.lon, t.height,
81
+ 0, t.M, t.ecef.datum,
82
+ name=t.name or self.name)
83
+
84
+ @deprecated_method
85
+ def reverse(self, xyz, y=None, z=None, M=False, name=NN):
86
+ '''DEPRECATED, use method L{LocalCartesian.reverse} or L{Ltp.reverse}.
87
+
88
+ @return: I{Incorrectly}, an L{Ecef9Tuple}C{(x, y, z, lat, lon, height, C,
89
+ M, datum)} with I{geodetic} coordinates C{(lat, lon, height)} for
90
+ the given I{local} ones C{(x, y, z)}, case C{C}, optionally
91
+ I{concatenated} L{EcefMatrix} C{M} and C{datum}.
92
+ '''
93
+ t = Ltp.reverse(self, xyz, y=y, z=z, M=M, name=name)
94
+ return _MODS.ecef.Ecef9Tuple(t.x, t.y, t.z, t.lat, t.lon, t.height,
95
+ t.ecef.C, t.M, t.ecef.datum,
96
+ name=t.name or self.name)
97
+
98
+ return EcefCartesian_(*args, **kwds)
99
+
100
+
101
+ def HeightIDW(knots, **kwds): # PYCHOK no cover
102
+ '''DEPRECATED, use class L{HeightIDWeuclidean}.'''
103
+ HeightIDWeuclidean = _MODS.heights.HeightIDWeuclidean
104
+
105
+ class HeightIDW(HeightIDWeuclidean):
106
+ '''DEPRECATED, use class L{HeightIDWeuclidean}.'''
107
+ def __init__(self, knots, adjust=True, beta=2, name=NN):
108
+ deprecated_class(self.__class__)
109
+ HeightIDWeuclidean.__init__(self, knots, adjust=adjust, beta=beta, name=name)
110
+
111
+ return HeightIDW(knots, **kwds)
112
+
113
+
114
+ def HeightIDW2(knots, **kwds): # PYCHOK no cover
115
+ '''DEPRECATED, use class L{HeightIDWequirectangular}.'''
116
+ HeightIDWequirectangular = _MODS.heights.HeightIDWequirectangular
117
+
118
+ class HeightIDW2(HeightIDWequirectangular):
119
+ '''DEPRECATED, use class L{HeightIDWequirectangular}.'''
120
+ def __init__(self, knots, adjust=True, wrap=False, name=NN):
121
+ deprecated_class(self.__class__)
122
+ HeightIDWequirectangular.__init__(self, knots, adjust=adjust, wrap=wrap, name=name)
123
+
124
+ return HeightIDW2(knots, **kwds)
125
+
126
+
127
+ def HeightIDW3(knots, **kwds): # PYCHOK no cover
128
+ '''DEPRECATED, use class L{HeightIDWhaversine}.'''
129
+ HeightIDWhaversine = _MODS.heights.HeightIDWhaversine
130
+
131
+ class HeightIDW3(HeightIDWhaversine):
132
+ '''DEPRECATED, use class L{HeightIDWhaversine}.
133
+ '''
134
+ def __init__(self, knots, beta=2, wrap=False, name=NN):
135
+ deprecated_class(self.__class__)
136
+ HeightIDWhaversine.__init__(self, knots, beta=beta, wrap=wrap, name=name)
137
+
138
+ return HeightIDW3(knots, **kwds)
139
+
140
+
141
+ class LatLonExact4Tuple(_Deprecated_NamedTuple):
142
+ '''DEPRECATED, use class L{Reverse4Tuple}, item C{gamma} for C{convergence}.'''
143
+ _Names_ = _reNames(_Reverse4Tuple._Names_, _gamma_, _convergence_)
144
+ _Units_ = _Reverse4Tuple._Units_
145
+
146
+
147
+ class NearestOn4Tuple(_Deprecated_NamedTuple): # PYCHOK no cover
148
+ '''DEPRECATED on 2023.10.10, see methods L{RhumbLine.nearestOn4} and L{RhumbLineAux.nearestOn4}.'''
149
+ _Names_ = (_lat_, _lon_, _distance_, 'normal') # s12, azi02
150
+ _Units_ = ( Lat, Lon, Meter, Bearing)
151
+
152
+
153
+ class Ned3Tuple(_Deprecated_NamedTuple): # was in .ellipsoidalNvector
154
+ '''DEPRECATED, use class L{Ned4Tuple}, ignoring item C{ltp}.'''
155
+ assert _Ned4Tuple._Names_.index(_ltp_) == 3
156
+ _Names_ = _Ned4Tuple._Names_[:3]
157
+ _Units_ = _Ned4Tuple._Units_[:3]
158
+
159
+
160
+ def RefFrameError(*args, **kwds): # PYCHOK no cover
161
+ '''DEPRECATED, use class L{TRFError}.'''
162
+ TRFError = _MODS.errors.TRFError
163
+
164
+ class RefFrameError(TRFError):
165
+ '''DEPRECATED, use class L{TRFError}.
166
+ '''
167
+ def __init__(self, *name_value, **txt_name_values):
168
+ deprecated_class(self.__class__)
169
+ TRFError.__init__(self, *name_value, **txt_name_values)
170
+
171
+ return RefFrameError(*args, **kwds)
172
+
173
+
174
+ class Rhumb7Tuple(_Deprecated_NamedTuple):
175
+ '''DEPRECATED, use class L{Rhumb8Tuple}, ignoring item C{a12}.'''
176
+ assert _Rhumb8Tuple._Names_.index(_a12_) == 7
177
+ _Names_ = _Rhumb8Tuple._Names_[:7]
178
+ _Units_ = _Rhumb8Tuple._Units_[:7]
179
+
180
+ @deprecated_method
181
+ def toDirect9Tuple(self, **kwds):
182
+ return self.toRhumb8Tuple().toDirect9Tuple(self, **kwds)
183
+
184
+ @deprecated_method
185
+ def toGDict(self, **kwds):
186
+ return self.toRhumb8Tuple().toGDict(**kwds)
187
+
188
+ @deprecated_method
189
+ def toInverse10Tuple(self, **kwds):
190
+ return self.toRhumb8Tuple().toInverse10Tuple(self, **kwds)
191
+
192
+ @deprecated_method
193
+ def toRhumb8Tuple(self, dflt=NAN):
194
+ return _Rhumb8Tuple(self + (dflt,), name=self.name)
195
+
196
+ def _to7Tuple(self):
197
+ '''(INTERNAL) see L{Rhumb8Tuple._to7Tuple}.
198
+ '''
199
+ return self
200
+
201
+
202
+ class RhumbOrder2Tuple(_Deprecated_NamedTuple, _GTuple):
203
+ '''DEPRECATED, see deprecated method L{Rhumb.orders}.'''
204
+ # 2-Tuple C{(RAorder, TMorder)} with a I{Rhumb Area} and
205
+ # I{Transverse Mercator} order, both C{int}.
206
+ _Names_ = ('RAorder', 'TMorder')
207
+ _Units_ = ( Int, Int)
208
+
209
+
210
+ class Transform7Tuple(_Deprecated_NamedTuple): # PYCHOK no cover
211
+ '''DEPRECATED on 2024.02.02, use class L{TRFXform7Tuple}, I{without} keyword arguments.'''
212
+ _Names_ = _TRFXform7Tuple._Names_
213
+ _Units_ = _TRFXform7Tuple._Units_
214
+
215
+ def __new__(cls, tx=0, ty=0, tz=0, s=0,
216
+ sx=0, sy=0, sz=0, name=NN):
217
+ t = map(_float, (tx, ty, tz, s, sx, sy, sz))
218
+ return _Deprecated_NamedTuple.__new__(cls, *t, name=name)
219
+
220
+ Helmert7Tuple = Transform7Tuple # PYCHOK likewise
221
+
222
+
223
+ class TriAngle4Tuple(_Deprecated_NamedTuple):
224
+ '''DEPRECATED on 2023.09.14, use class L{TriAngle5Tuple}, ignoring item C{area}.'''
225
+ assert _TriAngle5Tuple._Names_.index(_area_) == 4
226
+ _Names_ = _TriAngle5Tuple._Names_[:4]
227
+ _Units_ = _TriAngle5Tuple._Units_[:4]
228
+
229
+
230
+ class UtmUps4Tuple(_Deprecated_NamedTuple): # PYCHOK no cover
231
+ '''DEPRECATED and OBSOLETE, expect a L{UtmUps5Tuple} from method C{pygeodesy.Mgrs.toUtm(utm=None)}.
232
+
233
+ 4-Tuple C{(zone, hemipole, easting, northing)} with as C{zone} B{C{str}} and no C{band}.
234
+ '''
235
+ assert _UtmUps5Tuple._Names_.index(_band_) == 4
236
+ _Names_ = _UtmUps5Tuple._Names_[ :4] # band
237
+ _Units_ = (_Deprecated_Str,) + _UtmUps5Tuple._Units_[1:4]
238
+
239
+
240
+ __all__ += _ALL_DOCS(_Deprecated_NamedTuple)
241
+
242
+ # **) MIT License
243
+ #
244
+ # Copyright (C) 2018-2024 -- mrJean1 at Gmail -- All Rights Reserved.
245
+ #
246
+ # Permission is hereby granted, free of charge, to any person obtaining a
247
+ # copy of this software and associated documentation files (the "Software"),
248
+ # to deal in the Software without restriction, including without limitation
249
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
250
+ # and/or sell copies of the Software, and to permit persons to whom the
251
+ # Software is furnished to do so, subject to the following conditions:
252
+ #
253
+ # The above copyright notice and this permission notice shall be included
254
+ # in all copies or substantial portions of the Software.
255
+ #
256
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
257
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
258
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
259
+ # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
260
+ # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
261
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
262
+ # OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,54 @@
1
+
2
+ # -*- coding: utf-8 -*-
3
+
4
+ u'''DEPRECATED constants and interns kept for backward compatibility.
5
+ '''
6
+
7
+ from pygeodesy.constants import EPS_2, MANT_DIG, _1_0
8
+ from pygeodesy.lazily import _ALL_DEPRECATED
9
+ from pygeodesy.units import Float, Int, Str
10
+
11
+ __all__ = _ALL_DEPRECATED.deprecated_consterns
12
+ __version__ = '23.11.24'
13
+
14
+
15
+ class _Deprecated_Float(Float):
16
+ '''DEPRECATED on 2023.09.12, don't use.'''
17
+ pass
18
+
19
+
20
+ class _Deprecated_Int(Int):
21
+ '''DEPRECATED on 2023.09.12, don't use.'''
22
+ pass
23
+
24
+
25
+ class _Deprecated_Str(Str):
26
+ '''DEPRECATED on 2023.09.12, don't use.'''
27
+ pass
28
+
29
+
30
+ EPS1_2 = _Deprecated_Float(EPS1_2=_1_0 - EPS_2)
31
+ MANTIS = _Deprecated_Int(MANTIS=MANT_DIG)
32
+ OK = _Deprecated_Str(OK='OK')
33
+
34
+ # **) MIT License
35
+ #
36
+ # Copyright (C) 2018-2024 -- mrJean1 at Gmail -- All Rights Reserved.
37
+ #
38
+ # Permission is hereby granted, free of charge, to any person obtaining a
39
+ # copy of this software and associated documentation files (the "Software"),
40
+ # to deal in the Software without restriction, including without limitation
41
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
42
+ # and/or sell copies of the Software, and to permit persons to whom the
43
+ # Software is furnished to do so, subject to the following conditions:
44
+ #
45
+ # The above copyright notice and this permission notice shall be included
46
+ # in all copies or substantial portions of the Software.
47
+ #
48
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
49
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
51
+ # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
52
+ # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
53
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
54
+ # OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+
2
+ # -*- coding: utf-8 -*-
3
+
4
+ u'''DEPRECATED on 2022.09.12, use module L{pygeodesy.datums} or L{pygeodesy.ellipsoids} instead.
5
+ '''
6
+
7
+ # XXX only the items previously public
8
+ from pygeodesy.constants import R_M, R_MA, R_MB, R_KM, R_NM, R_SM, R_FM, R_VM
9
+ from pygeodesy.datums import Datum, Datums, Transform, Transforms
10
+ from pygeodesy.ellipsoids import Ellipsoid, Ellipsoids, Curvature2Tuple
11
+ from pygeodesy.lazily import _ALL_DEPRECATED, _ALL_OTHER
12
+
13
+ __all__ = _ALL_DEPRECATED.deprecated_datum
14
+ __version__ = '23.11.26'
15
+
16
+ assert _ALL_OTHER(Curvature2Tuple, Datum, Ellipsoid, Transform) + \
17
+ tuple(_.name for _ in (Datums, Ellipsoids, Transforms,
18
+ R_M, R_MA, R_MB, R_KM, R_NM, R_SM, R_FM, R_VM)) == __all__
19
+
20
+ # **) MIT License
21
+ #
22
+ # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
23
+ #
24
+ # Permission is hereby granted, free of charge, to any person obtaining a
25
+ # copy of this software and associated documentation files (the "Software"),
26
+ # to deal in the Software without restriction, including without limitation
27
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
28
+ # and/or sell copies of the Software, and to permit persons to whom the
29
+ # Software is furnished to do so, subject to the following conditions:
30
+ #
31
+ # The above copyright notice and this permission notice shall be included
32
+ # in all copies or substantial portions of the Software.
33
+ #
34
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
35
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
37
+ # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
38
+ # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
39
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40
+ # OTHER DEALINGS IN THE SOFTWARE.