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

NameDescription
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 .init 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);