Function Helmert7.tryFromArcSecondsAndPpm
Construct from the common EPSG arc-second/ppm representation without throwing.
static bool tryFromArcSecondsAndPpm(
const T translationX,
const T translationY,
const T translationZ,
const T rotationXArcSeconds,
const T rotationYArcSeconds,
const T rotationZArcSeconds,
const T scaleDifferencePpm,
out Helmert7!(T,convention) result
) pure nothrow @nogc @safe;
Parameters
| Name | Description |
|---|---|
| translationX | Finite X translation in the geocentric linear unit. |
| translationY | Finite Y translation in the same linear unit. |
| translationZ | Finite Z translation in the same linear unit. |
| rotationXArcSeconds | Finite convention-specific X rotation in arc-seconds. |
| rotationYArcSeconds | Finite convention-specific Y rotation in arc-seconds. |
| rotationZArcSeconds | Finite convention-specific Z rotation in arc-seconds. |
| scaleDifferencePpm | Finite scale difference in parts per million. |
| result | Receives canonical parameters on success. |
Returns
true when all inputs and their canonical conversions are finite
and representable; otherwise false. On failure result
is initialized to on entry and has no guaranteed value on failure.
Example
Example checking EPSG arc-second/ppm parameters without throwing.
import geodesy;
Helmert7!(double, HelmertConvention .positionVector) transform;
assert(Helmert7!(double, HelmertConvention .positionVector)
.tryFromArcSecondsAndPpm(
0.0, 0.0, 4.5,
0.0, 0.0, 0.554,
0.219,
transform));
assert(transform .scaleDifference > 0.0);