Prototyp und Beschreibung der Funktion getntvcalcextra() (Funktion der freischaltpflichtigen Gruppe "NTv2-Transformationen") |
getntvcalcextra() Berechnung von Extra-Parametern während NTv2-Transformationen. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall getntvcalcextra( short *nGridNum, double *nShiftLon, double *nShiftLat, double *nShiftBear, double *nShiftDist, double *nShiftAngle, long *nRowCount, long *nColCount, long *nRowCoord, long *nColCoord, long *nMashInd); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL FUNCTION getntvcalcextra; (nGridNum REF WORD,; // 2 Byte nShiftLon REF REAL8,; // 8 Byte nShiftLat REF REAL8,; // 8 Byte nShiftBear REF REAL8,; // 8 Byte nShiftDist REF REAL8,; // 8 Byte nShiftAngle REF REAL8,; // 8 Byte nRowCount REF DWORD,; // 4 Byte nColCount REF DWORD,; // 4 Byte nRowCoord REF DWORD,; // 4 Byte nColCoord REF DWORD,; // 4 Byte nMashInd REF DWORD); // 4 Byte AS LOGIC PASCAL:geodll32.getntvcalcextra // 4 Byte Die Funktion berechnet bei jeder Koordinatentransformation, die mit Funktionen des Typs coordtrans*() unter Verwendung von NTv2-Datumswechsel durchgeführt wird, zusätzliche (extra) Parameter. Voraussetzung dafür ist das vorherige Einschalten der Berechnungen mit der Funktion setcalcextra(). Jeweils nach einer NTv2-Koordinatentransformation können die Extra-Parameter abgefragt werden. Die bei einer NTv2-Koordinatentransformation berechneten Extra-Parameter bleiben solange erhalten, bis die Funktion setcalcextra() das nächste Mal mit dem auf TRUE gesetzten Parameter aufgerufen wird. Folgende Extra-Parameter stehen zur Verfügung: Die Nummer des bei der Berechnung ermittelten NTv2-Gitters. Shiftwert der Länge an der Koordinate in Sekunden. Shiftwert der Breite an der Koordinate in Sekunden. Gepeilter Shiftwert an der Koordinate in Sekunden. Gepeilter Shiftwert an der Koordinate in Meter Gepeilter Winkel an der Koordinate in Grad Anzahl der Zeilen im ermittelten NTv2-Gitter. Anzahl der Spalten im ermittelten NTv2-Gitter. Zeile der für die Koordinate gefundenen Gittermasche. Spalte der für die Koordinate gefundenen Gittermasche. Index der für die Koordinate gefundenen Gittermasche. Die Nummer des NTv2-Subgitters kann zur Ermittlung weiterer Informationen, z.B. mit der Funktion getntvgridheader(), verwendet werden. Die Shiftwerte der Länge und Breite geben den Versatz zwischen dem Quell- Bezugssystem und dem Ziel-Bezugssystem in Sekunden an. Der gepeilte Shiftwert in Sekunden ist der Absolutbetrag der Hypotenuse aus den Längen- und Breiten-Shiftwerten in Sekunden. Der gepeilte Shiftwert in Meter ist die mit der Formel von Vincenty berechnete Unterschied zwischen der Quell- und Zieilkoordinate im Ziel- Bezugssystem. Der gepeilte Winkel in Grad ist der mit der Formel von Vincenty berechnete Winkel zwischen der Quell- und Zielkoordinate im Ziel- Bezugssystem. Die Anzahl der Zeilen und Spalten gibt Auskunft über die maximale Ausdehnung des ermittelten NTv2-Ggitter. Die für die berechnete Koordinate gefundenen Zeile und Spalte geben Auskunft über die Position der Gittermasche im rechteckigen NTv2-Ggitter. Der für die berechnete Koordinate gefundenen Index stellt die fortlaufende Nummer der Gittermasche im NTv2-Gitter dar. Die Parameter werden folgendermaßen zurückgegeben: nGridCount Nummer des bei der Berechnung ermittelten NTv2-Gitters. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. nShiftLon Shiftwert der Länge an der Koordinate in Sekunden. (ref) Oder -9999.0, falls der Wert nicht berechnet werden konnte. nShiftLat Shiftwert der Breite an der Koordinate in Sekunden. (ref) Oder -9999.0, falls der Wert nicht berechnet werden konnte. nShiftBear Gepeilter Shiftwert an der Koordinate in Sekunden. (ref) Oder -9999.0, falls der Wert nicht berechnet werden konnte. nRowCount Anzahl der Zeilen im ermittelten NTv2-Gitters. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. nColCount Anzahl der Spalten im ermittelten NTv2-Gitters. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. nRowCoord Zeile der für die Koordinate gefundenen Gittermasche. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. nColCoord Spalte der für die Koordinate gefundenen Gittermasche. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. nMashInd Index der für die Koordinate gefundenen Gittermasche. (ref) Oder -9999, falls der Wert nicht berechnet werden konnte. returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Freischaltung: Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe "NTv2-Transformationen". Sie wird zusammen mit den anderen Funktionen der Gruppe durch die Eingabe der bei der Vertriebsfirma erworbenen Freischalt- parameter per Aufruf der Funktion setunlockcode() zur uneingeschränkten Nutzung frei geschaltet. Ohne die Freischaltung sind nur wenige Funktions- aufrufe zu Testzwecken (Sharewareprinzip) möglich. Es ist zu beachten, dass zusätzlich die Funktionsgruppe "Koordinatentransformationen" frei geschaltet sein muss. |