pygeodesy 24.8.4__py2.py3-none-any.whl → 24.8.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 (50) hide show
  1. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/METADATA +16 -15
  2. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/RECORD +50 -50
  3. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/WHEEL +1 -1
  4. pygeodesy/__init__.py +23 -23
  5. pygeodesy/auxilats/auxDST.py +2 -2
  6. pygeodesy/basics.py +3 -3
  7. pygeodesy/cartesianBase.py +5 -5
  8. pygeodesy/constants.py +11 -11
  9. pygeodesy/ellipsoidalBase.py +18 -15
  10. pygeodesy/ellipsoidalExact.py +2 -2
  11. pygeodesy/ellipsoidalGeodSolve.py +2 -2
  12. pygeodesy/ellipsoidalKarney.py +2 -2
  13. pygeodesy/ellipsoidalNvector.py +2 -2
  14. pygeodesy/ellipsoidalVincenty.py +7 -6
  15. pygeodesy/epsg.py +3 -3
  16. pygeodesy/fmath.py +2 -1
  17. pygeodesy/fsums.py +4 -4
  18. pygeodesy/gars.py +9 -8
  19. pygeodesy/geodesicx/gx.py +3 -3
  20. pygeodesy/geodesicx/gxarea.py +3 -3
  21. pygeodesy/geodsolve.py +3 -3
  22. pygeodesy/geohash.py +18 -11
  23. pygeodesy/geoids.py +293 -315
  24. pygeodesy/heights.py +150 -158
  25. pygeodesy/internals.py +21 -1
  26. pygeodesy/interns.py +2 -3
  27. pygeodesy/latlonBase.py +13 -7
  28. pygeodesy/lazily.py +6 -6
  29. pygeodesy/ltp.py +5 -6
  30. pygeodesy/ltpTuples.py +7 -1
  31. pygeodesy/named.py +5 -4
  32. pygeodesy/namedTuples.py +14 -1
  33. pygeodesy/osgr.py +7 -7
  34. pygeodesy/points.py +2 -2
  35. pygeodesy/resections.py +7 -7
  36. pygeodesy/rhumb/solve.py +3 -3
  37. pygeodesy/simplify.py +10 -10
  38. pygeodesy/sphericalBase.py +3 -3
  39. pygeodesy/sphericalTrigonometry.py +2 -2
  40. pygeodesy/streprs.py +3 -3
  41. pygeodesy/triaxials.py +207 -201
  42. pygeodesy/units.py +3 -3
  43. pygeodesy/unitsBase.py +4 -4
  44. pygeodesy/utmupsBase.py +3 -3
  45. pygeodesy/vector2d.py +158 -51
  46. pygeodesy/vector3d.py +13 -52
  47. pygeodesy/vector3dBase.py +81 -63
  48. pygeodesy/webmercator.py +3 -3
  49. pygeodesy/wgrs.py +20 -22
  50. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/top_level.txt +0 -0
pygeodesy/lazily.py CHANGED
@@ -395,10 +395,10 @@ _ALL_LAZY = _NamedEnum_RO(_name='_ALL_LAZY',
395
395
  utmups=_i('UtmUps', 'UTMUPSError', 'parseUTMUPS5', 'toUtmUps8',
396
396
  'utmupsValidate', 'utmupsValidateOK', 'utmupsZoneBand5'),
397
397
  utmupsBase=_i(), # module only
398
- vector2d=_i('Circin6Tuple', 'Circum3Tuple', 'Circum4Tuple', 'Meeus2Tuple', 'Radii11Tuple', 'Soddy4Tuple',
399
- 'circin6', 'circum3', 'circum4_', 'meeus2', 'radii11', 'soddy4'),
398
+ vector2d=_i('Circin6Tuple', 'Circum3Tuple', 'Circum4Tuple', 'Meeus2Tuple', 'Radii11Tuple', 'Soddy4Tuple', 'Triaxum5Tuple',
399
+ 'circin6', 'circum3', 'circum4', 'circum4_', 'meeus2', 'radii11', 'soddy4', 'triaxum5', 'trilaterate2d2'),
400
400
  vector3d=_i('Vector3d', 'intersection3d3', 'iscolinearWith', 'nearestOn', 'nearestOn6', 'parse3d',
401
- 'trilaterate2d2', 'trilaterate3d2'),
401
+ 'trilaterate3d2'),
402
402
  vector3dBase=_i(), # module only
