Brief Description of the Current Version
Development Tool Description
Specification Function coordtrans3d() as example
List of coordinate and reference systems
NTv2 support with GeoDLL
Useage of Digital Elevation Models with GeoDLL
Screenshots
Download GeoDLL test version
Prices GeoDLL full version
Order GeoDLL full version
coordtrans3d()
3D coordinate transformation and datum shift for numeric and
alphanumeric coordinates with memory allocation for the return
strings.
Prototype of the DLL function in C++ syntax (attend lower case!):
extern "C" BOOL PASCAL EXPORT coordtrans3d(
double nCoordXQ,
double nCoordYQ,
char *pszCoordQ,
double nEllHgtQ,
unsigned short nCoordSysQ,
unsigned short nRefSysQ,
double *nCoordXZ,
double *nCoordYZ,
char **pszCoordZ,
double *nEllHgtZ,
unsigned short nCoordSysZ,
unsigned short nRefSysZ,
unsigned short nStripZ)
Prototype of the DLL function in CAVO syntax (attend lower case!):
_DLL function coordtrans3d(;
nCoordXQ as real8,; // 8 Byte
nCoordYQ as real8,; // 8 Byte
pszCoordQ as psz,; // 4 Byte, char*
nEllHgtQ as real8,; // 8 Byte
nCoordSysQ as word,; // 2 Byte
nRefSysQ as word,; // 2 Byte
nCoordXZ ref real8,; // 4 Byte
nCoordYZ ref real8,; // 4 Byte
pszCoordZ ref psz,; // 4 Byte, char**, 16 alloc.
nEllHgtZ ref real8,; // 4 Byte
nCoordSysZ as word,; // 2 Byte
nRefSysZ as word,; // 2 Byte
nStripZ as word); // 2 Byte
as logic pascal:geodll32.coordtrans3d // 4 Byte
The allocation of memory for "ref psz" / "char**" is necessary only if
setstringallocate(FALSE) is called before.
The function converts the numeric source coordinates nCoordXQ and
nCoordYQ or the alphanumeric source coordinate pszCoordQ from the source
coordinate system nCoordSysQ into the numeric target coordinates nCoordXZ
and nCoordYZ or the alphanumeric target coordinate pszCoordZ of the target
coordinate system nCoordSysZ. For a both source and target coordinates
either two numeric or one alphanumeric parameter will be passed. The
transformation is accomplished with high exactness and great speed.
The difference between the function coordtrans3d() and the function
coordtrans() is that this is a 3D transformation. Thereby in the case
of using different source and target reference systems the ellipsoidical
height is included in the calculation. For the calculation the
ellipsoidical height nEllHgtQ of the source system ellipsoid is used. As
the result, the ellipsoidical height nEllHgtZ of the target system
ellipsoid is returned. Additional calculations with Cartesian
Coordinates are possible.
The ellipsoidical height is geometrically defined as the distance of a
point of a reference ellipsoid along the ellipsoid normal. The
ellipsoidical height can be determined directly using GPS. But it may
not be confused with leveled (orthometric) heights!
The passed source coordinates and the calculated target coordinates are
examined for the range validity within their coordinate systems and for
syntactic correctness. The range validity is specified in the list
"Defaults of the coordinate systems". The range and syntax check can be
switched on or off with the function setcoordarea().
If in nCoordSysQ or in nCoordSysZ the values 1000 or 1100 are passed, the
function uses the parameters of the user-defined coordinate systems
passed before by the functions setusercoordsys1() and/or
setusercoordsys2() and the earth ellipsoids defined before by the
functions setuserellsource() and setuserelltarget()
With the coordinates transformation a datum shift from the geodetic
reference system nRefSysQ of the source coordinate system can be
considered into the geodetic reference system nRefSysZ of the target
coordinate system.
If in nRefSysQ or in nRefSysZ the value 0 is passed, then the geodetic
reference systems, usual for the respective coordinate systems, are taken
as a basis for the datum shift. The standard reference systems are
specified in the list of "Defaults of the coordinate systems".
If in nRefSysQ or in nRefSysZ the value 1000 is passed, the function uses
the parameters of the user-defined reference systems passed before by the
functions setuserrefsys() and the earth ellipsoids defined before by the
functions setuserellsource() and setuserelltarget()
If in nRefSysQ or in nRefSysZ the value 1100 is passed or if both
parameters have same value (larger than 0), no datum shift takes place.
If in nRefSysQ or in nRefSysZ the value 1200 is passed, no datum shift nor
ellipsoid transition takes place.
For transformations into the target coordinate systems Gauss-Krueger and
UTM the meridian strip nStripZ, to which the target coordinates are to
refer, can be given. The given meridian strip should not deviate more than
3 strips from the native meridian strip of the target coordinate system.
If in nStripZ the value 0 is passed, an automatic computation of the
native meridians strip from the geographical length takes place.
The following transformations are possible:
Coordinate transformations with maintaining the reference system.
Coordinate transformations with change of the geodetic reference system.
Change of the geodetic ref. system with maintaining the coordinate system.
Change of the notation (way of writing) with geographical coordinates.
Change of the meridian strip with Gauss-Krueger and UTM coordinates.
Conversion in the native meridian strip with Gauss-Krueger and UTM
coordinates.
The parameters are passed and/or returned as follows:
nCoordXQ Longitude, East or X component of the numeric source
coordinate.
During processing of an alphanumeric coordinate this
parameter is without meaning. The input format of the
coordinate (notation) is described in the list "Defaults
of the coordinate systems".
nCoordYQ Latitude, North or Y component of the numeric source
coordinate.
During processing of an alphanumeric coordinate this
parameter is without meaning. The input format of the
coordinate (notation) is described in the list "Defaults
of the coordinate systems".
pszCoordQ Alphanumeric source coordinate.
During processing of a numeric coordinate this parameter is
without meaning. In this case for pszCoordQ a NULL pointer
can be passed. The input format of the coordinate (notation)
is described in the list "Defaults of the coordinate systems".
nEllHgtQ Ellipsoidical height of the source coordinate
or
Z component of a Cartesian coordinate.
With 3D transformations in the case of using different source
and target reference systems (nRefSysQ, nRefSysZ), the
ellipsoidical height of the source coordinate is considered.
nCoordSysQ coordinate system of the source coordinates.
(see list "Coordinate and reference systems").
nRefSysQ Geodetic reference system of the source coordinates.
(see list "Coordinate and reference systems").
nCoordXZ Longitude, East or X component of the numeric target
(ref) coordinate.
During processing of an alphanumeric coordinate this
parameter is without meaning. The return format of the
coordinate (notation) is described in the list "Defaults
of the coordinate systems".
nCoordYZ Latitude, North or Y component of the numeric target
(ref) coordinate.
During processing of an alphanumeric coordinate this
parameter is without meaning. The return format of the
coordinate (notation) is described in the list "Defaults
of the coordinate systems".
pszCoordZ Alphanumeric target coordinate.
(ref) During processing of a numeric coordinate this parameter is
without meaning. In this case for pszCoordZ a NULL pointer
can be passed. The return format of the coordinate (notation)
is described in the list "Defaults of the coordinate systems".
Note: "ref pszCoordZ" corresponds to "char**" in C! 16 byte
memory for the zero terminated string must be allocated with
dependence to the call of the function setstringallocate().
Please consider the references in the description of the
function setstringallocate().
If the used programming language does not support the
construct "pointer to a pointer to the first character of a
string" (char**), then the function coordtrans3d2() can be used
in place of the function coordtrans3d(). Further information can
be found in the description of the function coordtrans3d2().
nEllHgtZ Ellipsoidical height of the target coordinate
(ref) or
Z component of a Cartesian coordinate.
With 3D transformations in the case of using different source
and target reference systems (nRefSysQ, nRefSysZ), the
ellipsoidical height of the target coordinate is calculated.
nCoordSysZ coordinate system of the target coordinates.
(see list "Coordinate and reference systems").
nRefSysZ Geodetic reference system of the target coordinates.
(see list "Coordinate and reference systems").
nStripZ Meridian strip to use.
This parameter has only an effect, if a "Transversal Mercator
meridian strip system" is registered in nCoordSysZ.
0 Calculation of the natural meridian strip from the geographic
longitude.
> 0 Valid number of the required meridian strip.
returnVal In case of an error the function returns FALSE, otherwise TRUE.
range validity
The range limitations of the source coordinates and the calculated target
coordinates are examined on the basis the geographical coordinates
specified under the term "Range (Lon / Lat)" in the list "Defaults of the
coordinate systems". The syntax and range examination can be switched off by
the function setCoordArea().
With user-defined coordinate systems the range values are calculated
automatically from the origin point of the respective coordinate system.
Notations
The coordinates of the different coordinate systems are written with the
notations specified under the term "Notation (E / N)" in the list
"Defaults of the coordinate systems". As many as desired right-of-comma
positions can be added.
A specification of the notations can be found at the end of the list
"Defaults of the coordinate systems".
Standard reference systems
The reference systems specified under the term "Standard RefSys" in the
list "Defaults of the coordinate systems" are assigned to the coordinates
systems, if in the parameters nRefSysQ or nRefSysZ a zero is passed.
Unlocking
This function is a component of the unlock requiring function group
"coordinate transformations". It is unlocked for unrestricted use
together with the other functions of the group by passing the unlock
parameters, acquired from the software distribution company, trough the
function setunlockcode(). Without unlocking only a few function calls for
test purposes (shareware principle) are possible.
In order that you always are well informed about our company, we write actual news, current information and special offers here into this column.
Order processing while annual closing
In the time between January 5. and January 13. we are unreachable for our customers, because we have holiday season.
All incoming orders during this time will be delivered on Wednesday, January 14.
Free update by purchasing Geo Data German Admin
Geo Data German Admin are updated every year in March / April.
That you do not have a disadvantage, when you acquire the data still before the annual actualization in the year 2009, you get a free update.
GK --> UTM with BeTA2007
The convertion of your geodata from Gauss-Kruger to UTM with BeTA2007 - Its so easy!
Read the Worksheet and the Press Release ....
Spatial data updates
The contract between a data distributor and GeoKontor was terminated in June 2008.
With immediate effect, KilletSoft has been commissioned to organize an update service for the spatial data ("geodata") acquired by them in the years 2006 to 2008 at the level of Zip code (post code), streets and individual buildings.
Please contact us if you require an update of such data.
Administrative Reform in Saxonia
The administrative data bases of the Federal Republic of Germany "Geo Data German Admin" were updated to the reference date of August 1st, 2008!
Thus the changes due to the administrative reform in Saxonia are included in all data bases.
Read our Press Release ...
Snow and Wind Load Zones of the towns and cities in a newly-created data base
Read our Press Release ...
Nature Area Classification
The product "GeoData German Admin" has been enhanced with two new data tables containing the "Nature Area Classification" and the Landscapes.
This will allow associating nature area and landscape information to all localities.
Read our Press Release ...
GeoDLL supports 3D coordinate- transformations
After our Dynamic Link Library has become super fast by recoding to C++, GeoDLL now is able to calculate 3D coordinate transformations considering the ellipsoidical heights.
As well calculations with cartesian coordinates are possible now.