Prototype and description of the function meritrans()

(Function of the unlock requiring group "Coordinate Transformations")

 

meritrans()
Coordinate Transformation to an other meridian strip.

Prototype of the DLL function in C++ syntax (attend lower case!):
extern "C" __declspec(dllimport) unsigned long __stdcall meritrans(
     double nCoordXQ,
     double nCoordYQ,
     double *nCoordXZ,
     double *nCoordYZ,
     unsigned short nCoordSys,
     unsigned short nEllipsoid,
     unsigned short nStrip);

Prototype of the DLL function in Visual Objects syntax:
_DLL function meritrans(;
     nCoordXQ as real8,;                   // 8 Byte
     nCoordYQ as real8,;                   // 8 Byte
     nCoordXZ ref real8,;                  // 4 Byte
     nCoordYZ ref real8,;                  // 4 Byte
     nCoordSys as word,;                   // 2 Byte
     nEllipsoid as word,;                  // 2 Byte
     nStrip as word);                      // 2 Byte
as logic pascal:geodll32.meritrans         // 4 Byte


The function converts Gauss-Krueger and UTM source coordinates nCoordXQ
and nCoordYQ on an arbitrary meridian strip to the target coordinates
nCoordXZ and nCoordYZ of the same Coordinate System on a desired meridian
strip. The source coordinates may be indicated in the "wrong" meridian
strip also. The transformation is accomplished with high exactness and
great speed.

The basis Coordinate System is registered in nCoordSys (see parameter
description). It must be a "Transversal Mercator meridian strip system".

The passed source coordinates and the calculated target coordinates are
examined for the range validity within their Coordinate Systems and for
syntactic correctness. The range validity is specified in the list
"Defaults of the Coordinate Systems". The range and syntax
check can be switched on or off with the function setcoordarea().

If in nCoordSys the value 1000 is passed, the function uses the
parameters of the user-defined Coordinate System passed before by the
function setusercoordsys1() and the earth ellipsoid defined before by
the function setuserellsource().

With the Coordinate Transformation the geodetic Ellipsoid nEllipsoid is
considered. If in nEllipsoid the value 0 is passed, then the geodetic
ellipsoids, usual for the respective Coordinate Systems, are taken (see
list "Defaults of the Coordinate Systems").

If in nEllipsoid the value 1000 is passed, the function uses the
Parameters of the user-defined earth ellipsoids passed before by the
function setuserellsource().

For transformations the meridian strip nStrip, to which the target
coordinates refers, can be given. The given meridian strip should not
deviate more than 3 strips from the native meridian strip of the target
Coordinate System. If in nStrip the value 0 is passed, an automatic
computation of the native meridians strip from the geographical length
will be made.


The parameters are passed and/or returned as follows:
nCoordXQ    East or X component of the source coordinate.
            The input format of the coordinate (notation) is described
            in the list "Defaults of the Coordinate Systems".

nCoordYQ    North or Y component of source coordinate.
            The input format of the coordinate (notation) is described
            in the list "Defaults of the Coordinate Systems".

nCoordXZ    East or X component of the target coordinate.
(ref)       The return format of the coordinate (notation) is described in
            the list "Defaults of the Coordinate Systems".

nCoordYZ    North or Y component of the target coordinate.
(ref)       The return format of the coordinate (notation) is described in
            the list "Defaults of the Coordinate Systems".

nCoordSys   Coordinate System of the source and target coordinates.
 › 0        The Coordinate System must be a "Transversal Mercator meridian
            strip system" (see list "Coordinate Reference Systems").
1000        User definied Coordinate System
            [Function setusercoordsys1()]

nEllipsoid  Geodetic ellipsoid.
   0        Standard ellipsoid (see list "Defaults of the coordinate
            systems").
 › 0        The numbers of the Reference Systems specify the geodetic
            ellipsoids (see list "Coordinate Reference Systems").
1000        User definied ellipsoid parameter
            [Function setuserellsource()]

nStrip      Required meridian strip
   0        Calculation of the native meridian strip from the geographic
            longitude.
 › 0        Valid number of the required meridian strip.

returnVal   In case of an error the function returns FALSE, otherwise TRUE.


Unlocking
This function is a component of the unlock requiring function group
"Coordinate Transformations". It is unlocked for unrestricted use
together with the other functions of the group by passing the unlock
parameters, acquired from the software distribution company, trough the
function setunlockcode(). Without unlocking only a few function calls for
test purposes (shareware principle) are possible.