pygeodesy 24.5.15__py2.py3-none-any.whl → 24.6.1__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.6.1.dist-info}/METADATA +6 -5
- PyGeodesy-24.6.1.dist-info/RECORD +116 -0
- pygeodesy/__init__.py +4 -4
- pygeodesy/albers.py +41 -41
- pygeodesy/auxilats/__init__.py +1 -1
- pygeodesy/auxilats/__main__.py +2 -2
- pygeodesy/auxilats/auxAngle.py +32 -31
- pygeodesy/auxilats/auxLat.py +80 -51
- pygeodesy/azimuthal.py +123 -124
- pygeodesy/basics.py +46 -10
- pygeodesy/booleans.py +13 -14
- pygeodesy/cartesianBase.py +25 -23
- pygeodesy/clipy.py +3 -3
- pygeodesy/constants.py +3 -3
- pygeodesy/css.py +50 -42
- pygeodesy/datums.py +42 -41
- pygeodesy/deprecated/functions.py +9 -3
- pygeodesy/dms.py +6 -6
- pygeodesy/ecef.py +41 -41
- pygeodesy/ellipsoidalBase.py +41 -41
- pygeodesy/ellipsoidalBaseDI.py +3 -4
- pygeodesy/ellipsoidalGeodSolve.py +2 -2
- pygeodesy/ellipsoidalKarney.py +3 -3
- pygeodesy/ellipsoidalNvector.py +11 -12
- pygeodesy/ellipsoids.py +45 -38
- pygeodesy/elliptic.py +3 -4
- pygeodesy/epsg.py +4 -3
- pygeodesy/errors.py +52 -20
- pygeodesy/etm.py +68 -65
- pygeodesy/fmath.py +44 -49
- pygeodesy/formy.py +129 -115
- pygeodesy/frechet.py +118 -103
- pygeodesy/fstats.py +21 -14
- pygeodesy/fsums.py +124 -80
- pygeodesy/gars.py +10 -9
- pygeodesy/geodesicw.py +19 -17
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/__main__.py +2 -2
- pygeodesy/geodesicx/gx.py +39 -33
- pygeodesy/geodesicx/gxarea.py +12 -9
- pygeodesy/geodesicx/gxbases.py +3 -4
- pygeodesy/geodesicx/gxline.py +6 -8
- pygeodesy/geodsolve.py +29 -28
- pygeodesy/geohash.py +60 -57
- pygeodesy/geoids.py +34 -32
- pygeodesy/hausdorff.py +114 -101
- pygeodesy/heights.py +137 -130
- pygeodesy/internals.py +16 -11
- pygeodesy/interns.py +3 -6
- pygeodesy/iters.py +19 -17
- pygeodesy/karney.py +21 -17
- pygeodesy/ktm.py +25 -18
- pygeodesy/latlonBase.py +12 -11
- pygeodesy/lazily.py +6 -6
- pygeodesy/lcc.py +24 -25
- pygeodesy/ltp.py +143 -113
- pygeodesy/ltpTuples.py +207 -150
- pygeodesy/mgrs.py +26 -26
- pygeodesy/named.py +172 -90
- pygeodesy/namedTuples.py +33 -25
- pygeodesy/nvectorBase.py +8 -8
- pygeodesy/osgr.py +40 -48
- pygeodesy/points.py +18 -18
- pygeodesy/props.py +29 -16
- pygeodesy/rhumb/__init__.py +1 -1
- pygeodesy/rhumb/aux_.py +13 -15
- pygeodesy/rhumb/bases.py +12 -5
- pygeodesy/rhumb/ekx.py +24 -18
- pygeodesy/rhumb/solve.py +13 -10
- pygeodesy/simplify.py +16 -16
- pygeodesy/solveBase.py +18 -18
- pygeodesy/sphericalBase.py +17 -21
- pygeodesy/sphericalTrigonometry.py +21 -21
- pygeodesy/streprs.py +5 -5
- pygeodesy/trf.py +13 -11
- pygeodesy/triaxials.py +68 -64
- pygeodesy/units.py +35 -35
- pygeodesy/unitsBase.py +24 -11
- pygeodesy/ups.py +66 -70
- pygeodesy/utily.py +3 -3
- pygeodesy/utm.py +183 -187
- pygeodesy/utmups.py +38 -38
- pygeodesy/utmupsBase.py +104 -106
- pygeodesy/vector2d.py +6 -7
- pygeodesy/vector3d.py +16 -17
- pygeodesy/vector3dBase.py +4 -5
- pygeodesy/webmercator.py +43 -51
- PyGeodesy-24.5.15.dist-info/RECORD +0 -116
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.6.1.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.5.15.dist-info → PyGeodesy-24.6.1.dist-info}/top_level.txt +0 -0
|
@@ -30,9 +30,9 @@ from pygeodesy.formy import antipode_, bearing_, _bearingTo2, excessAbc_, \
|
|
|
30
30
|
excessGirard_, excessLHuilier_, opposing_, _radical2, \
|
|
31
31
|
vincentys_
|
|
32
32
|
from pygeodesy.interns import _1_, _2_, _coincident_, _composite_, _colinear_, \
|
|
33
|
-
_concentric_, _convex_, _end_, _infinite_,
|
|
34
|
-
_line_, _near_,
|
|
35
|
-
_SPACE_, _too_
|
|
33
|
+
_concentric_, _convex_, _end_, _infinite_, \
|
|
34
|
+
_invalid_, _line_, _near_, _null_, _parallel_, \
|
|
35
|
+
_point_, _SPACE_, _too_
|
|
36
36
|
from pygeodesy.lazily import _ALL_LAZY, _ALL_MODS as _MODS, _ALL_OTHER
|
|
37
37
|
# from pygeodesy.nvectorBase import NvectorBase, sumOf # _MODE
|
|
38
38
|
from pygeodesy.namedTuples import LatLon2Tuple, LatLon3Tuple, NearestOn3Tuple, \
|
|
@@ -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.
|
|
57
|
+
__version__ = '24.05.25'
|
|
58
58
|
|
|
59
59
|
_PI_EPS4 = PI - EPS4
|
|
60
60
|
if _PI_EPS4 >= PI:
|
|
@@ -494,7 +494,7 @@ class LatLon(LatLonSphericalBase):
|
|
|
494
494
|
s0 = s
|
|
495
495
|
else:
|
|
496
496
|
t = _Fmt.SQUARE(points=i)
|
|
497
|
-
raise _ValueError(t, p2, wrap=wrap,
|
|
497
|
+
raise _ValueError(t, p2, wrap=wrap, txt_not_=_convex_)
|
|
498
498
|
gc1, v1 = gc, v2
|
|
499
499
|
|
|
500
500
|
return True # inside
|
|
@@ -538,7 +538,7 @@ class LatLon(LatLonSphericalBase):
|
|
|
538
538
|
def nearestOn(self, point1, point2, radius=R_M, **wrap_adjust_limit):
|
|
539
539
|
'''Locate the point between two points closest to this point.
|
|
540
540
|
|
|
541
|
-
Distances are approximated by function L{pygeodesy.
|
|
541
|
+
Distances are approximated by function L{pygeodesy.equirectangular4},
|
|
542
542
|
subject to the supplied B{C{options}}.
|
|
543
543
|
|
|
544
544
|
@arg point1: Start point (L{LatLon}).
|
|
@@ -546,12 +546,12 @@ class LatLon(LatLonSphericalBase):
|
|
|
546
546
|
@kwarg radius: Mean earth radius (C{meter}).
|
|
547
547
|
@kwarg wrap_adjust_limit: Optional keyword arguments for functions
|
|
548
548
|
L{sphericalTrigonometry.nearestOn3} and
|
|
549
|
-
L{pygeodesy.
|
|
549
|
+
L{pygeodesy.equirectangular4},
|
|
550
550
|
|
|
551
551
|
@return: Closest point on the great circle line (L{LatLon}).
|
|
552
552
|
|
|
553
553
|
@raise LimitError: Lat- and/or longitudinal delta exceeds B{C{limit}},
|
|
554
|
-
see function L{pygeodesy.
|
|
554
|
+
see function L{pygeodesy.equirectangular4}.
|
|
555
555
|
|
|
556
556
|
@raise NotImplementedError: Keyword argument C{B{within}=False}
|
|
557
557
|
is not (yet) supported.
|
|
@@ -560,7 +560,7 @@ class LatLon(LatLonSphericalBase):
|
|
|
560
560
|
|
|
561
561
|
@raise ValueError: Invalid B{C{radius}} or B{C{options}}.
|
|
562
562
|
|
|
563
|
-
@see: Functions L{pygeodesy.
|
|
563
|
+
@see: Functions L{pygeodesy.equirectangular4} and L{pygeodesy.nearestOn5}
|
|
564
564
|
and method L{sphericalTrigonometry.LatLon.nearestOn3}.
|
|
565
565
|
'''
|
|
566
566
|
# remove kwarg B{C{within}} if present
|
|
@@ -605,7 +605,7 @@ class LatLon(LatLonSphericalBase):
|
|
|
605
605
|
def nearestOn3(self, points, closed=False, radius=R_M, **wrap_adjust_limit):
|
|
606
606
|
'''Locate the point on a polygon closest to this point.
|
|
607
607
|
|
|
608
|
-
Distances are approximated by function L{pygeodesy.
|
|
608
|
+
Distances are approximated by function L{pygeodesy.equirectangular4},
|
|
609
609
|
subject to the supplied B{C{options}}.
|
|
610
610
|
|
|
611
611
|
@arg points: The polygon points (L{LatLon}[]).
|
|
@@ -613,17 +613,17 @@ class LatLon(LatLonSphericalBase):
|
|
|
613
613
|
@kwarg radius: Mean earth radius (C{meter}).
|
|
614
614
|
@kwarg wrap_adjust_limit: Optional keyword arguments for function
|
|
615
615
|
L{sphericalTrigonometry.nearestOn3} and
|
|
616
|
-
L{pygeodesy.
|
|
616
|
+
L{pygeodesy.equirectangular4},
|
|
617
617
|
|
|
618
618
|
@return: A L{NearestOn3Tuple}C{(closest, distance, angle)} of the
|
|
619
|
-
C{closest} point (L{LatLon}), the L{pygeodesy.
|
|
619
|
+
C{closest} point (L{LatLon}), the L{pygeodesy.equirectangular4}
|
|
620
620
|
C{distance} between this and the C{closest} point converted to
|
|
621
621
|
C{meter}, same units as B{C{radius}}. The C{angle} from this
|
|
622
622
|
to the C{closest} point is in compass C{degrees360}, like
|
|
623
623
|
function L{pygeodesy.compassAngle}.
|
|
624
624
|
|
|
625
625
|
@raise LimitError: Lat- and/or longitudinal delta exceeds B{C{limit}},
|
|
626
|
-
see function L{pygeodesy.
|
|
626
|
+
see function L{pygeodesy.equirectangular4}.
|
|
627
627
|
|
|
628
628
|
@raise PointsError: Insufficient number of B{C{points}}.
|
|
629
629
|
|
|
@@ -631,7 +631,7 @@ class LatLon(LatLonSphericalBase):
|
|
|
631
631
|
|
|
632
632
|
@raise ValueError: Invalid B{C{radius}} or B{C{options}}.
|
|
633
633
|
|
|
634
|
-
@see: Functions L{pygeodesy.compassAngle}, L{pygeodesy.
|
|
634
|
+
@see: Functions L{pygeodesy.compassAngle}, L{pygeodesy.equirectangular4}
|
|
635
635
|
and L{pygeodesy.nearestOn5}.
|
|
636
636
|
'''
|
|
637
637
|
return nearestOn3(self, points, closed=closed, radius=radius,
|
|
@@ -1222,7 +1222,7 @@ def nearestOn3(point, points, closed=False, radius=R_M, wrap=False, adjust=True,
|
|
|
1222
1222
|
limit=9, **LatLon_and_kwds):
|
|
1223
1223
|
'''Locate the point on a path or polygon closest to a reference point.
|
|
1224
1224
|
|
|
1225
|
-
Distances are I{approximated} using function L{pygeodesy.
|
|
1225
|
+
Distances are I{approximated} using function L{pygeodesy.equirectangular4},
|
|
1226
1226
|
subject to the supplied B{C{options}}.
|
|
1227
1227
|
|
|
1228
1228
|
@arg point: The reference point (L{LatLon}).
|
|
@@ -1231,19 +1231,19 @@ def nearestOn3(point, points, closed=False, radius=R_M, wrap=False, adjust=True,
|
|
|
1231
1231
|
@kwarg radius: Mean earth radius (C{meter}).
|
|
1232
1232
|
@kwarg wrap: If C{True}, wrap or I{normalize} and unroll the
|
|
1233
1233
|
B{C{points}} (C{bool}).
|
|
1234
|
-
@kwarg adjust: See function L{pygeodesy.
|
|
1235
|
-
@kwarg limit: See function L{pygeodesy.
|
|
1234
|
+
@kwarg adjust: See function L{pygeodesy.equirectangular4} (C{bool}).
|
|
1235
|
+
@kwarg limit: See function L{pygeodesy.equirectangular4} (C{degrees}),
|
|
1236
1236
|
default C{9 degrees} is about C{1,000 Kmeter} (for mean
|
|
1237
1237
|
spherical earth radius L{R_KM}).
|
|
1238
1238
|
@kwarg LatLon: Optional class to return the closest point (L{LatLon})
|
|
1239
1239
|
or C{None}.
|
|
1240
1240
|
@kwarg options: Optional keyword arguments for function
|
|
1241
|
-
L{pygeodesy.
|
|
1241
|
+
L{pygeodesy.equirectangular4}.
|
|
1242
1242
|
|
|
1243
1243
|
@return: A L{NearestOn3Tuple}C{(closest, distance, angle)} with the
|
|
1244
1244
|
C{closest} point as B{C{LatLon}} or L{LatLon3Tuple}C{(lat,
|
|
1245
1245
|
lon, height)} if B{C{LatLon}} is C{None}. The C{distance}
|
|
1246
|
-
is the L{pygeodesy.
|
|
1246
|
+
is the L{pygeodesy.equirectangular4} distance between the
|
|
1247
1247
|
C{closest} and the given B{C{point}} converted to C{meter},
|
|
1248
1248
|
same units as B{C{radius}}. The C{angle} from the given
|
|
1249
1249
|
B{C{point}} to the C{closest} is in compass C{degrees360},
|
|
@@ -1251,7 +1251,7 @@ def nearestOn3(point, points, closed=False, radius=R_M, wrap=False, adjust=True,
|
|
|
1251
1251
|
the (interpolated) height at the C{closest} point.
|
|
1252
1252
|
|
|
1253
1253
|
@raise LimitError: Lat- and/or longitudinal delta exceeds the B{C{limit}},
|
|
1254
|
-
see function L{pygeodesy.
|
|
1254
|
+
see function L{pygeodesy.equirectangular4}.
|
|
1255
1255
|
|
|
1256
1256
|
@raise PointsError: Insufficient number of B{C{points}}.
|
|
1257
1257
|
|
|
@@ -1259,7 +1259,7 @@ def nearestOn3(point, points, closed=False, radius=R_M, wrap=False, adjust=True,
|
|
|
1259
1259
|
|
|
1260
1260
|
@raise ValueError: Invalid B{C{radius}}.
|
|
1261
1261
|
|
|
1262
|
-
@see: Functions L{pygeodesy.
|
|
1262
|
+
@see: Functions L{pygeodesy.equirectangular4} and L{pygeodesy.nearestOn5}.
|
|
1263
1263
|
'''
|
|
1264
1264
|
t = _nearestOn5(point, points, closed=closed, wrap=wrap,
|
|
1265
1265
|
adjust=adjust, limit=limit)
|
pygeodesy/streprs.py
CHANGED
|
@@ -12,8 +12,8 @@ from pygeodesy.errors import _or, _AttributeError, _IsnotError, _TypeError, \
|
|
|
12
12
|
# from pygeodesy.internals import _dunder_nameof # from .lazily
|
|
13
13
|
from pygeodesy.interns import NN, _0_, _0to9_, MISSING, _BAR_, _COMMASPACE_, \
|
|
14
14
|
_DOT_, _E_, _ELLIPSIS_, _EQUAL_, _H_, _LR_PAIRS, \
|
|
15
|
-
_N_, _name_,
|
|
16
|
-
|
|
15
|
+
_N_, _name_, _not_scalar_, _PERCENT_, _SPACE_, \
|
|
16
|
+
_STAR_, _UNDER_
|
|
17
17
|
from pygeodesy.interns import _convergence_, _distant_, _e_, _eps_, _exceeds_, \
|
|
18
18
|
_EQUALSPACED_, _f_, _F_, _g_, _limit_, _no_, \
|
|
19
19
|
_tolerance_ # PYCHOK used!
|
|
@@ -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.05.
|
|
25
|
+
__version__ = '24.05.19'
|
|
26
26
|
|
|
27
27
|
_at_ = 'at' # PYCHOK used!
|
|
28
28
|
_EN_PREC = 6 # max MGRS/OSGR precision, 1 micrometer
|
|
@@ -499,11 +499,11 @@ def _streprs(prec, objs, fmt, ints, force, strepr):
|
|
|
499
499
|
f = fmt.replace(_DOTSTAR_, Fmt.DOT(abs(prec)))
|
|
500
500
|
_ = f % (_0_0,)
|
|
501
501
|
except (TypeError, ValueError):
|
|
502
|
-
raise _ValueError(fmt=fmt,
|
|
502
|
+
raise _ValueError(fmt=fmt, txt_not_=repr(_DOTSTAR_))
|
|
503
503
|
fmt = f
|
|
504
504
|
|
|
505
505
|
else:
|
|
506
|
-
raise _ValueError(fmt=fmt,
|
|
506
|
+
raise _ValueError(fmt=fmt, txt_not_=repr(_Fspec_))
|
|
507
507
|
|
|
508
508
|
for i, o in enumerate(objs):
|
|
509
509
|
if force or isinstance(o, float):
|
pygeodesy/trf.py
CHANGED
|
@@ -80,8 +80,8 @@ from pygeodesy.interns import MISSING, NN, _AT_, _COMMASPACE_, _conversion_, \
|
|
|
80
80
|
_NAD83_, _no_, _PLUS_, _reframe_, _s_, _SPACE_, \
|
|
81
81
|
_STAR_, _to_, _vs_, _WGS84_, _x_, _intern as _i
|
|
82
82
|
# from pygeodesy.lazily import _ALL_LAZY # from .units
|
|
83
|
-
from pygeodesy.named import ADict, classname, _lazyNamedEnumItem as _lazy,
|
|
84
|
-
_NamedEnum, _NamedEnumItem, _NamedTuple, Fmt, unstr
|
|
83
|
+
from pygeodesy.named import ADict, classname, _lazyNamedEnumItem as _lazy, _name2__, \
|
|
84
|
+
_Named, _NamedEnum, _NamedEnumItem, _NamedTuple, Fmt, unstr
|
|
85
85
|
from pygeodesy.props import deprecated_method, property_doc_, Property_RO, property_RO
|
|
86
86
|
# from pygeodesy.streprs import Fmt, unstr # from .named
|
|
87
87
|
from pygeodesy.units import Epoch, Float, _ALL_LAZY
|
|
@@ -91,7 +91,7 @@ from math import ceil as _ceil, fabs
|
|
|
91
91
|
# import operator as _operator # from .datums
|
|
92
92
|
|
|
93
93
|
__all__ = _ALL_LAZY.trf
|
|
94
|
-
__version__ = '24.05.
|
|
94
|
+
__version__ = '24.05.31'
|
|
95
95
|
|
|
96
96
|
_EP0CH = Epoch(0, low=0)
|
|
97
97
|
_Es = {_EP0CH: _EP0CH} # L{Epoch}s, deleted below
|
|
@@ -242,7 +242,7 @@ class RefFrame(_NamedEnumItem):
|
|
|
242
242
|
return _toRefFrame(point, reframe2, reframe=self, **_xkwds(epoch_epoch2_name,
|
|
243
243
|
name=_xattr(reframe2, name=self.name)))
|
|
244
244
|
|
|
245
|
-
def toStr(self, epoch=None, name=NN, **unused): # PYCHOK
|
|
245
|
+
def toStr(self, epoch=None, name=NN, **unused): # PYCHOK signature
|
|
246
246
|
'''Return this reference frame as a string.
|
|
247
247
|
|
|
248
248
|
@kwarg epoch: Override this reframe's epoch (C{scalar} or C{str}).
|
|
@@ -383,14 +383,14 @@ class TransformXform(Transform):
|
|
|
383
383
|
def __hash__(self):
|
|
384
384
|
return Transform.__hash__(self)
|
|
385
385
|
|
|
386
|
-
def inverse(self, name
|
|
386
|
+
def inverse(self, **name):
|
|
387
387
|
'''Return the inverse of this transform.
|
|
388
388
|
|
|
389
|
-
@kwarg name: Optional, unique name (C{str}).
|
|
389
|
+
@kwarg name: Optional, unique C{B{name}=NN} (C{str}).
|
|
390
390
|
|
|
391
391
|
@return: Inverse (L{TransformXform}), unregistered.
|
|
392
392
|
'''
|
|
393
|
-
r = Transform.inverse(name
|
|
393
|
+
r = Transform.inverse(self, **name)
|
|
394
394
|
r._Xform = r.Xform.inverse()
|
|
395
395
|
return r
|
|
396
396
|
|
|
@@ -405,10 +405,11 @@ class TransformXform(Transform):
|
|
|
405
405
|
n = name or (X.toStr() if X else NN)
|
|
406
406
|
return Transform.rename(self, n)
|
|
407
407
|
|
|
408
|
-
def toRefFrame(self, point, name
|
|
408
|
+
def toRefFrame(self, point, **name): # PYCHOK signature
|
|
409
409
|
'''Convert an ellipsoidal point using this transform and Xform.
|
|
410
410
|
|
|
411
411
|
@arg point: The point to convert (C{Cartesian} or C{LatLon}).
|
|
412
|
+
@kwarg name: Optional C{B{name}=NN} (C{str}).
|
|
412
413
|
|
|
413
414
|
@return: A copy of the B{C{point}}, converted I{directly} to
|
|
414
415
|
this transform's Xform's C{refName2} and C{epoch}.
|
|
@@ -423,7 +424,7 @@ class TransformXform(Transform):
|
|
|
423
424
|
if X: # see _toRefFrame below
|
|
424
425
|
p._reframe = X.reframe2
|
|
425
426
|
p._epoch = X.epoch
|
|
426
|
-
p.rename(
|
|
427
|
+
p.rename(self._name__(name))
|
|
427
428
|
return p
|
|
428
429
|
|
|
429
430
|
def toTransform(self, epoch1, **epoch2_inverse):
|
|
@@ -1043,7 +1044,7 @@ def _sumstr(name1, name2, p_):
|
|
|
1043
1044
|
|
|
1044
1045
|
|
|
1045
1046
|
def _toRefFrame(point, reframe2, reframe=None, epoch=None,
|
|
1046
|
-
epoch2=None,
|
|
1047
|
+
epoch2=None, **name_LatLon_kwds):
|
|
1047
1048
|
'''(INTERNAL) Convert an ellipsoidal point to C{reframe2}
|
|
1048
1049
|
and C{epoch2 or epoch or pont.epoch or reframe.epoch}.
|
|
1049
1050
|
'''
|
|
@@ -1063,6 +1064,7 @@ def _toRefFrame(point, reframe2, reframe=None, epoch=None,
|
|
|
1063
1064
|
_to_, _AT_(reframe2.name, e2))
|
|
1064
1065
|
raise TRFError(_no_(_conversion_), txt=t)
|
|
1065
1066
|
|
|
1067
|
+
name, LatLon_kwds = _name2__(name_LatLon_kwds)
|
|
1066
1068
|
if t0: # is not ()
|
|
1067
1069
|
if t0.isunity:
|
|
1068
1070
|
p = point.dup()
|
|
@@ -1078,7 +1080,7 @@ def _toRefFrame(point, reframe2, reframe=None, epoch=None,
|
|
|
1078
1080
|
p = point.toTransform(t0)
|
|
1079
1081
|
p._reframe = reframe2 # see TRFXform.toRefFrame above
|
|
1080
1082
|
p._epoch = _xattr(t0.Xform, epoch=e2)
|
|
1081
|
-
p.rename(
|
|
1083
|
+
p.rename(reframe2._name__(name))
|
|
1082
1084
|
else:
|
|
1083
1085
|
p = point.dup(_reframe=reframe2, # ditto
|
|
1084
1086
|
_epoch=e2, name=name) if name else point
|