Prototyp und Beschreibung der Funktion meritrans() (Funktion der freischaltpflichtigen Gruppe "Koordinatentransformationen") |
meritrans() Koordinatentransformation in einen anderen Meridianstreifen. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): 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); Prototyp der DLL-Funktion 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 Die Funktion rechnet Gauß-Krüger- und UTM-Quellkoordinaten nCoordXQ und nCoordYQ eines beliebigen Meridianstreifen in Zielkoordinaten nCoordXZ und nCoordYZ desselben Koordinatensystems auf einen gewünschten Meridianstreifens um. Dabei dürfen die Quellkoordinaten auch im "falschen" Meridianstreifen angegeben sein. Die Transformation wird mit hoher Genauigkeit durchgeführt. Das zugrunde liegende Koordinatensystem wird in nCoordSys eingetragen (siehe Parameterübergabe). Es muss ein ein "Transversales Mercator Streifensystem" sein. Die übergebenen Quellkoordinaten und die errechneten Zielkoordinaten werden in Abhängigkeit vom Koordinatensystem auf ihren Gültigkeitsbereich und auf syntaktische Richtigkeit überprüft. Die Bereichsgrenzen sind in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. Die Bereichs- und Syntaxprüfung kann mithilfe der Funktion setcoordarea() ein- oder ausgeschaltet werden. Wenn in nCoordSys der Wert 1000 übergeben wird, benutzt die Funktion die zuvor mit der Funktion setusercoordsys1() eingegeben Parameter benutzerdefinierter Koordinatensysteme und den zuvor mit der Funktion setuserellsource() definierten Erdellipsoid. Bei der Transformation wird das geodätische Ellipsoid nEllipsoid berücksichtigt. Wenn in nEllipsoid der Wert 0 übergeben wird, werden die für die jeweiligen Koordinatensysteme üblichen geodätischen Ellipsoide zugrundegelegt (siehe Liste "Standardwerte der Koordinatensysteme"). Wenn in nEllipsoid der Wert 1000 übergeben wird, benutzt die Funktion die zuvor mit der Funktion setuserellsource() eingegeben benutzerdefinierten Ellipsoidparameter. Bei Transformationen kann der Meridianstreifen nStrip, auf den sich die Zielkoordinaten beziehen sollen, vorgegeben werden. Der vorgegebene Meridianstreifen darf nicht mehr als 3 Streifen vom natürlichen Bezugsmeridian der Zielkoordinaten abweichen. Wenn in nStrip der Wert 0 übergeben wird, erfolgt die automatische Berechnung des natürlichen Bezugsmeridians aus der geographischen Länge. Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: nCoordXQ Rechts-, oder X-Komponente der Quellkoordinate. Das Eingabeformat der Koordinate ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. nCoordYQ Hoch-, oder Y-Komponente der Quellkoordinate. Das Eingabeformat der Koordinate ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. nCoordXZ Rechts-, oder X-Komponente der Zielkoordinate. (ref) Das Ausgabeformat der Koordinate ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. nCoordYZ Hoch-, oder Y-Komponente der Zielkoordinate. (ref) Das Ausgabeformat der Koordinate ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. nCoordSys Koordinatensystem der Quell- und Zielkoordinaten. › 0 Das Koordinatensystem muss ein ein "Transversales Mercator Streifensystem" sein (siehe Liste "Koordinatenbezugssysteme"). 1000 User-definiertes Koordinatensystem [Funktion setusercoordsys1()] nEllipsoid Geodätisches Ellipsoid. 0 Standardellipsoid (siehe Liste "Standardwerte der Koordinatensysteme"). › 0 Die Nummern der Referenzsysteme spezifizieren die geodätischen Ellipsoide (siehe Liste "Koordinaten- und Bezugssysteme"). 1000 User-definierte Ellipsoidparameter [Funktion setuserellsource()] nStrip Zu verwendender Meridianstreifen. 0 Berechnung des natürlichen Meridianstreifens aus der Geographischen Länge. › 0 Gültige Nummer des benötigten Merdidianstreifens. returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Freischaltung: Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe "Koordinatentransformationen". Sie wird zusammen mit den anderen Funktionen der Gruppe durch die Eingabe der bei der Vertriebsfirma erworbenen Freischaltparameter per Aufruf der Funktion setunlockcode() zur uneingeschränkten Nutzung frei geschaltet. Ohne die Freischaltung sind nur wenige Funktionsaufrufe zu Testzwecken (Sharewareprinzip) möglich. |