pygeodesy 24.11.11__py2.py3-none-any.whl → 25.1.5__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 (118) hide show
  1. {PyGeodesy-24.11.11.dist-info → PyGeodesy-25.1.5.dist-info}/METADATA +34 -35
  2. PyGeodesy-25.1.5.dist-info/RECORD +118 -0
  3. {PyGeodesy-24.11.11.dist-info → PyGeodesy-25.1.5.dist-info}/WHEEL +1 -1
  4. pygeodesy/__init__.py +19 -19
  5. pygeodesy/__main__.py +1 -1
  6. pygeodesy/albers.py +5 -5
  7. pygeodesy/auxilats/_CX_4.py +1 -1
  8. pygeodesy/auxilats/_CX_6.py +1 -1
  9. pygeodesy/auxilats/_CX_8.py +1 -1
  10. pygeodesy/auxilats/_CX_Rs.py +1 -1
  11. pygeodesy/auxilats/__init__.py +1 -1
  12. pygeodesy/auxilats/__main__.py +1 -1
  13. pygeodesy/auxilats/auxAngle.py +5 -5
  14. pygeodesy/auxilats/auxDLat.py +6 -6
  15. pygeodesy/auxilats/auxDST.py +2 -2
  16. pygeodesy/auxilats/auxLat.py +5 -5
  17. pygeodesy/auxilats/auxily.py +2 -2
  18. pygeodesy/azimuthal.py +5 -5
  19. pygeodesy/basics.py +60 -8
  20. pygeodesy/booleans.py +1 -1
  21. pygeodesy/cartesianBase.py +22 -61
  22. pygeodesy/clipy.py +1 -1
  23. pygeodesy/constants.py +5 -5
  24. pygeodesy/css.py +1 -1
  25. pygeodesy/datums.py +1 -1
  26. pygeodesy/deprecated/__init__.py +2 -2
  27. pygeodesy/deprecated/bases.py +1 -1
  28. pygeodesy/deprecated/classes.py +86 -2
  29. pygeodesy/deprecated/consterns.py +1 -1
  30. pygeodesy/deprecated/datum.py +5 -5
  31. pygeodesy/deprecated/functions.py +42 -8
  32. pygeodesy/deprecated/nvector.py +1 -1
  33. pygeodesy/deprecated/rhumbBase.py +1 -1
  34. pygeodesy/deprecated/rhumbaux.py +1 -1
  35. pygeodesy/deprecated/rhumbsolve.py +1 -1
  36. pygeodesy/deprecated/rhumbx.py +1 -1
  37. pygeodesy/dms.py +1 -1
  38. pygeodesy/ecef.py +53 -56
  39. pygeodesy/elevations.py +1 -1
  40. pygeodesy/ellipsoidalBase.py +3 -3
  41. pygeodesy/ellipsoidalBaseDI.py +1 -1
  42. pygeodesy/ellipsoidalExact.py +1 -1
  43. pygeodesy/ellipsoidalGeodSolve.py +1 -1
  44. pygeodesy/ellipsoidalKarney.py +1 -1
  45. pygeodesy/ellipsoidalNvector.py +1 -1
  46. pygeodesy/ellipsoidalVincenty.py +6 -5
  47. pygeodesy/ellipsoids.py +4 -5
  48. pygeodesy/elliptic.py +6 -6
  49. pygeodesy/epsg.py +1 -1
  50. pygeodesy/errors.py +1 -1
  51. pygeodesy/etm.py +5 -5
  52. pygeodesy/fmath.py +18 -17
  53. pygeodesy/formy.py +409 -555
  54. pygeodesy/frechet.py +29 -86
  55. pygeodesy/fstats.py +1 -1
  56. pygeodesy/fsums.py +32 -33
  57. pygeodesy/gars.py +1 -1
  58. pygeodesy/geodesici.py +7 -7
  59. pygeodesy/geodesicw.py +1 -1
  60. pygeodesy/geodesicx/_C4_24.py +2 -2
  61. pygeodesy/geodesicx/_C4_27.py +2 -2
  62. pygeodesy/geodesicx/_C4_30.py +2 -2
  63. pygeodesy/geodesicx/__init__.py +2 -2
  64. pygeodesy/geodesicx/__main__.py +4 -5
  65. pygeodesy/geodesicx/gx.py +6 -5
  66. pygeodesy/geodesicx/gxarea.py +2 -2
  67. pygeodesy/geodesicx/gxbases.py +2 -2
  68. pygeodesy/geodesicx/gxline.py +16 -12
  69. pygeodesy/geodsolve.py +1 -1
  70. pygeodesy/geohash.py +1 -1
  71. pygeodesy/geoids.py +277 -203
  72. pygeodesy/hausdorff.py +23 -81
  73. pygeodesy/heights.py +115 -150
  74. pygeodesy/internals.py +1 -1
  75. pygeodesy/interns.py +2 -3
  76. pygeodesy/iters.py +1 -1
  77. pygeodesy/karney.py +3 -3
  78. pygeodesy/ktm.py +16 -15
  79. pygeodesy/latlonBase.py +323 -409
  80. pygeodesy/lazily.py +53 -44
  81. pygeodesy/lcc.py +1 -1
  82. pygeodesy/ltp.py +46 -50
  83. pygeodesy/ltpTuples.py +147 -130
  84. pygeodesy/mgrs.py +1 -1
  85. pygeodesy/named.py +149 -3
  86. pygeodesy/namedTuples.py +58 -7
  87. pygeodesy/nvectorBase.py +122 -105
  88. pygeodesy/osgr.py +1 -1
  89. pygeodesy/points.py +1 -1
  90. pygeodesy/props.py +1 -1
  91. pygeodesy/resections.py +18 -17
  92. pygeodesy/rhumb/__init__.py +1 -1
  93. pygeodesy/rhumb/aux_.py +2 -2
  94. pygeodesy/rhumb/bases.py +2 -2
  95. pygeodesy/rhumb/ekx.py +4 -4
  96. pygeodesy/rhumb/solve.py +1 -1
  97. pygeodesy/simplify.py +289 -401
  98. pygeodesy/solveBase.py +1 -1
  99. pygeodesy/sphericalBase.py +1 -1
  100. pygeodesy/sphericalNvector.py +5 -5
  101. pygeodesy/sphericalTrigonometry.py +7 -6
  102. pygeodesy/streprs.py +10 -5
  103. pygeodesy/trf.py +1 -1
  104. pygeodesy/triaxials.py +23 -16
  105. pygeodesy/units.py +16 -16
  106. pygeodesy/unitsBase.py +1 -1
  107. pygeodesy/ups.py +4 -4
  108. pygeodesy/utily.py +341 -211
  109. pygeodesy/utm.py +5 -5
  110. pygeodesy/utmups.py +1 -1
  111. pygeodesy/utmupsBase.py +1 -1
  112. pygeodesy/vector2d.py +5 -5
  113. pygeodesy/vector3d.py +14 -3
  114. pygeodesy/vector3dBase.py +5 -5
  115. pygeodesy/webmercator.py +1 -1
  116. pygeodesy/wgrs.py +1 -1
  117. PyGeodesy-24.11.11.dist-info/RECORD +0 -118
  118. {PyGeodesy-24.11.11.dist-info → PyGeodesy-25.1.5.dist-info}/top_level.txt +0 -0
