Prototyp und Beschreibung der Funktion setunlockcode() (Nicht freischaltpflichtige Funktion) |
setunlockcode() Freischalten von GeoDLL-Funktionsgruppen mittels Freischaltparameter. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall setunlockcode( const char *pszUnlockkey, const char *pszLicensee); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function setunlockcode(; pszUnlockkey as psz,; // 4 Byte, char* pszLicensee as psz); // 4 Byte, char* as logic pascal:geodll32.setunlockcode // 4 Byte Die Funktion schaltet alle DLL-Funktionen einer freischaltpflichtigen Gruppe zur uneingeschränkten Nutzung frei. Dazu müssen für jede frei zuschaltende Gruppe die Freischaltparameter aus dem Lizenzvertrag mit der Funktion setunlockcode() an die DLL übergeben werden. Es ist wichtig, dass die Parameter in derselben Schreibweise übergeben werden, wie sie im Lizenzvertrag eingetragen sind. Wenn Funktionen aus verschiedenen Gruppen genutzt werden sollen, muss setunlockcode() mehrmals nacheinander aufgerufen werden. Die geodätischen Funktionen der DLL sind folgendermaßen in freischaltpflichtige Gruppen zusammengefasst: Die Gruppe "Koordinatentransformationen" enthält Funktionen zur Durchführung von Koordinatentransformationen und Bezugssystemwechsel. coordtrans() 2D-Koordinatentransf., numerisch / alphanum. (char**) coordtrans2() 2D-Koordinatentransf., numerisch / alphanum. (char*) coordtrans3() 2D-Koordinatentransformation, numerisch coordtrans4() 2D-Koordinatentransf., numerisch, keine Notationen coordtransex() 2D-Koordinatentransformationen, reduzierte Ostwerte coordtrans3d() 3D-Koordinatentransf., numerisch / alphanum. (char**) coordtrans3d2() 3D-Koordinatentransf., numerisch / alphanum. (char*) coordtrans3d3() 3D-Koordinatentransformation, numerisch coordtrans3d4() 3D-Koordinatentransformation, numerisch, keine Notationen coordtrans3dex() 3D-Koordinatentransformationen, reduzierte Ostwerte coordtransepsg() - EPSG-kodierte Koordinatentransformation meritrans() Meridianstreifenwechsel bei GK- und UTM-Koordinaten setcoordarea() Ein-/Ausschalten der Bereichsüberprüfung setcalcextra() Ein-/Ausschalten der Berechnung von Extra-Parametern coordcalcextra() Berechnung von Extra-Parametern während Koordinatentransf. coordtransextraind() Berechnung von Extra-Parametern unabhängig von Koordinatentransformationen Die Gruppe "NTv2-Transformationen" enthält Funktionen zum Bezugssystemwechsel mit Gitterdateien nach dem NTv2-Standard. getntvbinaryfile() Erm. der zu einem Bezugssys. passenden NTv2-Dateinamen getntvdirmatch() Ermittlung einer NTv2-Datei aus einem Sammelverzeichnis getntvrefbelong() Ermitteln des zweiten NTv2-Bezugssystems getntvrefequiv() NTv2-äquivalentes Bezugssystem getntvrefstatus() NTv2-Zugehörigkeit eines Bezugssystems setntvbinaryfile() NTv2-Binärdatei prüfen und initialisieren setntvbinautodir() Verzeichnis zur autom. Verwendung von NTv2-Dateien setzen setntvbinautofile() NTv2-Binärdatei in die Warteposition setzen setntvpolyvalid() Polygonale Gültigkeitsprüfung in NTv2-Dateien setzen closentvbinaryfile() NTv2-Binärdatei schließen und NTv2-Instanz freigeben Die Gruppe "NTv2-Werkzeuge" enthält Funktionen zur Manipulation von und zur Datengewinnung aus NTv2 ASCII-Gitterdateien und NTv2 Binär-Dateien. convntvascii2bin() NTv2-ASCII-Datei nach Binärdatei konvertieren convntvbin2ascii() NTv2-Binärdatei nach ASCII-Datei konvertieren convntvbin2area() Bereich einer NTv2-Gitterdatei in Binärdatei übertragen convntvbin2polyvalid() NTv2-Datei mit polygonalen Gültigkeitsber. ergänzen getntvgridarray() Numerische Parameter der NTv2-Gitter in Arrays schreiben getntvgridcount() Anzahl der Gitter in einer NTv2-Datei getntvgridheader() Header-Parameter eines NTv2-Gitters getntvheader() Header-Parameter einer NTv2-Datei getntvminmaxshift() Ermittlung der Min- / Max-Shiftwerte von NTv2-Gittern Die Gruppe "Benutzerdefinitionen" enthält Funktionen zur Eingabe von selbst definierten Koordinatensystemen, Bezugssystemen und Erdellipsoiden, die mit den Funktionen der Gruppe "Koordinatentransformationen" neben den in GeoDLL vordefinierten Systemen genutzt werden können. setusercoordsys1() Definition eines Benutzer-Koordinatensystems setusercoordsys2() Definition eines zweiten Benutzer-Koordinatensystems setuserrefsys() Definition eines Benutzer-Bezugssystems setuserellsource() Definition eines Benutzer-Quellellipsoids setuserelltarget() Definition eines Benutzer-Zielellipsoids getusercoordpar() Parameter eines Benutzer-Koordinatensystems getusercoordtyp() Bezeichnung eines Benutzer-Koordinatensystems Die Gruppe "Parameterermittlung" enthält Funktionen zur Rückgabe von Parametern der in GeoDLL vordefinierten und benutzerdefinierten Koordinatensysteme, Bezugssysteme und Ellipsoide. getepsg2geodll() Ermittlung zu EPSG-Code äquivalenten GeoDLL-Codes getepsgcrsname() Ermittlung der Bezeichnung eines EPSG-CRS getcoordname() Bezeichnung eines Koordinatensystems getcoordsys() Formatierte Parameter eines Koordinatensystems getcoordform() Notation der Koordinaten eines 2D-Koordinatensystems getcoordform3d() Notation der Koordinaten eines 3D-Koordinatensystems getcoordaxis() Achsenbezeichnungen eines 2D-Koordinatensystems getcoordaxis3d() Achsenbezeichnungen eines 3D-Koordinatensystems getcoordarea() Bereichsgrenzen eines Koordinatensystems getcoordstdrefsys() Standard-Bezugssystem eines Koordinatensystems getcoordstdunitpar() Standard-Maßeinheit eines Koordinatensystems getcoordproj() Projektionsmethodennummer eines Koordinatensystems getcoordproj() Projektionsmethodennummer eines Koordinatensystems getcoordstrstatus() Feststellen ob Koordinatensystem ein Streifensystem getrefname() Bezeichnung eines Bezugssystems getrefsys() Formatierte Parameter eines Bezugssystems getellname() Bezeichnung eines Ellipsoids getellsys() Formatierte Parameter eines Ellipsoids getellsource() Halbachsen eines Quellellipsoids getelltarget() Halbachsen eines Zielellipsoids getunitname() Bezeichnung einer Maßeinheit getunitpar() Umrechnungskontante einer Maßeinheit Die Gruppe "Entfernungsberechnungen" enthält Funktionen zur Ermittlung der Entfernung zwischen zwei Koordinaten. distancegeo() Entfernung zw. geogr. Koordinaten auf dem Ellipsoid distancesphere() Entfernung zw. geogr. Koordinaten auf der Erdkugel distanceutm() Entfernung zwischen UTM-Koordinaten point2pointgeo() Zielpunkt auf Ellipsoid aus Startpunkt, Winkel, Entfernung point2pointsphere() Zielpunkt auf Erdkugel aus Startpunkt, Winkel, Entfernung point2pointutm() UTM-Zielpunkt aus UTM-Startpunkt, Winkel und Entfernung vincentydirect() Erste geodätische Hauptaufgabe vincentyinverse() Zweite geodätische Hauptaufgabe Die Gruppe "Notationsberechnungen" enthält Funktionen zur Umrechnung der geographischen Koordinaten von einer Notation in eine andere und zum korrekten Runden der geographischen Koordinaten verschiedener Notationen. umfd2g() Umformung dezimale Notation in graduelle Notation umfd2gn() Umformung dezimale Notation in gonale Notation umfd2n() Umformung dezimale Notation in nautische Notation umfd2s() Umformung dezimale Notation in Sekunden-Notation umfg2d() Umformung graduelle Notation in dezimale Notation umfgn2d() Umformung gonale Notation in dezimale Notation umfn2d() Umformung nautische Notation in dezimale Notation umfs2d() Umformung Sekunden-Notation in dezimale Notation umfroundg() Exakte Rundung gradueller Koordinaten umfroundn() Exakte Rundung nautischer Koordinaten Die Gruppe "Kartenberechnungen" enthält Funktionen zum Umrechnen von Koordinaten in TK-Nummern der topographischen Karten und zum Ermitteln der Eckkoordinaten der topographischen Karten. kartgeo2tk() Zu geographischen Koordinaten passende TK25-Nummer karttk2geo() Eckkoordinaten einer Karte aus TK25-Nummer ermitteln karttknum() TK50, TK100 und TKÜ200 aus TK25-Nummer ermitteln Die Gruppe "Höhenberechnungen" enthält Funktionen zum Ermitteln von Geländehöhen über dem Meeresspiegel aus digitalen Höhenmodellen. getelevation03() Geländehöhe aus dem 3 Sek. Höhenmodell CGIAR ermitteln getelevation30() Geländehöhe aus dem 30 Sek. Höhenmodell GLOBE ermitteln getelevation33() Geländehöhe aus dem 3/30 Sek. Höhenmodell CGIAR/GLOBE setelev03datapath() Datenpfad für das 3 Sek. Höhenmodell CGIAR setzen setelev30datapath() Datenpfad für das 30 Sek. Höhenmodell GLOBE setzen convelev03ascii2bin() CGIAR ASCII-Datei nach Binärdatei konvertieren Die Gruppe "Transformationsparameter" enthält Funktionen zur Berechnung von Helmert- und Molodensky-Parametersätzen, Ausreißern und Klaffungen aus identischen Punkten der Quell- und Ziel-Koordinatenbezugssysteme. gettranshelmert() Berechnnen von sieben Helmert-Parametern gettransmolodensky() Berechnen von drei Molodensky-Parametern gettransoutliers() Berechnen der Ausreißer von identischen Punkten gettransresiduals() Berechnen der Klaffungen von identischen Punkten gettransresidualmax() Berechnen der "Maximalen Räumlichen Klaffung" gettransresidualaverage() Berechnen der "Mittleren Räumlichen Klaffung" gettransresidualrms() Berechnen der "Quadratischen Mittleren Klaffung" (RMS) Die Gruppe "Zeitzonenberechnungen" enthält Funktionen zur Ermittlung und Berechnung von Zeitzonen, UTC, DST, Sommerzeitdaten und anderen Zeitzonen- Parametern aus Koordinaten und aus GeoDLL-Zeitzonen-Indexen. settzgridfile() Zeitzonen-Gitterdatei prüfen und initialisieren settzshapefile() Zeitzonen-Shapedatei prüfen und initialisieren gettzcurrentbynum() Ermittlung aktueller Zeitzonen-Parameter aus GeoDLL-Index gettznamebynum() Ermittlung der Zeitzonenbezeichnung aus einem GeoDLL-Index gettznumbycoordexact() Genaue Ermittlung des GeoDLL-Index aus Koordinate gettznumbycoordfast() Schnelle Ermittlung des GeoDLL-Index aus Koordinate gettzparbynum() Ermittlung allgemeiner Zeitzonen-Parameter aus GeoDLL-Index Sonstige Funktionen, die nicht freischaltpflichtig sind und mit allen Gruppen genutzt werden können. getauthor() Urheberhinweis und Anschrift des Programmautoren getdisclaimer() Hinweis zum Haftungsausschluss der GeoDLL getdllversion() Versionsnummer der vorliegenden GeoDLL geterrorcode() Beschreibung des zuletzt aufgetretenen Fehlers getlicensee() Bezeichnung des Lizenznehmers setdllinit() Initialisierung und Test Funktionsbereitschaft der GeoDLL setdllworkdir() Verzeichnis für geodllbn.bin und andere Dateien seteventloop() Ein-/Ausschalten der Event-Verarbeitung setinternerrsys() Ein-/Ausschalten der internen Fehlerbehandlung setlanguage() Wahl der Sprache für alle textlichen Rückgaben setmultithreading() Ein-/ Ausschalten einer Multithreading-Umgebung setsilence() Ein-/Ausschalten der EventLog-Ausgabe setstaticuse() Ein-/Ausschalten der Verwendung interner Statics setstringallocate() Ein-/Ausschalten des internen Speichermanagements setunlockcode() Eingabe der Freischaltparameter Beim Aufruf der Funktion setunlockcode() müssen die übergebenen Freischaltparameter korrekt sein. Bei der Übergabe eines einzigen ungültigen Freischaltparameters werden die Funktionen aller freischaltbaren Gruppen von weiteren Funktionsaufrufen ausgeschlossen. Falls noch keine Freischaltparameter bei der Vertriebsfirma erworben worden sind, können die Funktionen freischaltpflichtiger Gruppen pro Programmlauf einige Mal zu Testzwecken aufgerufen werden (Sharewareprinzip). Die Testversion zeigt außerdem ein kleines Hinweisfenster an und gibt eine Dreitonfolge aus. Die Funktion setunlockcode() darf in diesem Fall nicht aufgerufen werden (siehe vorherigen Absatz). Die Parameter werden folgendermaßen übergeben: pszUnlockkey Freischaltcode aus dem beim Lizenzgeber erworbenen Lizenzvertrag als ein mit Null abschließender Characterstring (nullterminated string). Sollte die verwendete Programmiersprache keine nullterminated strings unterstützen, so kann auch ein normaler String mit einem angehängten Null-Character übergeben werden. pszLicensee Bezeichnung des Lizenznehmers aus dem Lizenzvertrag als ein mit Null abschließender Characterstring (nullterminated string). Sollte die verwendete Programmiersprache keine nullterminated strings unterstützen, so kann auch ein normaler String mit einem angehängten Null-Character übergeben werden. Die Lizenznehmerbezeichnung kann später mit der Funktion getlicensee() abgefragt werden. returnWert Bei ungültigen Freischaltparametern gibt die Funktion FALSE zurück, sonst TRUE. Freischaltung: Die Funktion ist nicht freischaltpflichtig. |