Killet Software Ing.-GbR - short: KilletSoft - is a software company, which was established in the year 1991. The society is divided into the ranges "Geodetic Standard Software", "Development Tools for Geo Informatics" and "International Geodata". The industrial sectors of emphasis of the companies supplied by KilletSoft are consulting engineers, GIS developers, Internet marketing, public utilities, logistics, telecommunications, security and public services.
Print page body  •    Contact  •    Imprint
Deutsch English

Geodetic Functions

GeoDLL supports the development of geodetic software on various platforms by providing geodetic functions. GeoDLL contains precise calculations on the themes 2D and 3D coordinate transformation, geodetic datum shift and reference system converting, meridian strip changing, user defined coordinate and reference systems, distance calculations, Digital Elevation Model, NTv2 handling and BeTA2007 support, Direct / Inverse solutions, map function and geodetic converting functions.

The most important application of GeoDLL is to include professional coordinate transformations in own programs. These coordinate and reference systems are supported:

  1. The current and many historical coordinate and reference systems of all countries of the European Union (EU) including the eastern extensions and the systems of the European non-EU countries.
  2. The European ETRS89 systems forced by INSPIRE with respect to the continental drift.
  3. The US and Canadian State Plane Coordinate Systems (SPCS) and other systems of the North American continent.
  4. Many coordinate and reference systems of the countries of all continents and the world-wide used coordinate and reference systems.
  5. World-wide NTv2 grid file supported coordinate transformations.
  6. The coordinate and reference systems of the old and new German Federal States, the 40 Prussian Soldner Land Registers, the German 'Lagestatus', special reference systems of the German Federal States and BeTA2007.
  7. User defined coordinate systems, reference systems and earth ellipsoids.

GeoDLL comes with extensive documentation and is supplied as DLL file or as C++ source code for 32bit and 64bit architectures. The DLL works with most programming languages and it can be used with Microsoft Office programs. The DLL is written in C++ and was developed with Microsoft Visual Studio 2010. Thus very fast performance, compact code and high stability are assured. The functions of GeoDLL are prepared for multithreading.

Dynamic Link Library (DLL)

The operating system WINDOWS provides software developers the opportunity to use prepared functions of third-parties in their own software applications. Thus, geodetic functions of GeoDLL can be linked to programs written in C, C++, C#, Java, Delphi, MS-Access, Visual Basic, CA-Visual Objects or which are written in other programming languages. To support the GeoDLL, examples and interfaces with source code for many commonly used programming languages are provided. An example of using GeoDLL is the program  TRANSDAT that is available for download on the internet.

Memory model

GeoDLL is delivered for WINDOWS operating systems with 32bit and 64bit architecture. Therefore, the DLL can be used with win32 applications on 32bit WINDOWS operating systems and with x64 applications on 64bit WINDOWS operating systems.

C++ Source Code

Frequently we got inquiries whether the geodetic functions are also available for other operating systems like LINUX or UNIX. Also some developers would not like to build functionality without knowledge of the source code into their programs. For this reasons we decided to offer the geodetic functions as source code. The functions contained in GeoDLL can be acquired completely as C++ source code. The source is extensively written in ANSI-C++, so that the migration to arbitrary operating systems and hardware platforms is possible with minor modifications.

Function descriptions

As an example for a function description you can have a look to the description of the geodetic function  coordtrans3d(). Detailed description of all geodetic functions in an English and German language MS-help documentation and a runnable test version of GeoDLL are contained in the  download file.

Coordinate and Reference systems

All the  coordinate and reference systems, supported by GeoDLL, sorted on continents and countries with additional information are put together on a separate internet page.

NTv2 support

Exact datum shifts in local systems are possible by supporting the  NTv2 standard with grid files.

Digital Elevation Models

GeoDLL supports the Digital Elevation Models CGIAR and GLOBE (3 and 30 second rasters) for the point-exact determination of ground elevations over the Mean Sea level. Detailed information about the use of the  Digital Elevation Models are arranged on a separate internet page.

