Prototyp und Beschreibung der Funktion getcoordform3d() (Funktion der freischaltpflichtigen Gruppe " Parameterermittlung") |
getcoordform3d() Ermittlung der Schreibweisen der Ost-, Nord- und Höhenkomponenten eines 3D Koordinatensystems. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall getcoordform3d( unsigned short wCoordSys, unsigned short wCoordLength, unsigned short wHeightLength, char **pszCoordFmEa, unsigned short *wCoordLgEa, char **pszCoordFmNo, unsigned short *wCoordLgNo, char **pszCoordFmHgt, unsigned short *wCoordLgHgt, unsigned short *wCoordTyp); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function getcoordform3d(; wCoordSys as word,; // 2 Byte wCoordLength as word,; // 2 Byte wHeightLength as word,; // 2 Byte pszCoordFmEa ref psz,; // 4 Byte, char**, 30 alloc. wCoordLgEa ref word,; // 4 Byte pszCoordFmNo ref psz,; // 4 Byte, char**, 30 alloc. wCoordFmNo ref word,; // 4 Byte pszCoordFmHgt ref psz,; // 4 Byte, char**, 30 alloc. wCoordFmHgt ref word,; // 4 Byte wCoordTyp ref word); // 4 Byte as logic pascal:geodll32.getcoordform3d // 4 Byte Die Allokation von Speicher für die zurückzugebenden psz ist nur dann wenn zuvor setstringallocate(FALSE) aufgerufen worden ist. Die Funktion gibt die Schreibweisen (Notationen) der Ost-, Nord und Höhenkomponenten des in wCoordSys übergebenen 3D-Koordinatensystems in den Stringparametern pszCoordFmEa (Ostkomponente), pszCoordFmNo (Nordkomponente) und pszCoordFmHgt (Höhenkomponente) zurück. Bei kartesischen Koordinaten wird statt der Notation der ellipsoidischen Höhenkomponente die Notation der kartesischen Z-Komponente zurückgegeben. Die Notationen werden durch das Hinzufügen von Nachkommastellen auf die in wCoordLength (Ost- und Nordkomponenten) und wHeightLength (Höhenkomponente) angegebene Größe expandiert. Die Notationen der alphanumerische Koordinaten werden nicht expandiert. Die mindestens erforderliche Anzahl von Ziffern oder Zeichen für die Ost- und Nordkomponenten werden in den Parametern wCoordLgEa und wCoordLgNo zurückgegeben, die der Höhenkomponente im Parameter wCoordLgHgt. Die Notationsstrings werden in der zuvor mit der Funktion setLanguage() gesetzten Sprache zurückgegeben. Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: wCoordSys Koordinatensytem, für das die Notationen ermittelt werden sollen. Die verfügbaren Koordinatensysteme sind in der Liste "Koordinatenbezugssysteme" aufgeführt. wCoordLength Länge, auf die die Ost- und Nordnotationen durch Hinzufügen von Nachkommastellen expandiert werden. Die Übergabe einer Null bewirkt die Darstellung dieser Notationen mit nur einer Nachkommastelle. Die Eingabe des Wertes 1000 bewirkt die Darstellung ohne Nachkommastellen. wHeightLength Länge, auf die die Höhennotation durch Hinzufügen von Nachkommastellen expandiert wird. Die Übergabe einer Null bewirkt die Darstellung dieser Notationen mit nur einer Nachkommastelle. Die Eingabe des Wertes 1000 bewirkt die Darstellung ohne Nachkommastellen. pszCoordFmEa Der String für die Notation der Ostkomponente der Koordinate (ref) wird per Referenz zurückgegeben. Das genaue Format der Notation ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. Achtung: "ref pszCoordFmEa" entspricht "char**" in C. Es müssen 30 Byte Speicher für den Null terminated string in Abhängigkeit vom Aufruf der Funktion setstringallocate() allokiert werden. Beachten Sie dazu die Hinweise in der Beschreibung der Funktion setstringallocate()". wCoordLgEa Die mindestens erforderliche Anzahl von Ziffern oder Zeichen (ref) für die Ostkomponente der Koordinate wird per Referenz zurückgegeben. pszCoordFmNo Der String für die Notation der Nordkomponente der Koordinate (ref) wird per Referenz zurückgegeben. Das genaue Format der Notation ist in der Liste "Standardwerte der Koordinatensysteme" aufgeführt. Achtung: "ref pszCoordFmNo" entspricht "char**" in C. Es müssen 30 Byte Speicher für den Null terminated string in Abhängigkeit vom Aufruf der Funktion setstringallocate() allokiert werden. Beachten Sie dazu die Hinweise in der Beschreibung der Funktion setstringallocate()". wCoordLgNo Die mindestens erforderliche Anzahl von Ziffern oder Zeichen (ref) für die Nordkomponente der Koordinate wird per Referenz zurückgegeben. pszCoordFmHgt Der String für die Notation der Höhenkomponente der Koordinate (ref) wird per Referenz zurückgegeben. Für die ellipsoidische Höhe ist das Format "±mmmmm" vorgegeben. Bei kartesischen Koordinaten atimmt die Notation der Z-Komponente mit denen in pszCoorFmEa und pszCoorFmNo überein. Achtung: "ref pszCoordFmNo" entspricht "char**" in C. Es müssen 30 Byte Speicher für den Null terminated string in Abhängigkeit vom Aufruf der Funktion setstringallocate() allokiert werden. Beachten Sie dazu die Hinweise in der Beschreibung der Funktion setstringallocate()". wCoordLgHgt Die mindestens erforderliche Anzahl von Ziffern oder Zeichen (ref) für die Höhenkomponente der Koordinate wird per Referenz zurückgegeben. wCoordTyp Der Typ des Koordinatensystems wird per Referenz zurückgegeben: (ref) 0 = Numerisches Koordinatensystem 1 = Alphanumerisches Koordinatensystem returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Die zurückgegebenen Notationen und Werte sehen je nach dem gewählten Koordinatensystem und der gewünschten Rückgabelänge für die Ost- und Nordkomponenten (hier 10) und für die Höhenkomponente (hier 9) etwa so aus: Geographische Koordinaten [Grad, Min, Sek]: ±dddmmss.s 8 ±ddmmss.ss 7 ±mmmmm.mm 6 0 oder Österreichische Gauß-Krüger-Koordinaten: kkkmmm.mm 6 kkkmmm.mm 6 ±mmmmm.mm 6 0 oder British National grid: aaeeeeennnnn 12 ‹blank› 0 ±mmmmm.mm 6 1 oder Kartesische Koordinaten: mmmmmmm.mm 7 mmmmmmm.mm 7 mmmmmmm.mm 7 0 Freischaltung: Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe "Parameterermittlung". 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. |