@@ -49,14 +49,13 @@ from pygeodesy.lazily import _ALL_DOCS, _ALL_MODS as _MODS
49
49
  from pygeodesy.karney import _around, _atan2d, Caps, GDict, _fix90, \
50
50
  _K_2_0, _llz2gl, _norm2, _norm180, \
51
51
  _sincos2, _sincos2d
52
- from pygeodesy.named import Property_RO, _update_all
53
- # from pygeodesy.props import Property_RO, _update_all # from .named
54
- from pygeodesy.utily import atan2d as _atan2d_reverse, sincos2
52
+ from pygeodesy.props import Property_RO, property_ROver, _update_all
53
+ from pygeodesy.utily import atan2, atan2d as _atan2d_reverse, sincos2
55
54
 
56
- from math import atan2, cos, degrees, fabs, floor, radians, sin
55
+ from math import cos, degrees, fabs, floor, radians, sin
57
56
 
58
57
  __all__ = ()
59
- __version__ = '24.07.12'
58
+ __version__ = '24.11.24'
60
59
 
61
60
  _glXs = [] # instances of C{[_]GeodesicLineExact} to be updated
62
61
 
@@ -377,11 +376,11 @@ class _GeodesicLineExact(_GeodesicBase):
377
376
  lam12 = salp0 * self._H0e2_f1 * fsum1f_(eF.deltaH(ssig2, csig2, dn2),
378
377
  -self._H1, sig12)