Calculation accuracy

GeoDLL uses coordinate transformation formulas based upon EPSG and POSC specifications and publications by Schatz, Schuhr and Klotz and Hooijberg. Algorithms used for country-specific transformations are either published or made directly available by the Measurement Authorities of the respective countries or by similar respectable institutions. To achieve the highest precision only strong formula algorithms are used for calculations.

Coordinate transformations without changing the geodetic Reference System have extremely high precision ranging within millimeters. A good example of geographic coordinates transformations between Gauß-Kruger and UTM coordinate systems made with GeoDLL are the results published by the North-Rhine Westphalia Land Survey Commission. It was confirmed that the differences were within the lower millimeter range.

For a statement about the accuracy were comparative calculations realized with a set of test data of the "Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder der Bundesrepublik Deutschland" (ADV). It was confirmed that the differences were less then a millimeter. Please read the  test report.

Performance

GeoDLL is written in the programming language C++ and developed on Microsoft Visual Studio 2010. Thus very fast performance, compact code and high running stability are assured. The functions of GeoDLL are multithreading ready and so it supports Multi Core processors.

Function groups

The geodetic functions of the GeoDLL are summarized in function groups. Here is listed an overview of the functions and function groups:

Functions of the "Coordinate Transformations" group

  1. Function coordtrans() - 2D Coordinate transf. / Datum shift, num. / alphanum. (char**)
  2. Function coordtransex() - 2D Coordinate transf. / Datum shift, reduced eastings
  3. Function coordtrans2() - 2D Coordinate transf. / Datum shift, num. / alphanum. (char*)
  4. Function coordtrans3() - 2D Coordinate transformation / Datum shift, num., with notation
  5. Function coordtrans4() - 2D Coordinate transformation / Datum shift, num, without notation
  6. Function coordtrans3d() - 3D Coordinate transf. / Datum shift, num. / alphanum. (char**)
  7. Function coordtrans3d2() - 3D Coordinate transf. / Datum shift, num. / alphanum. (char*)
  8. Function coordtrans3d3() - 3D Coordinate transformation / Datum shift, only numeric
  9. Function meritrans() - Meridian strip change with GK und UTM coordinates
  10. Function setcoordarea() - Coordinate system range check on / off

Functions of the "User Definitions" group

  1. Function setusercoordsys1() - Setup of a user-defined coordinate system
  2. Function setusercoordsys2() - Setup of a 2nd user-defined coordinate system
  3. Function setuserrefsys() - Setup of a user-defined reference system
  4. Function setuserellsource() - Setup of a user-defined source ellipsoid
  5. Function setuserelltarget() - Setup of a user-defined target ellipsoid
  6. Function getusercoordpar() - Parameter names of a user-defined coord. system
  7. Function getusercoordtyp() - type name of a user-defined coordinate system

Functions of the "Parameter Determination" group

  1. Function getcoordname() - Coordinate system name
  2. Function getcoordsys() - Formatted coordinate systems parameters
  3. Function getcoordform() - Coordinate system's coordinates notation
  4. Function getcoordaxis() - Coordinate system axes names
  5. Function getcoordarea() - Range validity values of a coordinate system
  6. Function getcoordstdrefsys() - Default reference system of a coordinate system
  7. Funktion getcoordproj() - Projection method number of a coordinate system
  8. Funktion getcoordstrstatus() - Determining coordinate system is a strip system
  9. Function getrefname() - Reference system name
  10. Function getrefsys() - Formatted reference systems parameters
  11. Function getellname() - Ellipsoid name
  12. Function getellsys() - Formatted ellipsoid parameters
  13. Function getellsource() - Source ellipsoid demi-axes
  14. Function getelltarget() - Target ellipsoid demi-axes

