tsc_Ecef

This is a simple value type that contains an ECEF coordinate as X, Y, Z.  All three fields are in metres.  These values are in terms of the phase center of the Antenna and thus are different to the equivalent ECEF ground values at the base of the pole.

Also note that the ECEFs returned by a receiver will vary according to the setup of the RTK corrections and base station.  Just as it is not good practise to directly compare total station observations unless they are measured from the same station setup we should not directly compare the ECEF coordinates from different surveys; an example of this is using RTK measured points and RTX measured points.  In general with SCAPI use the raw ECEF as supplied and let the system use the environment to determine the actual location.  In General Survey RTX points are displayed to the user in the RTK frame of reference whenever the RTK and RTX systems are calibrated with respect to each other.

class tsc_Ecef : public tsc_Coordinate

double X;

double Y;

double Z;

bool HasVertical();    // Contains a Z component.

bool HasHorizontal();  // Contains an X and a Y component.

bool IsEmpty();        // Contains no components.

A set of functions may be used to determine which values, if any, are present.  Missing values are set to double_Null.  Note that horizontal and vertical refer to the Cartesian components and are not necessarily related to the true vertical at the ECEF location/origin.  There is no horizontal or vertical sense to ECEFs so these functions require all 3 values to be populated.


void SetEmpty ();
Resets the coordinate to null values.

tsc_CoordType Type () override;
Returns the coordinate type, tsct_ECEF.

static tsc_Ecef FromWgs84 ( const struct tsc_Wgs84&           position,
                            const class  tsc_GnssEnvironment& environment);
Computes a tsc_Ecef from a WGS84 coordinate.

static tsc_Ecef FromEcefDeltas (const struct tsc_EcefDeltas&      observation,
                                const class  tsc_GnssEnvironment& environment);
Computes a tsc_Ecef from a ECEF Deltas (RTK) observation.

static tsc_Ecef EquivalentVerticalEcef (const tsc_Ecef&            observation,
                                        const tsc_GnssTilt&        tilt,
                                        const tsc_GnssEnvironment& environment);
Computes an equivalent vertical tsc_Ecef from a tilted ECEF observation.  The returned coordinate will be an APC coordinate as if the measurement had been vertical rather than tilted.

tsc_Ecef ToUserDisplayEcef () const;
Returns a modified ECEF to be in the common display frame of reference (for UI).