379
378
  if (outmask & Cs.LONG_UNROLL):
380
- _a, t = atan2, _copysign_1_0(salp0) # east-going?
379
+ t = _copysign_1_0(salp0) # east-going?
381
380
  tchi1 = t * schi1
382
381
  tchi2 = t * schi2
383
- chi12 = t * fsum1f_(_a(ssig1, csig1), -_a(ssig2, csig2),
384
- _a(tchi2, cchi2), -_a(tchi1, cchi1), sig12)
382
+ chi12 = t * fsum1f_(atan2(ssig1, csig1), -atan2(ssig2, csig2),
383
+ atan2(tchi2, cchi2), -atan2(tchi1, cchi1), sig12)
385
384
  lon2 = self.lon1 + degrees(chi12 - lam12)
386
385
  else:
387
386
  chi12 = atan2(*_sincos12(schi1, cchi1, schi2, cchi2))
@@ -634,6 +633,13 @@ class _GeodesicLineExact(_GeodesicBase):
634
633
  # unnecessary because Einv inverts E
635
634
  # return -self._eF.deltaEinv(stau1, ctau1)
636
635
 
636
+ @property_ROver
637
+ def _toProps7(self):
638
+ '''(INTERNAL) 7-Tuple of C{toStr} properties.
639
+ '''
640
+ C = _GeodesicLineExact
641
+ return C.lat1, C.lon1, C.azi1, C.a13, C.s13, C.caps, C.geodesic
642
+
637
643
  def toStr(self, **prec_sep_name): # PYCHOK signature
638
644
  '''Return this C{GeodesicLineExact} as string.
639
645
 
@@ -642,16 +648,14 @@ class _GeodesicLineExact(_GeodesicBase):
642
648
 
643
649
  @return: C{GeodesicLineExact} (C{str}).
644
650
  '''
645
- C = _GeodesicLineExact
646
- t = C.lat1, C.lon1, C.azi1, C.a13, C.s13, C.caps, C.geodesic
647
- return self._instr(props=t, **prec_sep_name)
651
+ return self._instr(props=self._toProps7, **prec_sep_name)
648
652
 
649
653
 
650
654
  __all__ += _ALL_DOCS(_GeodesicLineExact)
651
655
 
652
656
  # **) MIT License
653
657
  #
654
- # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
658
+ # Copyright (C) 2016-2025 -- mrJean1 at Gmail -- All Rights Reserved.
655
659
  #
656
660
  # Permission is hereby granted, free of charge, to any person obtaining a
657
661
  # copy of this software and associated documentation files (the "Software"),
pygeodesy/geodsolve.py CHANGED
@@ -504,7 +504,7 @@ if __name__ == '__main__':
504
504
 
505
505
  # **) MIT License
506
506
  #
507
- # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
507
+ # Copyright (C) 2016-2025 -- mrJean1 at Gmail -- All Rights Reserved.
508
508
  #
509
509
  # Permission is hereby granted, free of charge, to any person obtaining a
510
510
  # copy of this software and associated documentation files (the "Software"),
pygeodesy/geohash.py CHANGED
@@ -1099,7 +1099,7 @@ if __name__ == '__main__':
1099
1099
 
1100
1100
  # **) MIT License
1101
1101
  #
1102
- # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
1102
+ # Copyright (C) 2016-2025 -- mrJean1 at Gmail -- All Rights Reserved.
1103
1103
  #
1104
1104
  # Permission is hereby granted, free of charge, to any person obtaining a
1105
1105
  # copy of this software and associated documentation files (the "Software"),