Functions of the "Distance Calculations" group

  1. Function distancegeo() - Distance between geogr. coordinates on the ellipsoid
  2. Function distancesphere() - Distance between geogr. coordinates on the sphere
  3. Function distanceutm() - Distance between UTM coordinates
  4. Function distancedirect() - Vincentys Direct Position Computation
  5. Function distanceinverse() - Vincentys Inverse Position Computation
  6. Function setcoordarea() - Coordinate system range check on / off

Functions of the "Notation Calculations" group

  1. Function umfd2g() - Translates decimal notation to degree notation
  2. Function umfd2gn() - Translates decimal notation tAo gonal notation
  3. Function umfd2n() - Translates decimal notation to nautical notation
  4. Function umfd2s() - Translates decimal notation to seconds notation
  5. Function umfg2d() - Translates degree notation to decimal notation
  6. Function umfgn2d() - Translates gonal notation to decimal notation
  7. Function umfn2d() - Translates nautical notation to decimal notation
  8. Function umfs2d() - Translates seconds notation into decimal notation
  9. Function umfroundg() - Accurate rounding of degree coordinates
  10. Function umfroundn() - Accurate rounding of nautical coordinates
  11. Function setcoorarea() - Coordinate system range check on / off

Functions of the "Map calculations" group

  1. Function kartgeo2tk() - Determine TK25 number from geographic coordinates
  2. Function karttk2geo() - Determine corner map coordinates from TK25 number
  3. Function karttknum() - Determine TK50, TK100 und TKÜ200 from a TK25 number

Functions of the "Elevation calculations" group

  1. Function getelevation03() - Elevation from the 3 sec. elevation model CGIAR
  2. Function getelevation30() - Elevation from the 30 sec. elevation model GLOBE
  3. Function getelevation33() - Elevation from 3/30 sec. elevation model CGIAR/GLOBE
  4. Function setelev03datapath() - Sets the data path for 3 sec. elevation model CGIAR
  5. Function setelev30datapath() - Sets the data path for 30 sec. elevation model GLOBE
  6. Function convelev03ascii2bin() - Convert a CGIAR ASCII file to a binary file

Functions of the "NTv2 grid data" group

  1. Function convntvascii2bin() - Convert a NTv2 ASCII file to a binary file
  2. Function getntvrefbelong() - Determination of the second NTv2 reference system
  3. Function getntvrefequiv() - Determination of an NTv2 equivalent reference system
  4. Funktion getntvrefstatus() - Determination of the NTv2 membership of a reference system
  5. Function setntvbinaryfile() - Test and initialize a NTv2 binary file
  6. Function setntvbinautofile() - Provide a NTv2 binary file in a wait position

Other functions available in all groups

  1. Function getauthor() - Copyright notice and program author's address
  2. Function getdllversion() - GeoDLL version number
  3. Function geterrorcode() - Latest error description
  4. Function getlicensee() - Licensee identification
  5. Function setinternerrsys() - Internal error handler on / off
  6. Function setlanguage() - Language selection for all text returns
  7. Function setmultithreading() - Usage in a multithreading environment on / off
  8. Funktion setsilence() - EventLog as target for GeoDLL messages on / off
  9. Function setstaticuse() - Usage of fast Static Variables on / off
  10. Function setstringallocate() - Automatic memory management on / off
  11. Function setunlockcode() - Input of the unlock parameter

Defination files, Interface sources, Example sources

GeoDLL already contains some ready to use interfaces and defination files for integration of geodetic functions into the programming language of your choice. Also some example sources in different programming languages are present. The source codes listed here are provided in the download file.

  1. Linkable import library file for the programming languages C / C++ in 32bit architecture
  2. Linkable definition file for the programming languages C / C++ in 32bit architecture
  3. Linkable function declarations for the programming languages C / C++ in 32bit architecture
  4. Linkable import library file for the programming languages C / C++ in 64bit architecture
  5. Linkable definition file for the programming languages C / C++ in 64bit architecture
  6. Linkable function declarations for the programming languages C / C++ in 64bit architecture
  7. Linkable import library file for the programming language Visual Objects
  8. Example of C++ interface
  9. Example of Visual Basic interface
  10. Example of Delphi interface
  11. Example of CA-Visual Objects interface
  12. Example of C#-interface (NET Framework)
  13. Sample program in C++
  14. Sample program in CA-Visual Objects

