pygeodesy 24.5.15__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.15.dist-info → PyGeodesy-24.5.24.dist-info}/METADATA +2 -2
- PyGeodesy-24.5.24.dist-info/RECORD +116 -0
- pygeodesy/__init__.py +1 -1
- pygeodesy/albers.py +41 -41
- pygeodesy/auxilats/__init__.py +1 -1
- pygeodesy/auxilats/auxAngle.py +32 -31
- pygeodesy/auxilats/auxLat.py +80 -51
- pygeodesy/azimuthal.py +123 -124
- pygeodesy/basics.py +8 -6
- pygeodesy/booleans.py +11 -12
- pygeodesy/cartesianBase.py +25 -23
- pygeodesy/clipy.py +3 -3
- pygeodesy/css.py +50 -42
- pygeodesy/datums.py +42 -41
- pygeodesy/dms.py +6 -6
- pygeodesy/ecef.py +23 -24
- pygeodesy/ellipsoidalBase.py +28 -27
- pygeodesy/ellipsoidalBaseDI.py +3 -4
- pygeodesy/ellipsoidalNvector.py +11 -12
- pygeodesy/ellipsoids.py +41 -35
- pygeodesy/elliptic.py +3 -4
- pygeodesy/epsg.py +4 -3
- pygeodesy/errors.py +34 -12
- pygeodesy/etm.py +62 -54
- pygeodesy/fmath.py +36 -30
- pygeodesy/formy.py +93 -65
- pygeodesy/frechet.py +117 -102
- pygeodesy/fstats.py +21 -14
- pygeodesy/fsums.py +67 -57
- pygeodesy/gars.py +10 -9
- pygeodesy/geodesicw.py +19 -17
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/gx.py +40 -32
- pygeodesy/geodesicx/gxarea.py +12 -9
- pygeodesy/geodesicx/gxbases.py +3 -4
- pygeodesy/geodesicx/gxline.py +6 -8
- pygeodesy/geodsolve.py +28 -27
- pygeodesy/geohash.py +47 -44
- pygeodesy/geoids.py +34 -32
- pygeodesy/hausdorff.py +112 -99
- pygeodesy/heights.py +134 -127
- pygeodesy/internals.py +14 -9
- pygeodesy/interns.py +3 -6
- pygeodesy/iters.py +19 -17
- pygeodesy/karney.py +15 -12
- pygeodesy/ktm.py +25 -18
- pygeodesy/latlonBase.py +12 -11
- pygeodesy/lazily.py +4 -4
- pygeodesy/lcc.py +24 -25
- pygeodesy/ltp.py +83 -71
- pygeodesy/ltpTuples.py +7 -5
- pygeodesy/mgrs.py +3 -3
- pygeodesy/named.py +126 -42
- pygeodesy/namedTuples.py +33 -25
- pygeodesy/nvectorBase.py +7 -7
- pygeodesy/points.py +9 -9
- pygeodesy/rhumb/__init__.py +1 -1
- pygeodesy/solveBase.py +5 -5
- pygeodesy/sphericalTrigonometry.py +5 -5
- pygeodesy/streprs.py +5 -5
- pygeodesy/trf.py +5 -5
- pygeodesy/triaxials.py +67 -63
- pygeodesy/units.py +35 -35
- pygeodesy/unitsBase.py +24 -11
- pygeodesy/utm.py +53 -53
- pygeodesy/utmupsBase.py +10 -8
- pygeodesy/vector2d.py +6 -7
- pygeodesy/vector3d.py +16 -17
- pygeodesy/vector3dBase.py +4 -5
- PyGeodesy-24.5.15.dist-info/RECORD +0 -116
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.5.24.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.5.24.dist-info}/top_level.txt +0 -0
pygeodesy/hausdorff.py
CHANGED
|
@@ -74,7 +74,7 @@ import pygeodesy.formy as _formy
|
|
|
74
74
|
from pygeodesy.interns import NN, _i_, _j_, _units_
|
|
75
75
|
# from pygeodesy.iters import points2 # from .points
|
|
76
76
|
from pygeodesy.lazily import _ALL_LAZY, _FOR_DOCS
|
|
77
|
-
from pygeodesy.named import _Named, _NamedTuple, _Pass
|
|
77
|
+
from pygeodesy.named import _name2__, _Named, _NamedTuple, _Pass
|
|
78
78
|
# from pygeodesy.namedTuples import PhiLam2Tuple # from .points
|
|
79
79
|
from pygeodesy.points import _distanceTo, points2 as _points2, PhiLam2Tuple, radians
|
|
80
80
|
from pygeodesy.props import Property_RO, property_doc_, property_RO
|
|
@@ -86,7 +86,7 @@ from pygeodesy.unitsBase import _Str_degrees, _Str_degrees2, _Str_meter, _Str_NN
|
|
|
86
86
|
from random import Random
|
|
87
87
|
|
|
88
88
|
__all__ = _ALL_LAZY.hausdorff
|
|
89
|
-
__version__ = '24.
|
|
89
|
+
__version__ = '24.05.24'
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
class HausdorffError(PointsError):
|
|
@@ -100,35 +100,36 @@ class Hausdorff(_Named):
|
|
|
100
100
|
be overloaded.
|
|
101
101
|
'''
|
|
102
102
|
_datum = _WGS84
|
|
103
|
-
_func = None # formy function
|
|
103
|
+
_func = None # formy function/property
|
|
104
104
|
_kwds = {} # func_ options
|
|
105
105
|
_model = ()
|
|
106
106
|
_seed = None
|
|
107
107
|
_units = _Str_NN # XXX Str to _Pass and for backward compatibility
|
|
108
108
|
|
|
109
|
-
def __init__(self, point1s, seed=None,
|
|
109
|
+
def __init__(self, point1s, seed=None, units=NN, **name__kwds):
|
|
110
110
|
'''New C{Hausdorff...} calculator.
|
|
111
111
|
|
|
112
|
-
@arg point1s: Initial set of points, aka the C{model} or
|
|
113
|
-
C{
|
|
114
|
-
C{
|
|
115
|
-
@kwarg seed: Random sampling seed (C{any}) or C{None}, C{0}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
@kwarg name: Optional name for this interpolator (C{str}).
|
|
112
|
+
@arg point1s: Initial set of points, aka the C{model} or C{template}
|
|
113
|
+
(C{LatLon}[], C{Numpy2LatLon}[], C{Tuple2LatLon}[] or
|
|
114
|
+
C{other}[]).
|
|
115
|
+
@kwarg seed: Random sampling seed (C{any}) or C{None}, C{0} or C{False}
|
|
116
|
+
for no U{random sampling<https://Publik.TUWien.ac.AT/files/
|
|
117
|
+
PubDat_247739.pdf>}.
|
|
119
118
|
@kwarg units: Optional, the distance units (C{Unit} or C{str}).
|
|
120
|
-
@kwarg
|
|
121
|
-
|
|
119
|
+
@kwarg name__kwds: Optional calculator/interpolator C{B{name}=NN} (C{str})
|
|
120
|
+
and keyword arguments for the distance function, retrievable
|
|
121
|
+
with property C{kwds}.
|
|
122
122
|
|
|
123
|
-
@raise HausdorffError: Insufficient number of B{C{point1s}}
|
|
124
|
-
|
|
125
|
-
or B{C{units}}.
|
|
123
|
+
@raise HausdorffError: Insufficient number of B{C{point1s}} or an invalid
|
|
124
|
+
B{C{point1}}, B{C{seed}} or B{C{units}}.
|
|
126
125
|
'''
|
|
126
|
+
name, kwds = _name2__(**name__kwds) # name__=self.__class__
|
|
127
|
+
if name:
|
|
128
|
+
self.name = name
|
|
129
|
+
|
|
127
130
|
_, self._model = self._points2(point1s)
|
|
128
131
|
if seed:
|
|
129
132
|
self.seed = seed
|
|
130
|
-
if name:
|
|
131
|
-
self.name = name
|
|
132
133
|
if units: # and not self.units:
|
|
133
134
|
self.units = units
|
|
134
135
|
if kwds:
|
|
@@ -178,6 +179,15 @@ class Hausdorff(_Named):
|
|
|
178
179
|
return self._func(point1.lat, point1.lon,
|
|
179
180
|
point2.lat, point2.lon, **self._kwds)
|
|
180
181
|
|
|
182
|
+
@property
|
|
183
|
+
def _func(self):
|
|
184
|
+
'''(INTERNAL) I{Must be overloaded}.'''
|
|
185
|
+
return _formy._Propy(self, 0, _func=None)
|
|
186
|
+
|
|
187
|
+
@_func.setter # PYCHOK setter!
|
|
188
|
+
def _func(self, func):
|
|
189
|
+
_formy._Propy(self, 4, _func=func)
|
|
190
|
+
|
|
181
191
|
def _hausdorff_(self, point2s, both, early, distance):
|
|
182
192
|
_, ps2 = self._points2(point2s)
|
|
183
193
|
return _hausdorff_(self._model, ps2, both, early, self.seed,
|
|
@@ -288,8 +298,7 @@ class HausdorffRadians(Hausdorff):
|
|
|
288
298
|
symmetric = Hausdorff.symmetric
|
|
289
299
|
|
|
290
300
|
def distance(self, point1, point2): # PYCHOK no cover
|
|
291
|
-
'''
|
|
292
|
-
I{Must be overloaded}.'''
|
|
301
|
+
'''I{Must be overloaded}.'''
|
|
293
302
|
self._notOverloaded(point1, point2)
|
|
294
303
|
|
|
295
304
|
def point(self, point):
|
|
@@ -332,26 +341,31 @@ class _HausdorffMeterRadians(Hausdorff):
|
|
|
332
341
|
'''
|
|
333
342
|
return self._hausdorff_(point2s, True, early, _formy._radistance(self))
|
|
334
343
|
|
|
335
|
-
|
|
344
|
+
@property
|
|
345
|
+
def _func_(self):
|
|
336
346
|
'''(INTERNAL) I{Must be overloaded}.'''
|
|
337
|
-
|
|
347
|
+
return _formy._Propy(self, 0, _func_=None)
|
|
348
|
+
|
|
349
|
+
@_func_.setter # PYCHOK setter!
|
|
350
|
+
def _func_(self, func):
|
|
351
|
+
_formy._Propy(self, 3,_func_=func)
|
|
338
352
|
|
|
339
353
|
|
|
340
354
|
class HausdorffCosineAndoyerLambert(_HausdorffMeterRadians):
|
|
341
355
|
'''Compute the C{Hausdorff} distance based on the I{angular} distance
|
|
342
356
|
in C{radians} from function L{pygeodesy.cosineAndoyerLambert}.
|
|
343
357
|
'''
|
|
344
|
-
def __init__(self, point1s,
|
|
358
|
+
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
345
359
|
'''New L{HausdorffCosineAndoyerLambert} calculator.
|
|
346
360
|
|
|
347
|
-
|
|
348
|
-
|
|
361
|
+
@kwarg seed_name__datum_wrap: Optional C{B{seed}=None} and
|
|
362
|
+
C{B{name}=NN} and keyword arguments for
|
|
363
|
+
function L{pygeodesy.cosineAndoyerLambert}.
|
|
349
364
|
|
|
350
|
-
@
|
|
351
|
-
|
|
365
|
+
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
366
|
+
B{C{seed}}, B{C{name}} and other exceptions.
|
|
352
367
|
'''
|
|
353
|
-
Hausdorff.__init__(self, point1s,
|
|
354
|
-
**datum_wrap)
|
|
368
|
+
Hausdorff.__init__(self, point1s, **seed_name__datum_wrap)
|
|
355
369
|
self._func = _formy.cosineAndoyerLambert
|
|
356
370
|
self._func_ = _formy.cosineAndoyerLambert_
|
|
357
371
|
|
|
@@ -364,17 +378,17 @@ class HausdorffCosineForsytheAndoyerLambert(_HausdorffMeterRadians):
|
|
|
364
378
|
'''Compute the C{Hausdorff} distance based on the I{angular} distance
|
|
365
379
|
in C{radians} from function L{pygeodesy.cosineForsytheAndoyerLambert}.
|
|
366
380
|
'''
|
|
367
|
-
def __init__(self, point1s,
|
|
381
|
+
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
368
382
|
'''New L{HausdorffCosineForsytheAndoyerLambert} calculator.
|
|
369
383
|
|
|
384
|
+
@kwarg seed_name__datum_wrap: Optional C{B{seed}=None} and
|
|
385
|
+
C{B{name}=NN} and keyword arguments for function
|
|
386
|
+
L{pygeodesy.cosineForsytheAndoyerLambert}.
|
|
387
|
+
|
|
370
388
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
371
389
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
372
|
-
|
|
373
|
-
@kwarg datum_wrap: Optional keyword arguments for function
|
|
374
|
-
L{pygeodesy.cosineAndoyerLambert}.
|
|
375
390
|
'''
|
|
376
|
-
Hausdorff.__init__(self, point1s,
|
|
377
|
-
**datum_wrap)
|
|
391
|
+
Hausdorff.__init__(self, point1s, **seed_name__datum_wrap)
|
|
378
392
|
self._func = _formy.cosineForsytheAndoyerLambert
|
|
379
393
|
self._func_ = _formy.cosineForsytheAndoyerLambert_
|
|
380
394
|
|
|
@@ -389,17 +403,17 @@ class HausdorffCosineLaw(_HausdorffMeterRadians):
|
|
|
389
403
|
|
|
390
404
|
@note: See note at function L{pygeodesy.vincentys_}.
|
|
391
405
|
'''
|
|
392
|
-
def __init__(self, point1s,
|
|
406
|
+
def __init__(self, point1s, **seed_name__radius_wrap):
|
|
393
407
|
'''New L{HausdorffCosineLaw} calculator.
|
|
394
408
|
|
|
395
|
-
@kwarg
|
|
396
|
-
|
|
409
|
+
@kwarg seed_name__radius_wrap: Optional C{B{seed}=None} and
|
|
410
|
+
C{B{name}=NN} and keyword arguments for
|
|
411
|
+
function L{pygeodesy.cosineLaw}.
|
|
397
412
|
|
|
398
413
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
399
414
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
400
415
|
'''
|
|
401
|
-
Hausdorff.__init__(self, point1s,
|
|
402
|
-
**radius_wrap)
|
|
416
|
+
Hausdorff.__init__(self, point1s, **seed_name__radius_wrap)
|
|
403
417
|
self._func = _formy.cosineLaw
|
|
404
418
|
self._func_ = _formy.cosineLaw_
|
|
405
419
|
|
|
@@ -414,12 +428,12 @@ class HausdorffDistanceTo(Hausdorff):
|
|
|
414
428
|
'''
|
|
415
429
|
_units = _Str_meter
|
|
416
430
|
|
|
417
|
-
def __init__(self, point1s,
|
|
431
|
+
def __init__(self, point1s, **seed_name__distanceTo_kwds):
|
|
418
432
|
'''New L{HausdorffDistanceTo} calculator.
|
|
419
433
|
|
|
420
|
-
@kwarg
|
|
421
|
-
|
|
422
|
-
|
|
434
|
+
@kwarg seed_name__distanceTo_kwds: Optional C{B{seed}=None} and
|
|
435
|
+
C{B{name}=NN} and keyword arguments for each
|
|
436
|
+
B{C{point1s}}' C{LatLon.distanceTo} method.
|
|
423
437
|
|
|
424
438
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
425
439
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
@@ -428,8 +442,7 @@ class HausdorffDistanceTo(Hausdorff):
|
|
|
428
442
|
I{must} be instances of the same ellipsoidal or
|
|
429
443
|
spherical C{LatLon} class.
|
|
430
444
|
'''
|
|
431
|
-
Hausdorff.__init__(self, point1s,
|
|
432
|
-
**distanceTo_kwds)
|
|
445
|
+
Hausdorff.__init__(self, point1s, **seed_name__distanceTo_kwds)
|
|
433
446
|
|
|
434
447
|
if _FOR_DOCS:
|
|
435
448
|
directed = Hausdorff.directed
|
|
@@ -453,19 +466,19 @@ class HausdorffEquirectangular(Hausdorff):
|
|
|
453
466
|
'''
|
|
454
467
|
_units = _Str_degrees2
|
|
455
468
|
|
|
456
|
-
def __init__(self, point1s,
|
|
469
|
+
def __init__(self, point1s, **seed_name__adjust_limit_wrap):
|
|
457
470
|
'''New L{HausdorffEquirectangular} calculator.
|
|
458
471
|
|
|
459
|
-
@kwarg
|
|
460
|
-
|
|
461
|
-
|
|
472
|
+
@kwarg seed_name__adjust_limit_wrap: Optional C{B{seed}=None} and
|
|
473
|
+
C{B{name}=NN} and keyword arguments for function
|
|
474
|
+
L{pygeodesy.equirectangular_} I{with default}
|
|
475
|
+
C{B{limit}=0} for I{backward compatibility}.
|
|
462
476
|
|
|
463
477
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
464
478
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
465
479
|
'''
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
**adjust_limit_wrap)
|
|
480
|
+
Hausdorff.__init__(self, point1s, **_xkwds(seed_name__adjust_limit_wrap,
|
|
481
|
+
limit=0))
|
|
469
482
|
self._func = _formy._equirectangular # helper
|
|
470
483
|
|
|
471
484
|
if _FOR_DOCS:
|
|
@@ -477,17 +490,17 @@ class HausdorffEuclidean(_HausdorffMeterRadians):
|
|
|
477
490
|
'''Compute the C{Hausdorff} distance based on the C{Euclidean}
|
|
478
491
|
distance in C{radians} from function L{pygeodesy.euclidean_}.
|
|
479
492
|
'''
|
|
480
|
-
def __init__(self, point1s,
|
|
493
|
+
def __init__(self, point1s, **seed_name__adjust_radius_wrap):
|
|
481
494
|
'''New L{HausdorffEuclidean} calculator.
|
|
482
495
|
|
|
483
|
-
@kwarg
|
|
484
|
-
|
|
496
|
+
@kwarg seed_name__adjust_radius_wrap: Optional C{B{seed}=None}
|
|
497
|
+
and C{B{name}=NN} and keyword arguments for
|
|
498
|
+
function L{pygeodesy.euclidean}.
|
|
485
499
|
|
|
486
500
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
487
501
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
488
502
|
'''
|
|
489
|
-
Hausdorff.__init__(self, point1s,
|
|
490
|
-
**adjust_wrap)
|
|
503
|
+
Hausdorff.__init__(self, point1s, **seed_name__adjust_radius_wrap)
|
|
491
504
|
self._func = _formy.euclidean
|
|
492
505
|
self._func_ = _formy.euclidean_
|
|
493
506
|
|
|
@@ -502,22 +515,22 @@ class HausdorffExact(Hausdorff):
|
|
|
502
515
|
'''
|
|
503
516
|
_units = _Str_degrees
|
|
504
517
|
|
|
505
|
-
def __init__(self, point1s,
|
|
518
|
+
def __init__(self, point1s, datum=None, **seed_name__wrap):
|
|
506
519
|
'''New L{HausdorffKarney} calculator.
|
|
507
520
|
|
|
508
|
-
@kwarg datum: Datum to override the default C{Datums.WGS84} and
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
@kwarg
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
515
|
-
B{C{seed}}, B{C{name}} and other exceptions.
|
|
521
|
+
@kwarg datum: Datum to override the default C{Datums.WGS84} and first
|
|
522
|
+
B{C{point1s}}' datum (L{Datum}, L{Ellipsoid}, L{Ellipsoid2}
|
|
523
|
+
or L{a_f2Tuple}).
|
|
524
|
+
@kwarg seed_name__wrap: Optional C{B{seed}=None} and C{B{name}=NN} and
|
|
525
|
+
keyword argument for method C{Inverse1} of class
|
|
526
|
+
L{geodesicx.GeodesicExact}.
|
|
516
527
|
|
|
517
528
|
@raise TypeError: Invalid B{C{datum}}.
|
|
529
|
+
|
|
530
|
+
@see: L{Hausdorff.__init__} for details about B{C{point1s}}, B{C{seed}},
|
|
531
|
+
B{C{name}} and other exceptions.
|
|
518
532
|
'''
|
|
519
|
-
Hausdorff.__init__(self, point1s,
|
|
520
|
-
**wrap)
|
|
533
|
+
Hausdorff.__init__(self, point1s, **seed_name__wrap)
|
|
521
534
|
self._datum_setter(datum)
|
|
522
535
|
self._func = self.datum.ellipsoid.geodesicx.Inverse1 # note -x
|
|
523
536
|
|
|
@@ -532,19 +545,19 @@ class HausdorffFlatLocal(_HausdorffMeterRadians):
|
|
|
532
545
|
'''
|
|
533
546
|
_units = _Str_radians2
|
|
534
547
|
|
|
535
|
-
def __init__(self, point1s,
|
|
548
|
+
def __init__(self, point1s, **seed_name__datum_scaled_wrap):
|
|
536
549
|
'''New L{HausdorffFlatLocal}/L{HausdorffHubeny} calculator.
|
|
537
550
|
|
|
538
|
-
@kwarg
|
|
539
|
-
|
|
551
|
+
@kwarg seed_name__datum_scaled_wrap: Optional C{B{seed}=None} and
|
|
552
|
+
C{B{name}=NN} and keyword arguments for function
|
|
553
|
+
L{pygeodesy.flatLocal}.
|
|
540
554
|
|
|
541
555
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
542
556
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
543
557
|
|
|
544
558
|
@note: The distance C{units} are C{radians squared}, not C{radians}.
|
|
545
559
|
'''
|
|
546
|
-
Hausdorff.__init__(self, point1s,
|
|
547
|
-
**datum_scaled_wrap)
|
|
560
|
+
Hausdorff.__init__(self, point1s, **seed_name__datum_scaled_wrap)
|
|
548
561
|
self._func = _formy.flatLocal
|
|
549
562
|
self._func_ = self.datum.ellipsoid._hubeny_2
|
|
550
563
|
|
|
@@ -559,17 +572,17 @@ class HausdorffFlatPolar(_HausdorffMeterRadians):
|
|
|
559
572
|
'''
|
|
560
573
|
_wrap = False
|
|
561
574
|
|
|
562
|
-
def __init__(self, points,
|
|
575
|
+
def __init__(self, points, **seed_name__radius_wrap):
|
|
563
576
|
'''New L{HausdorffFlatPolar} calculator.
|
|
564
577
|
|
|
565
|
-
@kwarg
|
|
566
|
-
|
|
578
|
+
@kwarg seed_name__radius_wrap: Optional C{B{seed}=None}
|
|
579
|
+
and C{B{name}=NN} and keyword arguments
|
|
580
|
+
for function L{pygeodesy.flatPolar}.
|
|
567
581
|
|
|
568
582
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
569
583
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
570
584
|
'''
|
|
571
|
-
Hausdorff.__init__(self, points,
|
|
572
|
-
**radius_wrap)
|
|
585
|
+
Hausdorff.__init__(self, points, **seed_name__radius_wrap)
|
|
573
586
|
self._func = _formy.flatPolar
|
|
574
587
|
self._func_ = _formy.flatPolar_
|
|
575
588
|
|
|
@@ -586,17 +599,17 @@ class HausdorffHaversine(_HausdorffMeterRadians):
|
|
|
586
599
|
'''
|
|
587
600
|
_wrap = False
|
|
588
601
|
|
|
589
|
-
def __init__(self, points,
|
|
602
|
+
def __init__(self, points, **seed_name__radius_wrap):
|
|
590
603
|
'''New L{HausdorffHaversine} calculator.
|
|
591
604
|
|
|
592
|
-
@kwarg
|
|
593
|
-
|
|
605
|
+
@kwarg seed_name__radius_wrap: Optional C{B{seed}=None}
|
|
606
|
+
and C{B{name}=NN} and keyword arguments
|
|
607
|
+
for function L{pygeodesy.haversine}.
|
|
594
608
|
|
|
595
609
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
596
610
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
597
611
|
'''
|
|
598
|
-
Hausdorff.__init__(self, points,
|
|
599
|
-
**radius_wrap)
|
|
612
|
+
Hausdorff.__init__(self, points, **seed_name__radius_wrap)
|
|
600
613
|
self._func = _formy.haversine
|
|
601
614
|
self._func_ = _formy.haversine_
|
|
602
615
|
|
|
@@ -623,14 +636,15 @@ class HausdorffKarney(Hausdorff):
|
|
|
623
636
|
'''
|
|
624
637
|
_units = _Str_degrees
|
|
625
638
|
|
|
626
|
-
def __init__(self, point1s, datum=None,
|
|
639
|
+
def __init__(self, point1s, datum=None, **seed_name__wrap):
|
|
627
640
|
'''New L{HausdorffKarney} calculator.
|
|
628
641
|
|
|
629
642
|
@kwarg datum: Datum to override the default C{Datums.WGS84} and
|
|
630
643
|
first B{C{knots}}' datum (L{Datum}, L{Ellipsoid},
|
|
631
644
|
L{Ellipsoid2} or L{a_f2Tuple}).
|
|
632
|
-
@kwarg
|
|
633
|
-
|
|
645
|
+
@kwarg seed_name__wrap: Optional C{B{seed}=None} and C{B{name}=NN}
|
|
646
|
+
and keyword arguments for method C{Inverse1} of
|
|
647
|
+
class L{geodesicw.Geodesic}.
|
|
634
648
|
|
|
635
649
|
@raise ImportError: Package U{geographiclib
|
|
636
650
|
<https://PyPI.org/project/geographiclib>} missing.
|
|
@@ -640,8 +654,7 @@ class HausdorffKarney(Hausdorff):
|
|
|
640
654
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
641
655
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
642
656
|
'''
|
|
643
|
-
Hausdorff.__init__(self, point1s,
|
|
644
|
-
**wrap)
|
|
657
|
+
Hausdorff.__init__(self, point1s, **seed_name__wrap)
|
|
645
658
|
self._datum_setter(datum)
|
|
646
659
|
self._func = self.datum.ellipsoid.geodesic.Inverse1
|
|
647
660
|
|
|
@@ -650,17 +663,17 @@ class HausdorffThomas(_HausdorffMeterRadians):
|
|
|
650
663
|
'''Compute the C{Hausdorff} distance based on the I{angular}
|
|
651
664
|
distance in C{radians} from function L{pygeodesy.thomas_}.
|
|
652
665
|
'''
|
|
653
|
-
def __init__(self, point1s,
|
|
666
|
+
def __init__(self, point1s, **seed_name__datum_wrap):
|
|
654
667
|
'''New L{HausdorffThomas} calculator.
|
|
655
668
|
|
|
656
|
-
@kwarg
|
|
657
|
-
|
|
669
|
+
@kwarg seed_name__datum_wrap: Optional C{B{seed}=None}
|
|
670
|
+
and C{B{name}=NN} and keyword arguments
|
|
671
|
+
for function L{pygeodesy.thomas}.
|
|
658
672
|
|
|
659
673
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
660
674
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
661
675
|
'''
|
|
662
|
-
Hausdorff.__init__(self, point1s,
|
|
663
|
-
**datum_wrap)
|
|
676
|
+
Hausdorff.__init__(self, point1s, **seed_name__datum_wrap)
|
|
664
677
|
self._func = _formy.thomas
|
|
665
678
|
self._func_ = _formy.thomas_
|
|
666
679
|
|
|
@@ -677,17 +690,17 @@ class HausdorffVincentys(_HausdorffMeterRadians):
|
|
|
677
690
|
'''
|
|
678
691
|
_wrap = False
|
|
679
692
|
|
|
680
|
-
def __init__(self, point1s,
|
|
693
|
+
def __init__(self, point1s, **seed_name__radius_wrap):
|
|
681
694
|
'''New L{HausdorffVincentys} calculator.
|
|
682
695
|
|
|
683
|
-
@kwarg
|
|
684
|
-
|
|
696
|
+
@kwarg seed_name__radius_wrap: Optional C{B{seed}=None}
|
|
697
|
+
and C{B{name}=NN} and keyword arguments
|
|
698
|
+
for function L{pygeodesy.vincentys}.
|
|
685
699
|
|
|
686
700
|
@see: L{Hausdorff.__init__} for details about B{C{point1s}},
|
|
687
701
|
B{C{seed}}, B{C{name}} and other exceptions.
|
|
688
702
|
'''
|
|
689
|
-
Hausdorff.__init__(self, point1s,
|
|
690
|
-
**radius_wrap)
|
|
703
|
+
Hausdorff.__init__(self, point1s, **seed_name__radius_wrap)
|
|
691
704
|
self._func = _formy.vincentys
|
|
692
705
|
self._func_ = _formy.vincentys_
|
|
693
706
|
|