Creating own EPSG lists |
The EPSG codes supported by GeoDLL are continuously updated and adapted to the current EPSG database. This means that new EPSG codes may be added with any new GeoDLL version.
It may therefore be useful to create a list of currently supported EPSG codes for a new GeoDLL version according to your own criteria. Using some GeoDLL functions, a list can be generated from a program written by you in any programming language. The list can then for example be delivered to your customers together with your own geodetic program.
The list is generated using the GeoDLL functions getepsg2geodll() and getepsgcrsname(). Detailed information on the functions can be found in the function descriptions of the help file. The functions are part of the function group “Parameter Determination” which requires activation. Without activation, the 100 possible free function calls are not sufficient to create the complete list. Unlocking is done by entering the unlock parameters purchased from KilletSoft by calling the function setunlockcode().
Here you can see a schema with instructions for creating a list of EPSG codes. Read the explanations for some lines below.
01 for n=1 to 35000 // Maximum number of CRS entries in the EPSG database 02 if getepsg2geodll( // Only consider EPSG codes contained in GeoDLL 03 n, // Identifier of the EPSG Coordinate Reference System 04 &nCoordSys, // GeoDLL identifier for the coordinate system 05 &nRefSys , // GeoDLL identifier for the reference system 06 &nStrip, // Meridian strip number for meridian strip systems 07 &lNoStrip, // Flag for the suppression of the meridian strip number 08 &l3D, // Flag for the 3D representation of the coordinate system 09 &nUnit, // GeoDLL identifier for the measurement unit 10 &pszConti, // GeoDLL identifier for the continent 11 &pszCountry // GeoDLL identifier for the country or group 12 ) 13 if pszConti != '' .and. pszCounty != '' // Only if continent and country exist 14 if nCoordsys != 0 .and. nRefSys != 0 // Only if GeoDLL identifiers exist 15 getepsgcrsname( // Get EPSG designation 16 n, // Identifier of the EPSG Coordinate Reference System (as above) 17 pszCrsName // Designation of the EPSG Coordinate Reference System 18 ) 19 <Write the parameters required for your list in arrays> 20 endif 21 endif 22 endif 23 next n 24 <Sort and select the parameter arrays according to your requirements> 25 <Generate an EPSG list from the parameter arrays> 26 <Output the newly created EPSG list to a file or to the printer>
Line 01: The maximum number of EPSG codes in the EPSG database (here version 11.xxx) may change in future EPSG versions. Please note this
Line 02: Use the getepsg2geodll() function to determine all the parameters contained in the GeoDLL for an EPSG code. The function returns FALSE if an EPSG code is not included in GeoDLL. For various reasons, some EPSG codes are not (yet) available in GeoDLL. If you notice that one or more EPSG codes that are important to you are not included, please contact KilletSoft. We will then try to include the codes in the next GeoDLL version.
Line13: Some EPSG codes are available in GeoDLL as a basis, but have not yet been assigned to a continent or a country resp. to a group. The continents or countries / groups used for such EPSG codes are not (yet) supported by GeoDLL.
Line 14: Some EPSG codes are available in GeoDLL as a basis, but do not yet have a number for the GeoDLL coordinate system or do not have a number for the GeoDLL reference system. The coordinate systems and reference systems described in such EPSG codes are not (yet) supported by GeoDLL.
Line 15: Use the getepsgcrsname() function to determine the official EPSG designation associated with an EPSG code
Line 19: Here you have determined all the parameters of an EPSG code supported by GeoDLL. You can select the parameters and write them in arrays.
Line 24: At the end of the loop, you have written the parameters of all EPSG codes supported by GeoDLL in arrays. In a further loop, you can generate a list from the arrays for the documentation of your own geodetic program.
|