Test version / Full version

GeoDLL is available for download from this site as a test version (shareware). All DLL functions can be used without restrictions for a limited period of time. That is enough for testing and determining whether the GeoDLL functions run with your application. You can lift time limitations by entering the unlock codes you can obtain from KilletSoft GbR for each of the above listed function groups. The unlock codes are passed to the DLL-function setunlockcode(<unlock key>,<user ID>) from your application. Then all subsequent calls to the functions of the unlocked group will have no more time limitations.

License models

The  license models described here require only a unique payment. No additional payments are raised as a function of the number of customer installations or on the service life of the license. The unlock code provides you with the right of using the functions of the unlocked group. Several licensing models are available:

  1. Single license: A Single function group license entitles the license holder to use the functions of a Geodetic Function Group with a single software application developed by the license holder. Applications developed by the license holder using the geodetic functions of a group, can be distributed to any number of customers or can be installed as a single application on the Internet server of the license holder, or the server of the license holder's Internet service provider.
  2. General license: A General function group license entitles the license holder to use the functions or a Geodetic Function Group with any number of applications developed by the license holder. Applications developed by the license holder using the geodetic functions of a group can be distributed to any number of customers and can be installed on multiple Internet servers of the license holder or the license holder's Internet service provider.
  3. Internal license: An Internal License entitles the licensee to use the functions or a Geodetic Function Group with any number of applications developed by the licensee. Applications developed by the licensee using the geodetic functions of a group may not be distributed to customers and may not be installed on an Internet server. Applications created with this license must be in context with tasks of research and education.

Pricing and ordering

Available selective licensing of several function groups guaranties that you only pay for those functions that you intend to use. Pricing and ordering information can be found in the  Price list. Order the for GeoDLL function groups with the electronic  Order Form.

Download of the test version

The test version of the Dynamic Link Library GeoDLL with a detailed description and with informations about the use of the functions can be  downloaded as ZIP packed file by the Internet. For unpacking the download file you need an unzip program, which you can download  from this side.

KilletSoft News In order that you always are well informed about our company, we write actual news, current information and special offers here into this column.

KilletSoft Logo NTv2 calculations
 
KilletSoft provides for their produkts GEoDLL and TRANSDAT encrypted NTv2 files of the Federal States Hesse, Saxony and Thuringia for highly accurate calculations.
Read more ...

KilletSoft Logo Administrative Reform in Mecklenburg-Western Pomerania
 
The administrative data bases of the Federal Republic of Germany "Geodata Germany" have been updated to the reference date of September 15th, 2011! The reason therfor are the essential modifications due to the Administrative Reform in the Federal State Mecklenburg-Western Pomerania. Read the Press Release ...

KilletSoft Logo Win32 and X64
 
The Dynamic Linc Libraies GeoDLL and BetaDLL supports 32bit and 64bit architecture now. The DLLs are written in C++ and were developed with Microsoft Visual Studio 2010.

KilletSoft Logo Are the reference systems WGS84 and ETRS89 really identical?
 
Inclusion of the continental drift for the transforming of GPS coordinates with the software products TRANSDAT and GeoDLL.
Read the Press Release ...

KilletSoft Logo Translators wanted!
 
The latest versions of the programs TRANSDAT and SEVENPAR support language files for the programs interface. Since the language dependent texts are managed in external files, new languages can be added at any time by creating new language files. Every user of the program now can compile language files by himself.

KilletSoft Logo WINDOWS© 7 compatible
 
Our software has received the certificate "WINDOWS© 7 compatible". So it complies with the compatibility standards of the Microsoft operating systems WINDOWS© 7.

KilletSoft Logo INSPIRE©
 
GeoDLL and TRANSDAT supports Europe-wide the ETRS89 coordinate systems proposed by INSPIRE©.