Changing the frame through time changes the velocity relationship too
A station coordinate is carried to a new epoch, and a frame transformation is evaluated at that same time. The position calculation looks consistent. Then someone rotates the station velocity using only the static matrix and assumes the job is finished. That can omit the motion of the transformation itself: its translations, scale and rotations may also have rates.
This guide extends the existing static Helmert and coordinate-epoch articles with the full product-rule relationship. Original synthetic cases distinguish an instantaneous derivative from a finite-interval slope, test an inverse velocity map, and recenter parameter covariance without creating new observations. We keep exact teaching identities separate from operational small-parameter approximations.
All transformations and station histories below are invented mathematical fixtures, including deliberately exaggerated parameters that make missing terms visible. They are not coefficients for any named terrestrial frame. Real processing requires the current authoritative transformation, its conventions and validity, compatible station motion and qualified interpretation.
Geodesy subject guide · Learning that transfers into life · How X Works hub
Choose your reading route
Route 1 · Chapters 1–2: Name both kinds of motion
Route 2 · Chapters 3–5: Differentiate and calculate
Route 3 · Chapters 6–8: Check inverses and operation paths
Route 4 · Chapters 9–10: Carry time and uncertainty
Route 5 · Chapters 11–12: Transfer and report
Full chapter index · Independent worked case · Questions and practical checks
Chapter index
Name both kinds of motion
Keep station motion separate from parameter evolution
Write parameter rates with their own units
Differentiate and calculate
Differentiate every changing factor
Work an exact scalar fixture with changing scale
Distinguish an instantaneous velocity from an interval slope
Check inverses and operation paths
Test a rotation-rate contribution with geometry
Invert velocity using the same instantaneous map
Recenter parameters without changing the time-dependent model
Carry time and uncertainty
Recenter uncertainty as carefully as the coefficients
Carry position and velocity as one related state
CHAPTER 1 OF 12 · Name both kinds of motion
1. Keep station motion separate from parameter evolution
A coordinate epoch says when a point’s coordinate is represented. A transformation reference epoch says when its listed parameters apply. The station’s velocity describes the point’s coordinate change within a source frame. Parameter rates describe how the relationship between source and target frames changes. These are separate pieces of the model.
The existing coordinate-epoch guide uses a moving translation to make this distinction clear. Here we add time-dependent scale and rotation, because their effects depend on the station vector as well as the parameter rates. Knowing that a transformation has fourteen parameters is not enough to infer how a velocity must be transformed.
Start with x(t), the source-frame Cartesian position of the intended physical point. Let T(t) be translation, k(t) a dimensionless scale multiplier and R(t) a rotation with a stated convention. The target position is y(t)=T(t)+k(t)R(t)x(t). Every factor must be evaluated for the compatible event and time convention.
The same physical point must remain identifiable through this chain. Transforming an antenna reference point does not add a missing offset to a monument. Updating transformation parameters does not propagate a station coordinate. Propagating a station does not update an old parameter set. A valid result needs all intended operations, not an unexplained date attached to its final triple.
PROJ’s Helmert documentation explicitly distinguishes static and kinematic transformations and requires both coordinate observation time and a transformation central epoch for its kinematic operation. Its software units and convention fields are documented separately. We use that primary reference to establish the interface, then derive our own velocity and uncertainty cases rather than treat an example command as a universal frame definition.
CHAPTER 2 OF 12 · Name both kinds of motion
2. Write parameter rates with their own units
For a parameter p given at reference epoch t0 with constant rate pdot, its value at t is p(t)=p0+pdot(t−t0). Translation rates need length per time. Rotation rates need angle per time. Scale rates describe a change of scale per time. The chosen time unit must be compatible with the epoch difference.
In a three-dimensional PROJ Helmert interface, translations use metres, their rates metres per year, rotation fields arcseconds and rotation rates arcseconds per year; scale is supplied in parts per million and its rate in parts per million per year. Our equations instead use radians for angles and a dimensionless multiplier k. Importing interface values requires explicit conversion.
For a small-angle teaching sensitivity, one milliarcsecond per year is approximately4.848136811×10^−9 radians per year. Acting perpendicularly on a one-million-metre vector, that angular rate gives an approximately4.848136811-millimetre-per-year contribution. The vector’s direction matters; a point on the rotation axis has no such perpendicular contribution.
A scale rate of0.1 part per billion per year means kdot=10^−10 per year. On a six-million-metre coordinate vector it contributes0.0006 metre per year, or0.6 millimetre per year, in the vector’s direction. It is not a translation rate applied equally to every point. These are unit-sensitivity fixtures, not real transformation parameters.
Keep an import ledger with the supplied value, supplied unit, converted quantity and transformation direction. Test translation-only, scale-only and rotation-only rates separately before combining them. A mixed test can hide one wrong conversion behind another contribution. The time-dependent calculation becomes much easier to audit when each numerical term has an independently understandable unit and geometric role.
CHAPTER 3 OF 12 · Differentiate and calculate
3. Differentiate every changing factor
Let v=dx/dt and w=dy/dt. Differentiating the declared exact affine map gives w=Tdot+kdot R x+k Rdot x+k R v. The terms describe changing translation, changing scale, changing rotation and the source point’s motion carried through the current map. Omitting any term means making an additional assumption about that factor.
It is convenient to write M(t)=k(t)R(t). Then y=T+Mx and w=Tdot+Mdot x+Mv. This compact form keeps the product rule clear without assuming an order for a three-angle rotation parameterisation. If rotations are composed in a stated order, their derivative must respect that same order.
A stationary source coordinate, v=0, need not have zero target velocity. The frame relation can evolve. Conversely, a nonzero source velocity can be partly cancelled by parameter-rate contributions. The target derivative is not evidence by itself that a monument experienced a particular physical force; it is a rate in a stated coordinate model.
For a first-order small-rotation position-vector convention, write M approximately I+sI+[r]cross, where s is the fractional scale difference and [r]cross x=r×x. Differentiating that stated approximation gives w approximately v+Tdot+sdot x+s v+rdot×x+r×v. This retains terms first order in the transformation parameters and their rates within the declared model.
Operational formulae may make further justified approximations, and software interfaces may transform positions without directly returning velocity. Do not assume a programme has implemented this derivative merely because it accepts an epoch. Establish the actual model, exact versus linearised rotation treatment and output contract. The identity here explains which relationships must be considered; it does not certify every implementation as equivalent.
CHAPTER 4 OF 12 · Differentiate and calculate
4. Work an exact scalar fixture with changing scale
Use a deliberately exaggerated one-dimensional analogue so every term can be checked. Let elapsed time tau=t−t0 in years, source position x=10+0.5tau metres, translation T=2+0.1tau metres and scale multiplier k=1.2+0.01tau. There is no rotation in this scalar case. The target is y=T+kx.
At tau=2, x=11 metres,T=2.2 metres and k=1.22. Thus y=2.2+1.22×11=15.62 metres. Source velocity is0.5 metre per year. The correct target derivative is0.1+0.01×11+1.22×0.5=0.82 metre per year.
If you multiply the source velocity by the current scale alone, the answer is0.61, missing both the changing translation and the scale-rate contribution. If you add Tdot but omit kdot x, the answer becomes0.71. Each wrong value identifies a missing physical relationship in the coordinate model rather than a rounding error.
Check by expanding the position expression independently: y=2+0.1tau+(1.2+0.01tau)(10+0.5tau)=14+0.8tau+0.005tau². Its derivative is0.8+0.01tau, which at tau2 is0.82. The quadratic term arises even though the source motion and listed transformation parameters were each linear in time.
That last point is the useful surprise. Constant parameter rates do not guarantee a constant target-frame station velocity when changing factors multiply a moving source vector. In real small-parameter work, some resulting products may be negligible under a documented accuracy budget. Our large fixture deliberately retains them exactly so an implementation test cannot conceal an omitted term behind operational smallness.
CHAPTER 5 OF 12 · Differentiate and calculate
5. Distinguish an instantaneous velocity from an interval slope
For the scalar fixture, y(0)=14 and y(2)=15.62 metres. Their two-year secant slope is0.81 metre per year. The instantaneous derivative at tau2 is0.82. Those values are not inconsistent: they represent an interval-average coordinate rate and an endpoint derivative of a curved coordinate history.
Because the fixture is quadratic, the secant from0 to2 equals its derivative at the midpoint tau1. Over the interval2 to4, y(4)=17.28 and the secant slope is(17.28−15.62)/2=0.83, equal to the derivative at tau3. This midpoint property is special to the stated quadratic form; it is not a general rule for arbitrary station histories.
Now linearly propagate the target coordinate from tau2 using its instantaneous velocity0.82 for another two years. The result is15.62+2×0.82=17.26, not17.28. The missing0.02 metre is the target curve’s acceleration contribution over the interval, not an inconsistency between the two frames.
An exact operation-path comparison must use the complete target history or propagate the source and reevaluate the transformation at the later epoch. A first-order target-velocity propagation can be an approximation, but its neglected curvature must be acknowledged. Otherwise a disagreement between two paths may be misdiagnosed as a sign or epoch error when the paths actually use different motion models.
When comparing a fitted geodetic velocity with a transformed instantaneous rate, retain the observation interval and estimation model. A regression slope can absorb seasonal terms, steps or curvature differently from an analytic derivative. The existing station-velocity guide develops those temporal-estimation questions. This guide’s additional job is to show which time dependence enters through the transformation itself.
CHAPTER 6 OF 12 · Check inverses and operation paths
6. Test a rotation-rate contribution with geometry
Use an exact rotation about global positive z with angle alpha(t)=omega tau, under a position-vector convention in which positive alpha turns positive x toward positive y. Its two-dimensional block has rows(cos alpha,−sin alpha) and(sin alpha,cos alpha). Keep this explicit matrix separate from interfaces that use another rotation convention.
At tau0, choose source position x=(100,0,0) metres, source velocity v=(1,0,0) metre per year, omega=.01 radian per year, k=1 and T=0. Then R=I and Rdot x=(0,1,0) metres per year. Target velocity is therefore(1,1,0), not merely the statically rotated source velocity(1,0,0).
Verify by differentiating the exact target components yX=(100+tau)cos(.01tau) and yY=(100+tau)sin(.01tau). At zero, their derivatives are1 and1. The additional transverse velocity comes from the rotating coordinate relationship acting on the position vector. The source vector need not itself point in the direction of that extra contribution.
Change the source point to(0,0,100) metres on the rotation axis with zero source velocity. Rotation about z leaves it unchanged and Rdot x=0. This limiting case catches a routine that multiplies angular-rate magnitude by total position-vector length without retaining perpendicular geometry.
For general exact R, the derivative can be expressed using the appropriate skew angular-velocity matrix, but its side and frame depend on how that angular velocity is represented. Do not insert a cross product without checking whether the rate belongs to source or target axes. Our explicit single-axis case makes the convention testable before extending to a more complicated product of rotations.
CHAPTER 7 OF 12 · Check inverses and operation paths
7. Invert velocity using the same instantaneous map
At a fixed time, the inverse position relation is x=M inverse(y−T), assuming a nonsingular M. Starting from w=Tdot+Mdot x+Mv, solve for source velocity: v=M inverse(w−Tdot−Mdot x). The position x used in the rate term must refer to the same event and source representation.
For the scalar case at tau2, use y=15.62,T=2.2,k=1.22,w=.82,Tdot=.1 and kdot=.01. First recover x=(15.62−2.2)/1.22=11. Then recover v=(.82−.1−.01×11)/1.22=.5. Both position and velocity return, with the rate term evaluated from the recovered source position.
Simply negating the forward parameter rates is not a complete general inverse prescription. The inverse translation, scale and rotation depend on the whole map and can evolve together. For the scalar example, inverse translation is−T/k, whose derivative includes both Tdot and kdot. Treating it as just−Tdot loses part of the inverse time dependence.
A forward/inverse state test is useful, but its meaning is limited. Two routines sharing the same wrong convention can invert one another and still disagree with the intended reference transformation. Pair the round trip with independent position, scale-rate and rotation-axis fixtures so its success is not mistaken for external physical validation.
The existing static Helmert guide explains why an exact inverse does more than negate seven fields. The extension here is that the time derivative has its own coupled structure. A correct inverse position at one epoch does not guarantee a correct inverse velocity, and a correct pair at one convenient test point may not expose an omitted position-dependent rate term.
CHAPTER 8 OF 12 · Check inverses and operation paths
8. Recenter parameters without changing the time-dependent model
Suppose p(t)=p0+pdot(t−t0). Choose a new reference epoch t1=t0+Delta. Then p1=p0+pdot Delta and the same rate gives p(t)=p1+pdot(t−t1). This is a re-expression of one model, not a new estimate or an additional observation. Both parameter value and reference label must change together.
For our scalar transformation, recenter from tau0 to the original tau2. The listed translation becomes2.2 and scale becomes1.22, while their rates remain.1 and.01. Recenter the source position to11 with velocity.5 as well. Using new elapsed time eta=tau−2, the target is2.2+.1eta+(1.22+.01eta)(11+.5eta).
Expanding gives y=15.62+.82eta+.005eta². This recovers the same physical coordinate history as14+.8tau+.005tau² after substituting tau=eta+2. At eta2, both expressions give17.28 metres. If a parameter value is copied without its changed epoch, the equality is broken.
Recentring a linear angle parameter and preserving its rate can reproduce the same angle history, but converting it into a different rotation parameterisation is another operation. Euler-angle rates, angular-velocity vectors and matrix derivatives are not interchangeable entries merely because all refer to rotation through time.
This distinction is useful when a file format requests a central epoch near the observation period. You may be able to recenter a documented linear parameter model, but must also preserve its covariance and validity interval. Moving the reference label closer to the data does not extend the model beyond its supported time range or improve the underlying frame relationship.
CHAPTER 9 OF 12 · Carry time and uncertainty
9. Recenter uncertainty as carefully as the coefficients
For a scalar parameter value p0 and rate pdot, let their covariance be c and variances V0 and Vr. At offset Delta, the parameter variance is V1=V0+Delta²Vr+2Delta c. The covariance between the recentered value and rate becomes c1=c+Delta Vr. These relationships follow from the same linear recentering used for the values.
Use a fictional translation parameter with V0=4 square millimetres,Vr=.25 square millimetres per year squared and c=.5 square millimetres per year. Recenter by two years. The new value variance is4+4×.25+4×.5=7 square millimetres; the new value–rate covariance is.5+2×.25=1.
Evaluate at the original four-year offset directly: variance is4+16×.25+8×.5=12. Alternatively propagate from the two-year reference for another two years:7+4×.25+4×1=12. Agreement shows that the uncertainty represents the same model before and after recentering.
If you discard the recentered covariance, the second route gives8 instead of12. The coordinate values can still match perfectly while the reported uncertainty changes incorrectly. This is why a successful position round trip is not a sufficient test of a time-dependent transformation record.
The example concerns one parameter. A complete transformation can have cross-covariances among translations, rotations, scale and their rates, plus relationships with station estimates. Preserve the appropriate matrix and Jacobians rather than apply the scalar formula independently while assuming every parameter is uncorrelated. A convenient diagonal export can remove information needed to reproduce later comparisons.
CHAPTER 10 OF 12 · Carry time and uncertainty
10. Carry position and velocity as one related state
With transformation parameters treated as deterministic for the moment, perturbing the source state gives delta y=M delta x and delta w=Mdot delta x+M delta v. In block form, the state Jacobian has rows[M,0] and[Mdot,M]. This is more than placing the same static rotation in two diagonal blocks when Mdot is nonzero.
For a one-dimensional fixture, take M=2 and Mdot=.1 per year. Give source position variance4 square millimetres, velocity variance1 square millimetre per year squared and zero position–velocity covariance. Then target position variance is16. Target velocity variance is(.1)²×4+2²×1=4.04 in the corresponding rate units.
The target position–velocity covariance becomes2×.1×4=.8 square millimetres per year. A source with zero cross-covariance can therefore acquire a nonzero position–velocity relationship through the changing map. If only M is applied to velocity covariance, the additional.04 and the new cross term disappear.
Now add uncertainty in the transformation parameters. Further Jacobian terms and their cross-covariances enter. A common uncertain translation rate can contribute shared velocity uncertainty to many stations; that contribution behaves differently in an absolute velocity and in a station-to-station difference. Whether it cancels depends on the actual combination and dependence model.
The formulas are propagation statements under a specified model, not promises of real positioning accuracy. A perfectly transformed covariance can omit unmodelled station motion, incorrect parameter provenance or an incompatible frame. State which uncertainty sources were included, which were treated as fixed and what independent evidence supports applying the transformation to the intended physical point and time interval.
CHAPTER 11 OF 12 · Transfer and report
11. Choose tests that cannot all pass through the same omission
Begin with a zero-rate transformation: Tdot=0 and Mdot=0 should reduce the velocity relationship to w=Mv. Then hold the source coordinate fixed while changing only translation rate; target velocity should equal Tdot. These isolated cases establish the basic pieces before a mixed fixture can hide compensating mistakes.
Next use scale rate with a stationary nonzero source position, then rotation rate with points on and off the rotation axis. The scalar example exposes kdot x; the single-axis rotation exposes Rdot x. Include both a zero source velocity and a moving source point so the same routine must handle all product-rule terms.
A centred finite-difference check compares[y(t+h)−y(t−h)]/(2h) with the analytic derivative for several suitable h values. Too large a step can show truncation effects, while too small a step can amplify floating-point subtraction error. There is no universal numerical step that proves every implementation correct. Use an independently known analytic fixture as the reference.
For our quadratic scalar history, the centred finite difference is exact in ideal arithmetic for any symmetric nonzero step, whereas a one-sided finite difference differs from the endpoint derivative by the curvature contribution. This distinction makes it a useful test of whether a reported discrepancy comes from the derivative or from the checking method itself.
Finally recenter values and covariance and repeat the same event calculation. Preserve exact input units, direction and model order in the test record. These checks establish consistency of the declared mathematics. They do not replace independent comparison with authoritative control or justify using a parameter set outside its spatial, temporal or realisation-specific validity.
CHAPTER 12 OF 12 · Transfer and report
12. Report the derivative, interval and approximation honestly
A reusable result names source and target frames, physical endpoint, coordinate epoch, parameter reference epoch, station motion model, parameter source, direction, units, rotation convention and exact or approximate equations. If a velocity is supplied, say whether it is an instantaneous derivative, an interval-average displacement rate or a fitted regression coefficient.
For the main fixture at tau2, reportx=11,y=15.62,v=.5 andw=.82 in their stated metre and year units. Explain that the two-year secant from tau0 is.81 and that a constant-w propagation from tau2 to4 neglects.02 metre of curvature. Those are different quantities, not competing answers to one identical question.
If a first-order operational approximation drops products that our exact fixture retains, state that deliberately and test its effect against the accuracy required for the intended use. Do not call the exact identity wrong because it differs from a truncated implementation, or call every omitted small term a practically significant error without calculating its contribution.
If an earthquake, equipment step or unsupported nonlinear station history occurs, revisit the source motion model before extending a constant velocity. A time-dependent frame map does not explain every coordinate change. It supplies a relationship between reference descriptions that still depends on suitable station evidence and model validity.
The transferable insight is that a rate belongs to a changing relationship, not merely to a number followed by per year. Differentiate every changing factor, retain which event the values describe, and carry dependence when the reference is recentered. Those habits let a learner recognise why two position calculations can agree while their velocities or uncertainties still require another careful check.
Independent worked case and evidence checks
Build an independent scalar fixture: x=20−.2tau, T=−1+.05tau and k=.8+.02tau. At tau=3, x=19.4, T=−.85 and k=.86, so y=−.85+.86×19.4=15.834. The derivative is .05+.02×19.4+.86×(−.2)=.266 metre per year. A negative source velocity can coexist with a positive target velocity.
Expand independently: y=15+.29tau−.004tau², so its derivative is .29−.008tau. At tau=3 it gives .266 again. The secant from zero to three years is (15.834−15)/3=.278, equal to the derivative at the midpoint of1.5 years under this quadratic fixture. It is not the endpoint velocity.
Check the inverse: v=(.266−.05−.02×19.4)/.86=−.2. Recenter the original model at tau=3 by supplying x1=19.4, T1=−.85 and k1=.86 with the same three rates. Expanding in eta=tau−3 gives y=15.834+.266eta−.004eta². Both descriptions must agree for the same event.
For a unit challenge, convert.2milliarcsecond per year to radians per year before applying it to a perpendicular six-million-metre vector. The resulting small-angle contribution is approximately5.817764173millimetres per year. A point on the stipulated axis still has zero rotational contribution despite its large coordinate magnitude.
For an uncertainty challenge, let V0=9, Vr=.04 and c=−.3 in compatible squared-millimetre and year units. After five years, V1=9+25×.04+10×(−.3)=7 and c1=−.3+5×.04=−.1. After another five years, variance becomes7+25×.04+10×(−.1)=7, matching direct ten-year propagation: 9+100×.04+20×(−.3)=7.
Explain why the parameter variance can initially fall when its value and rate errors are negatively correlated, without claiming that elapsed time created a new measurement. Then change the model by introducing an unsupported station step. The recentering identities remain algebraically valid for the original model, but the model no longer describes that added event until the necessary motion information is supplied.
Worked comparison
| Operation | Required relationship | False shortcut |
|---|---|---|
| Evaluate frame at epoch | p(t)=p0+pdot(t−t0) | Replace reference date without updating value |
| Transform instantaneous velocity | w=Tdot+Mdot x+Mv | Use onlyMv |
| Invert velocity | v=M inverse(w−Tdot−Mdot x) | Negate every listed rate |
| Recenter covariance | V1=V0+Delta²Vr+2Delta c | Keep old variance and discard cross terms |
| Compare later positions | Use complete compatible motion models | Assume target trajectory stays linear |
| Validate physical use | Independent compatible reference evidence | Treat round-trip agreement as external accuracy |
Questions and practical checks
Does an epoch field automatically transform velocity?
No. Establish whether the interface returns a position, a velocity or a complete state and which derivative model it implements.
Are station velocity and transformation rates the same?
No. Station velocity describes the point within a frame. Parameter rates describe evolution of the mapping between frames. Both can contribute to the target derivative.
Why can linear input models produce a curved target history?
Changing factors multiply. In the scalar fixture, changing scale times changing source position creates a quadratic term even though each input is linear in elapsed time.
Does recentering improve the underlying measurements?
No. It re-expresses the same model at another reference epoch. Values, rates and their covariance must remain mutually consistent.
Can these fictional coefficients be used for a survey?
No. They deliberately exaggerate effects for independent checking. Use the applicable authoritative frame operation, current parameters, compatible motion model and qualified procedures.
Continue with the connected subjects
Establish the existing frame and time foundations
Coordinate epochs, frame epochs and moving-reference comparisons
Static Helmert conventions, units and inverse maps
Connect rates to observations and physical models
Station velocity estimates, seasonal terms and correlated noise
Plate velocities and reference angular rotations
Sources and scope
The numerical cases in this guide are original fictional teaching examples, not measurements from a real site. This is an educational explanation, not a field safety instruction, engineering approval or an official certification. For a real project, use qualified practitioners, current product documentation and site-specific evidence. Sources were checked on 31 October 2026.
Continue through local references, network constraints, physical heights and rates
Local ENU Rotations, Tangent-Plane Origins and Covariance
Free-Network Datum Defects, Minimum Constraints and Relative Precision
Geopotential Numbers, Normal Heights and Path-Dependent Levelling