Anlegen eigener EPSG-Listen |
Die von der GeoDLL unterstützten EPSG-Codes werden laufend ergänzt und an die aktuelle EPSG-Datenbank angepasst. So können bei jeder neuen GeoDLL-Version neue EPSG-Codes hinzugekommen sein.
Deshalb kann es sinnvoll sein, für eine neue GeoDLL-Version eine Liste der aktuell unterstützten EPSG-Codes nach eigenen Kriterien anzulegen. Unter Nutzung einiger GeoDLL-Funktionen kann so eine Liste aus einem von Ihnen in einer beliebigen Programmiersprache geschriebenen Programm generiert werden. Die Liste kann dann z.B. zusammen mit Ihrem eigenen geodätischen Programm an Ihre Kunden ausgeliefert werden.
Die Liste wird mit Hilfe der GeoDLL-Funktionen getepsg2geodll() und getepsgcrsname() erzeugt. Detaillierte Informationen zu den Funktionen finden Sie in den Funktionsbeschreibungen der Hilfedatei. Die Funktionen sind Bestandteil der freischaltpflichtigen Funktionsgruppe "Parameterermittlung". Ohne Freischaltung reichen die 100 möglichen freien Funktionsaufrufe nicht zur Erstellung der kompletten Liste aus. Die Freischaltung erfolgt durch die Eingabe der bei der KilletSoft erworbenen Freischaltparameter per Aufruf der Funktion setunlockcode().
Hier sehen Sie ein Schema mit einer Anleitung zum Erzeugen einer Liste mit EPSG-Codes. Lesen Sie weiter unten die Erläuterungen zu einigen Zeilen.
01 for n=1 to 35000 // Maximale Anzahl der CRS-Einträge in der EPSG-Datenbank 02 if getepsg2geodll( // Nur in GeoDLL enthaltene EPSG-Codes berücksichtigen 03 n, // Kennung des EPSG-Koordinatenbezugssystems 04 &nCoordSys, // GeoDLL-Kennung für das Koordinatensystem 05 &nRefSys , // GeoDLL-Kennung für das Bezugssystem 06 &nStrip, // Meridianstreifennummer bei Meridianstreifensystemen 07 &lNoStrip, // Flag für die Unterdrückung der Meridianstreifennummer 08 &l3D, // Flag für die 3D-Darstellung des Koordinatensystems 09 &nUnit, // GeoDLL-Kennung für die Maßeinheit 10 &pszConti, // GeoDLL-Kennung für den Kontinent 11 &pszCountry // GeoDLL-Kennung für das Land oder Gruppe 12 ) 13 if pszConti != '' .and. pszCounty != '' // Nur wenn Kontinent und Land vorhanden 14 if nCoordsys != 0 .and. nRefSys != 0 // Nur wenn GeoDLL-Kennungen vorhanden 15 getepsgcrsname( // EPSG-Bezeichnung ermitteln 16 n, // Kennung des EPSG-Koordinatenbezugssystems (wie oben) 17 pszCrsName // Bezeichnung des EPSG-Koordinatenbezugssystems 18 ) 19 <Speichern Sie die für Ihre Liste benötigten Parameter in Arrays> 20 endif 21 endif 22 endif 23 next n 24 <Sortieren und selektieren Sie die Parameter-Arrays nach Ihren Vorstellungen> 25 <Generieren Sie aus den Parameter-Arrays eine EPSG-Liste> 26 <Geben Sie die neu erzeugte EPSG-Liste in eine Datei oder auf dem Drucker aus>
Zeile 01: Die maximale Anzahl der EPSG-Codes in der EPSG-Datenbank (hier Version 11.xxx) kann sich in zukünftigen EPSG-Versionen ändern. Bitte beachten Sie das
Zeile 02: Mit der Funktion getepsg2geodll() ermitteln Sie alle in der GeoDLL enthaltenen Parameter zu einem EPSG-Code. Die Funktion gibt FALSE zurück, wenn ein EPSG-Code nicht in GeoDLL berücksichtigt ist. Aus verschiedenen Gründen sind manche EPSG-Codes in GeoDLL (noch) nicht vorhanden. Solle Ihnen auffallen, dass ein oder mehrere für Sie wichtige EPSG-Codes nicht enthalten sind, melden Sie sich bitte bei KilletSoft. Wir versuchen dann die Codes in der nächsten GeoDLL-Version einzurichten.
Zeile13: Manche EPSG-Codes sind in GeoDLL als Grundlage vorhanden, haben aber noch keine Zuordnung zu einem Kontinent oder zu einem Land bzw. zu einer Gruppe. Die für solche EPSG-Codes verwendeten Kontinente oder Länder / Gruppen werden von GeoDLL (noch) nicht unterstützt.
Zeile 14: Manche EPSG-Codes sind in GeoDLL als Grundlage vorhanden, haben aber noch keine Nummer für das GeoDLL-Koordinatensystem oder noch keine Nummer für das GeoDLL-Bezugssystem. Die in solchen EPSG-Codes beschriebenen Koordinatensysteme und Bezugssysteme werden von GeoDLL (noch) nicht unterstützt.
Zeile 15: Mit der Funktion getepsgcrsname() ermitteln Sie die zu einem EPSG-Code gehörende offizielle EPSG-Bezeichnung
Zeile 19: Hier haben Sie alle Parameter eines von der GeoDLL unterstützten EPSG-Codes ermittelt. Sie können die Parameter selektieren und in Arrays eintragen.
Zeile 24: Am Ende der Schleife angekommen haben Sie die Parameter aller von der GeoDLL unterstützten EPSG-Codes in Arrays eingetragen. In einer weiteren Schleife können Sie aus den Arrays eine Liste für die Dokumentation Ihres eigenen geodätischen Programms erzeugen.
|