pygeodesy 24.12.12__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.
- {PyGeodesy-24.12.12.dist-info → PyGeodesy-25.1.5.dist-info}/METADATA +32 -33
- {PyGeodesy-24.12.12.dist-info → PyGeodesy-25.1.5.dist-info}/RECORD +26 -26
- pygeodesy/__init__.py +16 -16
- pygeodesy/basics.py +59 -7
- pygeodesy/constants.py +2 -2
- pygeodesy/deprecated/__init__.py +1 -1
- pygeodesy/deprecated/classes.py +85 -1
- pygeodesy/deprecated/datum.py +4 -4
- pygeodesy/deprecated/functions.py +25 -1
- pygeodesy/ecef.py +4 -4
- pygeodesy/fmath.py +2 -2
- pygeodesy/formy.py +350 -463
- pygeodesy/frechet.py +28 -85
- pygeodesy/geodesici.py +4 -4
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/__main__.py +3 -4
- pygeodesy/geoids.py +276 -202
- pygeodesy/hausdorff.py +22 -80
- pygeodesy/heights.py +114 -149
- pygeodesy/latlonBase.py +51 -87
- pygeodesy/lazily.py +44 -35
- pygeodesy/ltpTuples.py +2 -2
- pygeodesy/named.py +11 -11
- pygeodesy/utily.py +188 -115
- {PyGeodesy-24.12.12.dist-info → PyGeodesy-25.1.5.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.12.12.dist-info → PyGeodesy-25.1.5.dist-info}/top_level.txt +0 -0
pygeodesy/hausdorff.py
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
u'''Hausdorff distances.
|
|
5
5
|
|
|
6
6
|
Classes L{Hausdorff}, L{HausdorffDegrees}, L{HausdorffRadians},
|
|
7
|
-
L{HausdorffCosineAndoyerLambert}, L{HausdorffCosineForsytheAndoyerLambert},
|
|
8
7
|
L{HausdorffCosineLaw}, L{HausdorffDistanceTo}, L{HausdorffEquirectangular},
|
|
9
8
|
L{HausdorffEuclidean}, L{HausdorffFlatLocal}, L{HausdorffFlatPolar},
|
|
10
9
|
L{HausdorffHaversine}, L{HausdorffHubeny}, L{HausdorffKarney},
|
|
@@ -85,7 +84,7 @@ from pygeodesy import unitsBase as _unitsBase # _Str_..., _xUnit, _xUnits
|
|
|
85
84
|
from random import Random
|
|
86
85
|
|
|
87
86
|
__all__ = _ALL_LAZY.hausdorff
|
|
88
|
-
__version__ = '24.
|
|
87
|
+
__version__ = '24.12.31'
|
|
89
88
|
|
|
90
89
|
|
|
91
90
|
class HausdorffError(PointsError):
|
|
@@ -171,7 +170,7 @@ class Hausdorff(_Named):
|
|
|
171
170
|
return self._hausdorff_(point2s, False, early, self.distance)
|
|
172
171
|
|
|
173
172
|
def distance(self, point1, point2):
|
|
174
|
-
'''Return the distance between B{C{point1}} and B{C{
|
|
173
|
+
'''Return the distance between B{C{point1}} and B{C{point2}},
|
|
175
174
|
subject to the supplied optional keyword arguments, see
|
|
176
175
|
property C{kwds}.
|
|
177
176
|
'''
|
|
@@ -341,7 +340,7 @@ class _HausdorffMeterRadians(Hausdorff):
|
|
|
341
340
|
return self._hausdorff_(point2s, True, early, _formy._radistance(self))
|
|
342
341
|
|
|
343
342
|
@Property
|
|
344
|
-
def _func_(self):
|
|
343
|
+
def _func_(self): # see _formy._radistance
|
|
345
344
|
'''(INTERNAL) I{Must be overloaded}.'''
|
|
346
345
|
self._notOverloaded(**self.kwds)
|
|
347
346
|
|
|
@@ -350,69 +349,22 @@ class _HausdorffMeterRadians(Hausdorff):
|
|
|
350
349
|
return _formy._Propy(func, 3, self.kwds)
|
|
351
350
|
|
|
352
351
|
|
|
353
|
-
class HausdorffCosineAndoyerLambert(_HausdorffMeterRadians):
|
|
354
|
-
'''Compute the C{Hausdorff} distance based on the I{angular} distance
|
|
355
|
-
in C{radians} from function L{pygeodesy.cosineAndoyerLambert}.
|
|
356
|
-
'''
|
|
357
|
-
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
358
|
-
'''New L{HausdorffCosineAndoyerLambert} calculator.
|
|
359
|
-
|
|
360
|
-
@kwarg seed_name__datum_wrap: Optional C{B{seed}=None} and
|
|
361
|
-
C{B{name}=NN} and keyword arguments for
|
|
362
|
-
function L{pygeodesy.cosineAndoyerLambert}.
|
|
363
|
-
|
|
364
|
-
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
365
|
-
B{C{seed}}, B{C{name}} and other exceptions.
|
|
366
|
-
'''
|
|
367
|
-
Hausdorff.__init__(self, point1s, **seed_name__datum_wrap)
|
|
368
|
-
self._func = _formy.cosineAndoyerLambert
|
|
369
|
-
self._func_ = _formy.cosineAndoyerLambert_
|
|
370
|
-
|
|
371
|
-
if _FOR_DOCS:
|
|
372
|
-
directed = Hausdorff.directed
|
|
373
|
-
symmetric = Hausdorff.symmetric
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
class HausdorffCosineForsytheAndoyerLambert(_HausdorffMeterRadians):
|
|
377
|
-
'''Compute the C{Hausdorff} distance based on the I{angular} distance
|
|
378
|
-
in C{radians} from function L{pygeodesy.cosineForsytheAndoyerLambert}.
|
|
379
|
-
'''
|
|
380
|
-
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
381
|
-
'''New L{HausdorffCosineForsytheAndoyerLambert} calculator.
|
|
382
|
-
|
|
383
|
-
@kwarg seed_name__datum_wrap: Optional C{B{seed}=None} and
|
|
384
|
-
C{B{name}=NN} and keyword arguments for function
|
|
385
|
-
L{pygeodesy.cosineForsytheAndoyerLambert}.
|
|
386
|
-
|
|
387
|
-
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
388
|
-
B{C{seed}}, B{C{name}} and other exceptions.
|
|
389
|
-
'''
|
|
390
|
-
Hausdorff.__init__(self, point1s, **seed_name__datum_wrap)
|
|
391
|
-
self._func = _formy.cosineForsytheAndoyerLambert
|
|
392
|
-
self._func_ = _formy.cosineForsytheAndoyerLambert_
|
|
393
|
-
|
|
394
|
-
if _FOR_DOCS:
|
|
395
|
-
directed = Hausdorff.directed
|
|
396
|
-
symmetric = Hausdorff.symmetric
|
|
397
|
-
|
|
398
|
-
|
|
399
352
|
class HausdorffCosineLaw(_HausdorffMeterRadians):
|
|
400
|
-
'''Compute the C{Hausdorff} distance
|
|
401
|
-
distance in C{radians} from function L{pygeodesy.cosineLaw_}.
|
|
353
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.cosineLaw_}.
|
|
402
354
|
|
|
403
355
|
@note: See note at function L{pygeodesy.vincentys_}.
|
|
404
356
|
'''
|
|
405
|
-
def __init__(self, point1s, **
|
|
357
|
+
def __init__(self, point1s, **seed_name__corr_earth_wrap):
|
|
406
358
|
'''New L{HausdorffCosineLaw} calculator.
|
|
407
359
|
|
|
408
|
-
@kwarg
|
|
409
|
-
|
|
410
|
-
|
|
360
|
+
@kwarg seed_name__corr_earth_wrap: Optional C{B{seed}=None} and
|
|
361
|
+
C{B{name}=NN} and keyword arguments for function
|
|
362
|
+
L{pygeodesy.cosineLaw}.
|
|
411
363
|
|
|
412
364
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
413
365
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
414
366
|
'''
|
|
415
|
-
Hausdorff.__init__(self, point1s, **
|
|
367
|
+
Hausdorff.__init__(self, point1s, **seed_name__corr_earth_wrap)
|
|
416
368
|
self._func = _formy.cosineLaw
|
|
417
369
|
self._func_ = _formy.cosineLaw_
|
|
418
370
|
|
|
@@ -422,8 +374,7 @@ class HausdorffCosineLaw(_HausdorffMeterRadians):
|
|
|
422
374
|
|
|
423
375
|
|
|
424
376
|
class HausdorffDistanceTo(Hausdorff):
|
|
425
|
-
'''Compute the C{Hausdorff} distance
|
|
426
|
-
points' C{LatLon.distanceTo} method, conventionally in C{meter}.
|
|
377
|
+
'''Compute the C{Hausdorff} distance the points' C{LatLon.distanceTo} method.
|
|
427
378
|
'''
|
|
428
379
|
_units = _unitsBase._Str_meter
|
|
429
380
|
|
|
@@ -460,8 +411,7 @@ class HausdorffDistanceTo(Hausdorff):
|
|
|
460
411
|
|
|
461
412
|
|
|
462
413
|
class HausdorffEquirectangular(Hausdorff):
|
|
463
|
-
'''Compute the C{Hausdorff} distance
|
|
464
|
-
in C{radians squared} like function L{pygeodesy.equirectangular}.
|
|
414
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.equirectangular}.
|
|
465
415
|
'''
|
|
466
416
|
_units = _unitsBase._Str_degrees2
|
|
467
417
|
|
|
@@ -486,8 +436,7 @@ class HausdorffEquirectangular(Hausdorff):
|
|
|
486
436
|
|
|
487
437
|
|
|
488
438
|
class HausdorffEuclidean(_HausdorffMeterRadians):
|
|
489
|
-
'''Compute the C{Hausdorff} distance
|
|
490
|
-
distance in C{radians} from function L{pygeodesy.euclidean_}.
|
|
439
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.euclidean_}.
|
|
491
440
|
'''
|
|
492
441
|
def __init__(self, point1s, **seed_name__adjust_radius_wrap):
|
|
493
442
|
'''New L{HausdorffEuclidean} calculator.
|
|
@@ -509,8 +458,7 @@ class HausdorffEuclidean(_HausdorffMeterRadians):
|
|
|
509
458
|
|
|
510
459
|
|
|
511
460
|
class HausdorffExact(Hausdorff):
|
|
512
|
-
'''Compute the C{Hausdorff} distance
|
|
513
|
-
distance in C{degrees} from method L{GeodesicExact}C{.Inverse}.
|
|
461
|
+
'''Compute the C{Hausdorff} distance with method L{GeodesicExact}C{.Inverse}.
|
|
514
462
|
'''
|
|
515
463
|
_units = _unitsBase._Str_degrees
|
|
516
464
|
|
|
@@ -539,8 +487,7 @@ class HausdorffExact(Hausdorff):
|
|
|
539
487
|
|
|
540
488
|
|
|
541
489
|
class HausdorffFlatLocal(_HausdorffMeterRadians):
|
|
542
|
-
'''Compute the C{Hausdorff} distance
|
|
543
|
-
C{radians squared} like function L{pygeodesy.flatLocal_}/L{pygeodesy.hubeny_}.
|
|
490
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.flatLocal_}/L{pygeodesy.hubeny_}.
|
|
544
491
|
'''
|
|
545
492
|
_units = _unitsBase._Str_radians2
|
|
546
493
|
|
|
@@ -566,8 +513,7 @@ class HausdorffFlatLocal(_HausdorffMeterRadians):
|
|
|
566
513
|
|
|
567
514
|
|
|
568
515
|
class HausdorffFlatPolar(_HausdorffMeterRadians):
|
|
569
|
-
'''Compute the C{Hausdorff} distance
|
|
570
|
-
distance in C{radians} from function L{pygeodesy.flatPolar_}.
|
|
516
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.flatPolar_}.
|
|
571
517
|
'''
|
|
572
518
|
_wrap = False
|
|
573
519
|
|
|
@@ -591,8 +537,7 @@ class HausdorffFlatPolar(_HausdorffMeterRadians):
|
|
|
591
537
|
|
|
592
538
|
|
|
593
539
|
class HausdorffHaversine(_HausdorffMeterRadians):
|
|
594
|
-
'''Compute the C{Hausdorff} distance
|
|
595
|
-
distance in C{radians} from function L{pygeodesy.haversine_}.
|
|
540
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.haversine_}.
|
|
596
541
|
|
|
597
542
|
@note: See note under L{HausdorffVincentys}.
|
|
598
543
|
'''
|
|
@@ -627,11 +572,10 @@ class HausdorffHubeny(HausdorffFlatLocal): # for Karl Hubeny
|
|
|
627
572
|
|
|
628
573
|
|
|
629
574
|
class HausdorffKarney(Hausdorff):
|
|
630
|
-
'''Compute the C{Hausdorff} distance
|
|
631
|
-
|
|
632
|
-
<https://
|
|
633
|
-
|
|
634
|
-
Inverse method.
|
|
575
|
+
'''Compute the C{Hausdorff} distance with I{Karney}'s U{geographiclib
|
|
576
|
+
<https://PyPI.org/project/geographiclib>} U{geodesic.Geodesic
|
|
577
|
+
<https://GeographicLib.SourceForge.io/Python/doc/code.html>}C{.Inverse}
|
|
578
|
+
method.
|
|
635
579
|
'''
|
|
636
580
|
_units = _unitsBase._Str_degrees
|
|
637
581
|
|
|
@@ -659,8 +603,7 @@ class HausdorffKarney(Hausdorff):
|
|
|
659
603
|
|
|
660
604
|
|
|
661
605
|
class HausdorffThomas(_HausdorffMeterRadians):
|
|
662
|
-
'''Compute the C{Hausdorff} distance
|
|
663
|
-
distance in C{radians} from function L{pygeodesy.thomas_}.
|
|
606
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.thomas_}.
|
|
664
607
|
'''
|
|
665
608
|
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
666
609
|
'''New L{HausdorffThomas} calculator.
|
|
@@ -682,8 +625,7 @@ class HausdorffThomas(_HausdorffMeterRadians):
|
|
|
682
625
|
|
|
683
626
|
|
|
684
627
|
class HausdorffVincentys(_HausdorffMeterRadians):
|
|
685
|
-
'''Compute the C{Hausdorff} distance
|
|
686
|
-
distance in C{radians} from function L{pygeodesy.vincentys_}.
|
|
628
|
+
'''Compute the C{Hausdorff} distance with function L{pygeodesy.vincentys_}.
|
|
687
629
|
|
|
688
630
|
@note: See note at function L{pygeodesy.vincentys_}.
|
|
689
631
|
'''
|