403
403
  webmercator=_i('Wm', 'WebMercatorError', 'parseWM', 'toWm', 'EasNorRadius3Tuple'),
404
404
  wgrs=_i('Georef', 'WGRSError'),)
@@ -416,8 +416,8 @@ _ALL_DEPRECATED = _NamedEnum_RO(_name='_ALL_DEPRECATED',
416
416
  deprecated_datum=_i('Curvature2Tuple', 'Datum', 'Ellipsoid', 'Transform', # assert
417
417
  'Datums', 'Ellipsoids', 'Transforms',
418
418
  'R_FM', 'R_KM', 'R_M', 'R_MA', 'R_MB', 'R_NM', 'R_SM', 'R_VM'),
419
- deprecated_functions=_i('anStr', 'areaof', 'atand', 'bounds', # most of the DEPRECATED functions, except ...
420
- 'clipCS3', 'clipDMS', 'clipStr', 'collins', 'copysign', # ... ellipsoidal, spherical flavors
419
+ deprecated_functions=_i('anStr', 'areaof', 'atand', 'bounds', # most of the DEPRECATED functions, except ellipsoidal ...
420
+ 'clipCS3', 'clipDMS', 'clipStr', 'collins', 'copysign', # ... and spherical flavors
421
421
  'decodeEPSG2', 'encodeEPSG', 'enStr2', 'equirectangular_', 'equirectangular3',
422
422
  'excessAbc', 'excessGirard', 'excessLHuilier',
423
423
  'false2f', 'falsed2f', 'float0', 'fStr', 'fStrzs', 'hypot3',
@@ -521,7 +521,7 @@ class _ALL_MODS(_internals._MODS_Base):
521
521
  _internals._MODS = _ALL_MODS = _ALL_MODS() # PYCHOK singleton
522
522
 
523
523
  __all__ = _ALL_LAZY.lazily
524
- __version__ = '24.08.01'
524
+ __version__ = '24.08.18'
525
525
 
526
526
 
527
527
  def _ALL_OTHER(*objs):
pygeodesy/ltp.py CHANGED
@@ -44,7 +44,7 @@ from pygeodesy.vector3d import _ALL_LAZY, Vector3d
44
44
  # from math import fabs, floor as _floor # from .fmath, .fsums
45
45
 
46
46
  __all__ = _ALL_LAZY.ltp
47
- __version__ = '24.07.25'
47
+ __version__ = '24.08.18'
48
48
 
49
49
  _height0_ = _height_ + _0_
50
50
  _narrow_ = 'narrow'
@@ -165,7 +165,7 @@ class Attitude(_NamedBase):
165
165
  '''
166
166
  try:
167
167
  try:
168
- xyz = map2(float, x_xyz.xyz)
168
+ xyz = map2(float, x_xyz.xyz3)
169
169
  except AttributeError:
170
170
  xyz = map1(float, x_xyz, y, z)
171
171
  except (TypeError, ValueError) as x:
@@ -876,7 +876,7 @@ class ChLV(_ChLV, Ltp):
876
876
 
877
877
  @arg Y: Unfalsed I{Swiss Y} easting (C{meter}).
878
878
  @arg X: Unfalsed I{Swiss X} northing (C{meter}).
879
- @kwarg LV95: If C{True} add C{LV95} falsing, if C{False} add
879
+ @kwarg LV95: If C{True}, add C{LV95} falsing, if C{False} add
880
880
  C{LV03} falsing, otherwise leave unfalsed.
881
881
  @kwarg name: Optional C{B{name}=NN} (C{str}).
882
882
 
@@ -928,9 +928,8 @@ class ChLV(_ChLV, Ltp):
928
928
 
929
929
  @arg e: Falsed I{Swiss E_LV95} or I{y_LV03} easting (C{meter}).
930
930
  @arg n: Falsed I{Swiss N_LV95} or I{x_LV03} northing (C{meter}).
931
- @kwarg LV95: If C{True} remove I{LV95} falsing, if C{False} remove
932
- I{LV03} falsing, otherwise use method C{isLV95(B{e},
933
- B{n})}.
931
+ @kwarg LV95: If C{True}, remove I{LV95} falsing, if C{False} remove
932
+ I{LV03} falsing, otherwise use method C{isLV95(B{e}, B{n})}.
934
933
  @kwarg name: Optional C{B{name}=NN} (C{str}).
935
934
 
936
935
  @return: A L{ChLVYX2Tuple}C{(Y, X)} with the unfalsed B{C{e}}
pygeodesy/ltpTuples.py CHANGED
@@ -36,7 +36,7 @@ from pygeodesy.vector3d import Vector3d
36
36
  # from math import cos, radians # from .utily
37
37
 
38
38
  __all__ = _ALL_LAZY.ltpTuples
39
- __version__ = '24.07.25'
39
+ __version__ = '24.08.18'
40
40
 
41
41
  _aer_ = 'aer'
42
42
  _alt_ = 'alt'
@@ -189,6 +189,12 @@ class _AbcBase(_NamedBase):
189
189
  '''
190
190
  return Vector3Tuple(self.x, self.y, self.z, name=self.name) # like Ecef9Tuple.xyz, Local6tuple.xyz
191
191
 
192
+ @property_RO
193
+ def xyz3(self):
194
+ '''Get the I{local} C{(X, Y, Z)} coordinates as C{3-tuple}.
195
+ '''
196
+ return tuple(self.xyz)
197
+
192
198
  @property_RO
193
199
  def xyz4(self): # PYCHOK no cover
194
200
  '''I{Must be overloaded}.'''
pygeodesy/named.py CHANGED
@@ -34,7 +34,7 @@ from pygeodesy.streprs import attrs, Fmt, lrstrip, pairs, reprs, unstr
34
34
  # from pygeodesy.units import _toUnit # _MODS
35
35
 
36
36
  __all__ = _ALL_LAZY.named
37
- __version__ = '24.07.12'
37
+ __version__ = '24.08.13'
38
38
 
39
39
  _COMMANL_ = _COMMA_ + _NL_
40
40
  _COMMASPACEDOT_ = _COMMASPACE_ + _DOT_
@@ -214,8 +214,8 @@ class _Named(object):
214
214
  def copy(self, deep=False, **name):
215
215
  '''Make a shallow or deep copy of this instance.
216
216
 
217
- @kwarg deep: If C{True} make a deep, otherwise
218
- a shallow copy (C{bool}).
217
+ @kwarg deep: If C{True}, make a deep, otherwise a shallow
218
+ copy (C{bool}).
219
219
  @kwarg name: Optional, non-empty C{B{name}=NN} (C{str}).
220
220
 
221
221
  @return: The copy (C{This class}).
@@ -233,7 +233,8 @@ class _Named(object):
233
233
  def dup(self, deep=False, **items):
234
234
  '''Duplicate this instance, replacing some attributes.
235
235
 
236
- @kwarg deep: If C{True} duplicate deep, otherwise shallow.
236
+ @kwarg deep: If C{True}, duplicate deep, otherwise shallow
237
+ (C{bool}).
237
238
  @kwarg items: Attributes to be changed (C{any}), including
238
239
  optional C{B{name}} (C{str}).
239
240
 
pygeodesy/namedTuples.py CHANGED
@@ -28,7 +28,7 @@ from pygeodesy.units import Band, Bearing, Degrees, Degrees2, Easting, FIx, \
28
28
  Radius, Scalar, Str, INT0
29
29
 
30
30
  __all__ = _ALL_LAZY.namedTuples
31
- __version__ = '24.06.08'
31
+ __version__ = '24.08.18'
32
32
 
33
33
  # __DUNDER gets mangled in class
34
34
  _closest_ = 'closest'
@@ -676,6 +676,12 @@ class Vector3Tuple(_NamedTuple):
676
676
  '''
677
677
  return self
678
678
 
679
+ @property_RO
680
+ def xyz3(self):
681
+ '''Get X, Y and Z components as C{3-tuple}.
682
+ '''
683
+ return tuple(self)
684
+
679
685
 
680
686
  class Vector4Tuple(_NamedTuple): # .nvector.py
681
687
  '''4-Tuple C{(x, y, z, h)} of (geocentric) components, all
@@ -697,6 +703,13 @@ class Vector4Tuple(_NamedTuple): # .nvector.py
697
703
  '''
698
704
  return Vector3Tuple(*self[:3])
699
705
 
706
+ @property_RO
707
+ def xyz3(self):
708
+ '''Get X, Y and Z components as C{3-tuple}.
709
+ '''
710
+ return tuple(self[:3])
711
+
712
+
700
713
  # **) MIT License
701
714
  #
702
715
  # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
pygeodesy/osgr.py CHANGED
@@ -53,7 +53,7 @@ from pygeodesy.utily import degrees90, degrees180, sincostan3, truncate
53
53
  from math import cos, fabs, radians, sin, sqrt
54
54
 
55
55
  __all__ = _ALL_LAZY.osgr
56
- __version__ = '24.06.15'
56
+ __version__ = '24.08.13'
57
57
 
58
58
  _equivalent_ = 'equivalent'
59
59
  _OSGR_ = 'OSGR'
@@ -289,9 +289,9 @@ class Osgr(_NamedBase):
289
289
  @kwarg datum: Optional datum to convert to (L{Datum},
290
290
  L{Ellipsoid}, L{Ellipsoid2}, L{Ellipsoid2}
291
291
  or L{a_f2Tuple}).
292
- @kwarg kTM: If C{True} use I{Karney}'s Krüger method from
293
- module L{ktm}, otherwise use the Ordnance
294
- Survey formulation (C{bool}).
292
+ @kwarg kTM: If C{True}, use I{Karney}'s Krüger method from
293
+ module L{ktm}, otherwise use the Ordnance Survey
294
+ formulation (C{bool}).
295
295
  @kwarg eps: Tolerance for OS convergence (C{meter}).
296
296
  @kwarg LatLon_kwds: Optional, additional B{C{LatLon}} keyword
297
297
  arguments, ignored if C{B{LatLon} is None}.
@@ -585,9 +585,9 @@ def toOsgr(latlon, lon=None, kTM=False, datum=_WGS84, Osgr=Osgr, # MCCABE 14
585
585
  @arg latlon: Latitude (C{degrees}) or an (ellipsoidal) geodetic
586
586
  C{LatLon} point.
587
587
  @kwarg lon: Optional longitude in degrees (scalar or C{None}).
588
- @kwarg kTM: If C{True} use I{Karney}'s Krüger method from
589
- module L{ktm}, otherwise use the Ordnance
590
- Survey formulation (C{bool}).
588
+ @kwarg kTM: If C{True}, use I{Karney}'s Krüger method from
589
+ module L{ktm}, otherwise use the Ordnance Survey
590
+ formulation (C{bool}).
591
591
  @kwarg datum: Optional datum to convert B{C{lat, lon}} from
592
592
  (L{Datum}, L{Ellipsoid}, L{Ellipsoid2} or
593
593
  L{a_f2Tuple}).
pygeodesy/points.py CHANGED
@@ -62,7 +62,7 @@ from pygeodesy.utily import atan2b, degrees90, degrees180, degrees2m, \
62
62
  from math import cos, fabs, fmod as _fmod, radians, sin
63
63
 
64
64
  __all__ = _ALL_LAZY.points
65
- __version__ = '24.06.15'
65
+ __version__ = '24.08.13'
66
66
 
67
67
  _ilat_ = 'ilat'
68
68
  _ilon_ = 'ilon'
@@ -217,7 +217,7 @@ class _Basequence(_Sequence): # immutable, on purpose
217
217
  def copy(self, deep=False): # PYCHOK no cover
218
218
  '''Make a shallow or deep copy of this instance.
219
219
 
220
- @kwarg deep: If C{True} make a deep, otherwise a
220
+ @kwarg deep: If C{True}, make a deep, otherwise a
221
221
  shallow copy (C{bool}).
222
222
 
223
223
  @return: The copy (C{This class}).
pygeodesy/resections.py CHANGED
@@ -34,7 +34,7 @@ from pygeodesy.vector3d import _otherV3d, Vector3d
34
34
  from math import cos, atan2, degrees, fabs, radians, sin, sqrt
35
35
 
36
36
  __all__ = _ALL_LAZY.resections
37
- __version__ = '24.04.14'
37
+ __version__ = '24.08.18'
38
38
 
39
39
  _concyclic_ = 'concyclic'
40
40
  _PA_ = 'PA'
@@ -356,8 +356,8 @@ def pierlot(point1, point2, point3, alpha12, alpha23, useZ=False, eps=EPS,
356
356
  def _pierlot3(B1, B2, B3, a12, a23, useZ, cot):
357
357
  '''(INTERNAL) Shared L{pierlot} and L{pierlotx}.
358
358
  '''
359
- x1_, y1_, _ = B1.minus(B2).xyz
360
- x3_, y3_, _ = B3.minus(B2).xyz
359
+ x1_, y1_, _ = B1.minus(B2).xyz3
360
+ x3_, y3_, _ = B3.minus(B2).xyz3
361
361
 
362
362
  s12, c12, s23, c23 = sincos2d_(a12, a23)
363
363
  # cot31 = (1 - cot12 * cot23) / (cot12 + cot32)
@@ -402,7 +402,7 @@ def _pierlot3(B1, B2, B3, a12, a23, useZ, cot):
402
402
  x, y = _pierlotxy2(B2, -K, Y12_23, X12_23, (X31_23 * Y12_23 -
403
403
  X12_23 * Y31_23))
404
404
  else:
405
- x, y, _ = B2.xyz
405
+ x, y, _ = B2.xyz3
406
406
  return x, y, _zidw(x, y, useZ, B1, B2, B3)
407
407
 
408
408
 
@@ -484,8 +484,8 @@ def _pierlotx3(a_z_Bs, useZ, cot, Cs):
484
484
  Cs(4)
485
485
  return _pierlot3(B1, B2, B3, a12, a23, useZ, cot)
486
486
 
487
- x1_, y1_, _ = B1.minus(B3).xyz
488
- x2_, y2_, _ = B2.minus(B3).xyz
487
+ x1_, y1_, _ = B1.minus(B3).xyz3
488
+ x2_, y2_, _ = B2.minus(B3).xyz3
489
489
 
490
490
  K = _Fsumf_(y1_ * x2_, -x1_ * y2_)
491
491
  if K:
@@ -508,7 +508,7 @@ def _pierlotx3(a_z_Bs, useZ, cot, Cs):
508
508
  x, y = _pierlotxy2(B3, K, Y31_23, X31_23, (X31_23 * _Fsumf_(x2_, -x1_) +
509
509
  Y31_23 * _Fsumf_(y2_, -y1_)))
510
510
  else:
511
- x, y, _ = B3.xyz
511
+ x, y, _ = B3.xyz3
512
512
  return x, y, _zidw(x, y, useZ, B1, B2, B3)
513
513
 
514
514
 
pygeodesy/rhumb/solve.py CHANGED
@@ -21,7 +21,7 @@ from pygeodesy.solveBase import _SolveGDictBase, _SolveGDictLineBase
21
21
  from pygeodesy.utily import _unrollon, _Wrap, wrap360
22
22
 
23
23
  __all__ = _ALL_LAZY.rhumb_solve
24
- __version__ = '24.07.11'
24
+ __version__ = '24.08.13'
25
25
 
26
26
 
27
27
  class _RhumbSolveBase(_SolveGDictBase):
@@ -94,8 +94,8 @@ class RhumbSolve(_RhumbSolveBase):
94
94
  # '''Set up a L{RhumbArea} to compute area and
95
95
  # perimeter of a polygon.
96
96
  #
97
- # @kwarg polyline: If C{True} perimeter only, otherwise
98
- # area and perimeter (C{bool}).
97
+ # @kwarg polyline: If C{True}, compute the perimeter only,
98
+ # otherwise perimeter and area (C{bool}).
99
99
  # @kwarg name: Optional C{B{name}=NN} (C{str}).
100
100
  #
101
101
  # @return: A L{RhumbArea} instance.
pygeodesy/simplify.py CHANGED
@@ -86,7 +86,7 @@ from pygeodesy.units import _ALL_LAZY, _1mm, Radius_
86
86
  from math import degrees, fabs, radians
87
87
 
88
88
  __all__ = _ALL_LAZY.simplify
89
- __version__ = '24.05.25'
89
+ __version__ = '24.08.13'
90
90
 
91
91
 
92
92
  # try:
@@ -383,7 +383,7 @@ def simplify1(points, distance=_1mm, radius=R_M, indices=False, **options):
383
383
  @arg points: Path points (C{LatLon}[]).
384
384
  @kwarg distance: Tolerance (C{meter}, same units as B{C{radius}}).
385
385
  @kwarg radius: Mean earth radius (C{meter}).
386
- @kwarg indices: If C{True} return the simplified point indices
386
+ @kwarg indices: If C{True}, return the simplified point indices
387
387
  instead of the simplified points (C{bool}).
388
388
  @kwarg options: Optional keyword arguments passed thru to
389
389
  function L{pygeodesy.equirectangular4}.
@@ -426,9 +426,9 @@ def simplifyRDP(points, distance=_1mm, radius=R_M, shortest=False,
426
426
  @arg points: Path points (C{LatLon}[]).
427
427
  @kwarg distance: Tolerance (C{meter}, same units as B{C{radius}}).
428
428
  @kwarg radius: Mean earth radius (C{meter}).
429
- @kwarg shortest: If C{True} use the I{shortest} otherwise the
429
+ @kwarg shortest: If C{True}, use the I{shortest} otherwise the
430
430
  I{perpendicular} distance (C{bool}).
431
- @kwarg indices: If C{True} return the simplified point indices
431
+ @kwarg indices: If C{True}, return the simplified point indices
432
432
  instead of the simplified points (C{bool}).
433
433
  @kwarg options: Optional keyword arguments passed thru to
434
434
  function L{pygeodesy.equirectangular4}.
@@ -460,9 +460,9 @@ def simplifyRDPm(points, distance=_1mm, radius=R_M, shortest=False,
460
460
  @arg points: Path points (C{LatLon}[]).
461
461
  @kwarg distance: Tolerance (C{meter}, same units as B{C{radius}}).
462
462
  @kwarg radius: Mean earth radius (C{meter}).
463
- @kwarg shortest: If C{True} use the I{shortest} otherwise the
463
+ @kwarg shortest: If C{True}, use the I{shortest} otherwise the
464
464
  I{perpendicular} distance (C{bool}).
465
- @kwarg indices: If C{True} return the simplified point indices
465
+ @kwarg indices: If C{True}, return the simplified point indices
466
466
  instead of the simplified points (C{bool}).
467
467
  @kwarg options: Optional keyword arguments passed thru to
468
468
  function L{pygeodesy.equirectangular4}.
@@ -491,9 +491,9 @@ def simplifyRW(points, pipe=_1mm, radius=R_M, shortest=False,
491
491
  @kwarg pipe: Pipe radius, half-width (C{meter}, same units as
492
492
  B{C{radius}}).
493
493
  @kwarg radius: Mean earth radius (C{meter}).
494
- @kwarg shortest: If C{True} use the I{shortest} otherwise the
494
+ @kwarg shortest: If C{True}, use the I{shortest} otherwise the
495
495
  I{perpendicular} distance (C{bool}).
496
- @kwarg indices: If C{True} return the simplified point indices
496
+ @kwarg indices: If C{True}, return the simplified point indices
497
497
  instead of the simplified points (C{bool}).
498
498
  @kwarg options: Optional keyword arguments passed thru to
499
499
  function L{pygeodesy.equirectangular4}.
@@ -544,7 +544,7 @@ def simplifyVW(points, area=_1mm, radius=R_M, attr=None,
544
544
  @kwarg radius: Mean earth radius (C{meter}).
545
545
  @kwarg attr: Optional, points attribute to save the area value
546
546
  (C{str}).
547
- @kwarg indices: If C{True} return the simplified point indices
547
+ @kwarg indices: If C{True}, return the simplified point indices
548
548
  instead of the simplified points (C{bool}).
549
549
  @kwarg options: Optional keyword arguments passed thru to
550
550
  function L{pygeodesy.equirectangular4}.
@@ -600,7 +600,7 @@ def simplifyVWm(points, area=_1mm, radius=R_M, attr=None,
600
600
  @kwarg radius: Mean earth radius (C{meter}).
601
601
  @kwarg attr: Optional, points attribute to save the area value
602
602
  (C{str}).
603
- @kwarg indices: If C{True} return the simplified point indices
603
+ @kwarg indices: If C{True}, return the simplified point indices
604
604
  instead of the simplified points (C{bool}).
605
605
  @kwarg options: Optional keyword arguments passed thru to
606
606
  function L{pygeodesy.equirectangular4}.
@@ -40,7 +40,7 @@ from pygeodesy.utily import acos1, asin1, atan2b, atan2d, degrees90, \
40
40
  from math import cos, fabs, log, sin, sqrt
41
41
 
42
42
  __all__ = _ALL_LAZY.sphericalBase
43
- __version__ = '24.06.12'
43
+ __version__ = '24.08,13'
44
44
 
45
45
 
46
46
  class CartesianSphericalBase(CartesianBase):
@@ -210,7 +210,7 @@ class LatLonSphericalBase(LatLonBase):
210
210
  B{C{point}} I{of} the (great circle) line (compass
211
211
  C{degrees}).
212
212
  @kwarg radius: Mean earth radius (C{meter}, conventionally).
213
- @kwarg exact: If C{True} use the I{exact} rhumb methods for azimuth,
213
+ @kwarg exact: If C{True}, use the I{exact} rhumb methods for azimuth,
214
214
  destination and distance, if C{False} use the basic
215
215
  rhumb methods (C{bool}) or if C{None} use the I{great
216
216
  circle} methods.
@@ -474,7 +474,7 @@ class LatLonSphericalBase(LatLonBase):
474
474
  @arg other: An other point (this I{on} C{LatLon}) or the azimuth I{of}
475
475
  (compass C{degrees}) the rhumb line.
476
476
  @kwarg radius: Mean earth radius (C{meter}, conventionally).
477
- @kwarg exact: If C{True} use the I{exact} rhumb methods for azimuth,
477
+ @kwarg exact: If C{True}, use the I{exact} rhumb methods for azimuth,
478
478
  destination and distance, if C{False} use the basic
479
479
  rhumb methods (C{bool}) or if C{None} use the I{great
480
480
  circle} methods.
@@ -54,7 +54,7 @@ from pygeodesy.vector3d import sumOf, Vector3d
54
54
  from math import asin, atan2, cos, degrees, fabs, radians, sin
55
55
 
56
56
  __all__ = _ALL_LAZY.sphericalTrigonometry
57
- __version__ = '24.06.21'
57
+ __version__ = '24.08.13'
58
58
 
59
59
  _PI_EPS4 = PI - EPS4
60
60
  if _PI_EPS4 >= PI:
@@ -706,7 +706,7 @@ class LatLon(LatLonSphericalBase):
706
706
  @arg distance2: Distance to point2 (C{meter}, same units as B{C{radius}}).
707
707
  @arg point3: Third center point (C{LatLon}).
708
708
  @arg distance3: Distance to point3 (C{meter}, same units as B{C{radius}}).
709
- @kwarg area: If C{True} compute the area overlap, otherwise the perimeter
709
+ @kwarg area: If C{True}, compute the area overlap, otherwise the perimeter
710
710
  intersection of the circles (C{bool}).
711
711
  @kwarg eps: The required I{minimal overlap} for C{B{area}=True} or the
712
712
  I{intersection margin} if C{B{area}=False} (C{meter}, same
pygeodesy/streprs.py CHANGED
@@ -22,7 +22,7 @@ from pygeodesy.lazily import _ALL_LAZY, _ALL_MODS as _MODS, _dunder_nameof
22
22
  from math import fabs, log10 as _log10
23
23
 
24
24
  __all__ = _ALL_LAZY.streprs
25
- __version__ = '24.06.15'
25
+ __version__ = '24.08.13'
26
26
 
27
27
  _at_ = 'at' # PYCHOK used!
28
28
  _EN_PREC = 6 # max MGRS/OSGR precision, 1 micrometer
@@ -310,8 +310,8 @@ def fstr(floats, prec=6, fmt=Fmt.F, ints=False, sep=_COMMASPACE_, strepr=None, f
310
310
  @kwarg strepr: Optional callable to format non-C{floats} (typically
311
311
  C{repr}, C{str}) or C{None} to raise a TypeError and used
312
312
  only if C{B{force} is not True}.
313
- @kwarg force: If C{True} format all B{C{floats}} using B{C{fmt}},
314
- otherwise use B{C{strepr}} for non-C{floats}.
313
+ @kwarg force: If C{True}, format all B{C{floats}} using B{C{fmt}},
314
+ otherwise use B{C{strepr}} for non-C{floats} (C{bool}).
315
315
 
316
316
  @return: The C{sep.join(strs(floats, ...)} joined (C{str}) or single
317
317
  C{strs((floats,), ...)} (C{str}) if B{C{floats}} is C{scalar}.