Actions

GEOTRANSFORMER: Difference between revisions

From BAWiki

imported>Seiss Guntram
m (EPSG codes supported, version change)
m (EPSG for UTM coordinates with 8 digits easting)
 
(27 intermediate revisions by 2 users not shown)
Line 2: Line 2:
|name_de=GEOTRANSFORMER
|name_de=GEOTRANSFORMER
|name=GEOTRANSFORMER
|name=GEOTRANSFORMER
|version=December 2013
|version=February 2023
|version_descr=January 2014
|version_descr=February 2023
|catchwords=coordinate transformation<br/>
|catchwords=coordinate transformation<br/>
coordinate system<br/>
coordinate system<br/>
Gauss-Krueger<br/>
Gauss-Krueger<br/>
Universal Transverse Mercator (UTM)<br/>
Universal Polar Stereographic <br/>
Country Hamburg "Lagestatus 320" <br/>
European Terrestrial Reference System 1989 (ETRS89)<br/>
European Terrestrial Reference System 1989 (ETRS89)<br/>
world geodetic system 1984 (WGS84)<br/>
world geodetic system 1984 (WGS84)<br/>
Line 16: Line 19:
BETA2007<br/>
BETA2007<br/>
Rijksdriehoeksmeting (RD, coordinate system of the netherlands)<br/>
Rijksdriehoeksmeting (RD, coordinate system of the netherlands)<br/>
universal transverse mercator (UTM)  
BAW file formats<br/>
European petrol service group (EPSG)
|shortdescription=This program transforms coordinates between different coordinate systems.
|shortdescription=This program transforms coordinates between different coordinate systems.
Currently implemented coordinate systems are:
Currently implemented map projections are:


* Gauß-Krüger (stripe 2 to 5)
* Gauß-Krüger (stripe 2 to 5)
Line 25: Line 29:
* Rijksdatum (Netherlands)
* Rijksdatum (Netherlands)
* local metric central projection
* local metric central projection
* British National Grid


Currently implemented geodetic 7-parameter transformations:
Currently implemented geodetic 7-parameter transformations:
Line 38: Line 43:
* Federal Intstitute for cartography und geodesy, latitudes between 50,3 degrees N and 52,3 degrees N
* Federal Intstitute for cartography und geodesy, latitudes between 50,3 degrees N and 52,3 degrees N
* Federal Intstitute for cartography und geodesy, latitudes <50,3 Grad N
* Federal Intstitute for cartography und geodesy, latitudes <50,3 Grad N
* Amsterdam Datum
* OSGB36 (based on Airy 1830)
* NTv2 grid shift methods GNTRANS-WSV (DHDN/STN -> ETRS89) and BETA2007 (DHDN -> ETRS89)


Additionally the BETA2007 based NTv2 grid shift method is provided for datum transformation of DHDN90 to ETRS89 and back.
You can run the software in batch mode. There is no memory limit in amount of data to work with, because files are processed sequentially. To process 25 Mio. pairs of coordinates (Gauß-Krüger/DHDN <-> UTM/ETRS89) the software uses 280.68 minutes on a common INTEL CPU including Input/Output.
 
Since November 2018 the application is able to get the user input via command line arguments. This mode of input is documented by the online help, which is called  by typing '''''geotransformer -h'''''.
 
 
Since May 2016 the software GEOTRANSFORMER is available without limits to its functionality on '''LINUX''' and '''WINDOWS''' driven INTEL based computers. It was validated on official test coordinates of the addressed systems. There exists a short "User Manual" for first time users.
 
The library '''libgeodesy''', which is used by this application, is used also in other applications to transform coordinates "on the fly". An "Application Programmer Interface" (API) called '''libgeodesyCAPI''' was supplied, to realize a port of the transformation functionality for MATLAB.


|inputfiles=
|inputfiles=
Line 56: Line 71:
# triangulated UNTRIM-BAW mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], BAW version) or
# triangulated UNTRIM-BAW mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], BAW version) or
# system file for specific locations (file type [[LOCATION_GRID.DAT|location_grid.dat]]) or
# system file for specific locations (file type [[LOCATION_GRID.DAT|location_grid.dat]]) or
# file IPDS to initialize models area wide (file type [[IPDS.DAT|ipds.dat]]).
# file IPDS to initialize models area wide (file type [[IPDS.DAT|ipds.dat]]) or
# world files which describe the georeference of an Image (typical file extensions are ''.pngw, .jpgw, .gifw'') or
# mesh of profiles (file type [[PROFIL05.BIN|profil05.bin]]) or
# CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
# indexed point data (index, x/longitude, y/latitude, z).


|outputfiles=
|outputfiles=
# triangulated mesh (file type TICAD,[[GITTER05.DAT and GITTER05.BIN|gitter05.dat/bin]])
# triangulated mesh (file type TICAD,[[GITTER05.DAT and GITTER05.BIN|gitter05.dat/bin]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# digitized polylines (file type [[DIGI.GKK|digi.gkk]]) or
# digitized polylines (file type [[DIGI.GKK|digi.gkk]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# digitized polylines (file type [[INSEL.DAT|insel.dat]]) or
# digitized polylines (file type [[INSEL.DAT|insel.dat]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# polygon file (file type [[POLY.DAT|poly.dat]]) or
# polygon file (file type [[POLY.DAT|poly.dat]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# polygone file to protect edges of a grid (file type [[NODES.SAVE|nodes.save]]) oder
# polygone file to protect edges of a grid (file type [[NODES.SAVE|nodes.save]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] oder
# plot frames (file type [[FRAMES.DAT|frames.dat]],  center and size, or
# plot frames (file type [[FRAMES.DAT|frames.dat]],  center and size, or
# description of boundary cells (file type [[RGZ.DAT|rgz.dat]]) or
# description of boundary cells (file type [[RGZ.DAT|rgz.dat]]) or
# ASCII triple data, file with soundings (file type [[GEOM.DAT|geom.dat]]) or
# ASCII triple data, file with soundings (file type [[GEOM.DAT|geom.dat]]) or
# time series at single station (file type [[BOEWRT.DAT|boewrt.dat]]) or
# time series at single station (file type [[BOEWRT.DAT|boewrt.dat]]) and (optionally) a file of type [[GEOPOS.DAT|geopos.dat]] or
# position description (file type [[GEOPOS.DAT|geopos.dat]]) or
# position description (file type [[GEOPOS.DAT|geopos.dat]]) or
# triangulated UNTRIM-VC mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], version Vincenzo Casulli) or
# triangulated UNTRIM-VC mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], version Vincenzo Casulli) or
# grid of the numerical method DELFT3D (file type [[DELFT3D.GRD|delft3d.grd]]) or
# grid of the numerical method DELFT3D (file type [[DELFT3D.GRD|delft3d.grd]]) or
# triangulated UNTRIM-BAW mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], BAW version) or
# triangulated UNTRIM-BAW mesh (file type [[UNTRIM_GRID.DAT|untrim_grid.dat]], BAW version) or
# system file for specific locations (file type [[LOCATION_GRID.DAT|location_grid.dat]]) or
# system file for specific locations (file type [[LOCATION_GRID.DAT|location_grid.dat]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# file IPDS to initialize models area wide (file type [[IPDS.DAT|ipds.dat]]).
# file IPDS to initialize models area wide (file type [[IPDS.DAT|ipds.dat]]) and (optionally) a files type [[GEOPOS.DAT|geopos.dat]] or
# world files which describe the georeference of an Image (typical file extensions are ''.pngw, .jpgw, .gifw'') or
# mesh of profiles (file type [[PROFIL05.BIN|profil05.bin]]) and (optionally) files of type [[GEOPOS.DAT|geopos.dat]] or
# CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
# indexed point data (index, x/longitude, y/latitude, z).


|methodology=
|methodology=
* Input and output list are opened at the same time. Every coordinate point will be read, transformed and written on the output list immediately. So the size of the input file is unlimited.
* Input and output list are opened at the same time. Every coordinate point will be read, transformed and written on the output list immediately. So the size of the input file is unlimited. Comments and other informations are copied "as is"! An input file is allowed in packed form (gzip, compress, zip) . Packing of the output file can be forced by giving the extension ".gz" or ."zip"  (the latter at the moment only on LINUX systems).
* The formatting of decimal coordinates depends on the actual projection of coordinates (geographic or map coordinates). File type 08 (ASCII triple data) allows user defined Output Format via Environment variable GEOMFMT.
* The formatting of decimal coordinates depends on the actual projection of coordinates (geographic or map coordinates). File type 08 (ASCII triple data) allows user defined Output Format via Environment variable GEOMFMT.
* The program first calculates spherical coordinates (WGS84) from input projected coordiantes. Then the new geodetic datum and projection is applied. In the '''datum cases DHDN or STN in input and/or output data''', the NTv2 method with grid shift file *.gsb is provided as Default alternative.
* The program first calculates spherical coordinates (WGS84) from input projected coordiantes. Then the new geodetic datum and projection is applied. In the '''datum cases DHDN or STN in input and/or output data''', the NTv2 method with grid shift file *.gsb is provided as Default alternative. The program should be used with the actual NTv2 grid shift files provided by the GNTRANS-WSV System conform to this system. It can be used with the BETA2007.gsb file to get conformity with the ATKIS system.
* on input in files of type 08 (geom.dat) the separators semicolon, comma and colon are allowed.
* on input in files of type 08 (geom.dat) the separators semicolon, tabulator, comma and colon are allowed. Additionally sperical coordinates are allowed to be written in nautical style, e.g. 4°17'16.62931"E 51°29'40.02423"N. Instead of characters (° ' ") also (d m s) or (^ ' ") may be used. The nautical format must include the information of hemisphere (N/S) and the orientation with respect to Greenwich (E/W).
* on input in files of type 09 (boewrt.dat) or 10 (geopos.dat) the coordinate reference system is first changed to the input system, if an internal CRS Information is available. In files of type  02 (digi.gkk) and 08 (geom.dat) the( well known!) coordinate reference system of the input files can be specified through the comment "C CRS=#####" at the beginning of the file Anfang der Datei. "#####" here is an EPSG code which is supported by libgeodesy. In this case also a Transformation to the input system is done first. The input system must have a valid EPSG code too.  
* on input in files of type 09 ([[BOEWRT.DAT|boewrt.dat]]) or 10 ([[GEOPOS.DAT|geopos.dat]]), 13 ([[UNTRIM_GRID.DAT|untrim_grid.dat]], BAW version) and 14 ([[LOCATION_GRID.DAT|location_grid.dat]]) the coordinate reference system is first changed to the input system, if an internal CRS Information is available. In files of type  01 (gitter05.dat), 02 (digi.gkk) and 08 (geom.dat) the( well known!) coordinate reference system of the input files can be specified through the comment "C CRS=#####" at the beginning of the file. "#####" here is an EPSG code which is supported by libgeodesy. In this case also a Transformation to the input system is done first. The input system must have a valid EPSG code too.
* in input files of type 16 (world files) also the avarage pixel width and height transformation parameters are changed by assuming a virtual image of 800x800 pixels.
* To all ASCII formats which are not NAMELIST based, a file header with the current coordinate information is added as comments.
* To all ASCII formats which are not NAMELIST based, a file header with the current coordinate information is added as comments.
* UTM easting coordinates with 7 and 8 digits  are recognized and changed into 6 digits representation. For recognition of valid  8 und 7 digits easting values both the number of digits and the actual UTM zone are used.
*  for some of the file types an optional export of all original coordinates as file type [[GEOPOS.DAT|geopos.dat]] is possible. Those files can be used for control purpose and also in further pre processing programs e.g. [[TICLQ2]]. Please do not use this output option when transforming input files with a huge number of coordinates!!!
* file type 18 allows the user to define freely the columns, which have to be processed.  A third column with altitude values can optionally be transformed during change of geodetic datum. Several coordinate pairs /tripel of a row may be transformed in a single step.


EPSG codes wich are supported by libgeodesy are:
All transformation algorithms use double precision floating point values for representation inside memory. Inside the two supported binaryfile formats single precision REAL values of the coordinates are stored. Theese formats should be used carefully, because spherical coordinates are written with unacceptable accuracy:
* Gauss-Krueger 3 degree / DHDN: EPSG 31466-31469 (
 
* Gauss-Krueger 3 degree / STN : EPSG 02398-02399
* [[GITTER05.DAT and GITTER05.BIN|gitter05.dat/bin]]: Creation of the ASCII formatted variant is recommended on output, and usage in future projects!
* UTM / ETRS89            : EPSG 25831-25833
* [[PROFIL05.BIN|profil05.bin]]: Write this format only with projected coordinates  (UTM, Gauß-Krüger). The accuracy of coordinate representation with projected coordinates is limited to 0,5-1m.
* UTM / ED50              : EPSG 23031-23033
 
* RD Amersfoort New        : EPSG 28992
Inside the supported ASCII file formats the accuracy of coordinate representation is choosen with respect to the reference system. This behavior ensures that accuracy is guaranteed to a certain limit, if spherical coordinates are written.
 
EPSG codes which are supported by libgeodesy are:
* Gauss-Krueger 3 degree / DHDN: EPSG 31466-31469 (EPSG = 31464 + stripe number), used with datum BKG >52,3 degree N
* Gauss-Krueger / ETRS89, stripe 3 ("Lagestatus 320", Hamburg): EPSG 8395
* Gauss-Krueger 3 degree / STN : EPSG 02397-02399, 05674-05675, 03838, 03829
* Gauss-Krueger 3 degree / DHDN: EPSG 31462-31465 ( EPSG = 31460 + Streifennummer ), reused for datum BKG between 50,3 degree N and 52,3 degree N
* Gauss-Krueger 3 degree / DHDN: EPSG 31492-31495 ( EPSG = 31490 + Streifennummer ), reused for datum BKG <50,3 degree N
* UTM / ETRS89            : EPSG 25828-25838 (EPSG = 25800 + zone number)
* UTM / ETRS89, 8 digits  : 4647, 5649, 5650, 35832, 35833
* UTM / ED50              : EPSG 23028-23038 (EPSG = 23000 + zone number)
* UTM / WGS84 (North)  : EPSG 32601-32660 (EPSG = 32600 + zone number)
* UTM / WGS84 (South)  : EPSG 32701-32760 (EPSG = 32700 + zone number)
* UPS / WGS84              : EPSG 32661 and 32761
* RD Amersfoort New        : EPSG 28992 and 7415
* OSGB 1936/British National Grid: EPSG 27700
* Geographic ETRS89        : EPSG 4258
* Geographic ETRS89        : EPSG 4258
* Geographic WGS84        : EPSG 4326
* Geographic WGS84        : EPSG 4326
* Geographic ED 50        : EPSG 4230
* Geographic ED 50        : EPSG 4230
* Geographic DHDN          : EPSG 4314
* Geographic Amersfoort    : EPSG 4289
Some CRS, which are not supported by an EPSG can be realized by using the expert mode (basic knowledge of CRS's necessary).
It is recommended, to store the coordinate reference system as an EPSG code inside the basic datasets (raw data), if it is known. This can be done by the magic comment"C CRS=#####" inside the most ASCII file types. Within file types, where storage is foreseen for an EPSG code, it should be placed there.
Actual datasets should be stored with UTM/ETRS89 coordinates of the valid zone or in geographic coordinates (ETRS89 or WGS84) . Transforming older datasets with Gauß-Krüger coordinates into UTM/ETRS89 should be done preferably with the  NTv2 method after GNTRANS-WSV. The transformation grid is valid only for German area including coastal waters. Coordinates outside this area must not be transformed by NTv2 but should be transformed using a valid Helmert transformation parameter set. In case of doubt the provider of the coordinate data shall provide the coordinate reference information.
Transforming coordinates is '''not a trivial task'''. Therefor the transformation result should be tested for plausibility and usability. Multible transformations forward and back can destroy accuracy of coordinates due to accumulation of numeric errors inside the basic algorithms.


|preprocessor=all programs wich use above listed file formats  
|preprocessor=all programs wich use above listed file formats  
|postprocessor=all programs wich use above listed file formats  
|postprocessor=all programs wich use above listed file formats  
|language=Fortran95
|language=Fortran2003, C
|add_software=NTv2 grids dhdn_to_etrs89_wsv_v1.gsb, stn_to_etrs89_wsv_v1.gsb and BETA2007.gsb
|add_software=NTv2 grids dhdn_to_etrs89_wsv_v1.gsb, stn_to_etrs89_wsv_v1.gsb and BETA2007.gsb
|contact_original=[mailto:guntram.seiss@baw.de G. Seiß] (main program, file I/O, libgeodesy)  
|contact_original=G. Seiß (main program, file I/O, libgeodesy)  
|contact_maintenance=[mailto:guntram.seiss@baw.de G. Seiß]
|contact_maintenance=[mailto:pre.proghome@baw.de working group PRE]
|documentation=interactive dialog, self explaining<br/> $PROGHOME/examples/geotransformer <br/> Junkins, D.R. and Farley, S.A. (1995) National Transformation Version 2 Users Guide, Geodetic Survey Division Geomatics Canada  
|documentation=interactive dialog, self explaining<br/> $PROGHOME/examples/geotransformer<br/> $PROGHOME/examples/geotransformer/Anleitung_GEOTRANSFORMER.pdf <br/> Junkins, D.R. and Farley, S.A. (1995) '''N'''ational '''T'''ransformation '''v'''ersion '''2''' Users Guide, Geodetic Survey Division Geomatics Canada <br/>
Lott, Roger und OGP Geodesy Working Group (2015) Coordinate Conversions and Transformations including Formulas. [http://www.iogp.org/pubs/373-07-2.pdf Geomatics Guidance Note (IOGP Publication 373), 7. Part 2].<br/>
Bruijne, Arnoud de; van Buren, Joop; Kösters, Anton; van der Marel, Hans (2005): De geodetische referentiestelsels van Nederland. Geodetic reference frames in the Netherlands. Hg. v. Nederlandse Commissie voor Geodesie Netherlands Geodetic Commission. Delft. [http://www.ncgeo.nl/index.php?option=com_k2&view=item&id=2361:gs-43-a-de-bruijne-de-geodetische-referentiestelsels-van-nederland&Itemid=178&lang=nl Download here]. <br/>
Federal Fairway Authority (Eds.) (2012): Handlungsanweisung für die Transformation der Datenbestände der WSV in das System ETRS89/UTM. In German language, with contribution of Hendrik Hampe, Sudau, Gunther Braun, Cornelius Zschunke, Egon Feigel, Helga Panknin et al. <br/>
Lutter, H. (2009): Helmerttransformationsparameter für Gauss-Krüger Streifen 4 (Krassowski), WSA Stralsund. Pers. Communication.
}}
}}

Latest revision as of 14:19, 27 February 2023

Basic Information

Name of Program

GEOTRANSFORMER

Version-Date

February 2023

Description-Date

February 2023

Catchwords

coordinate transformation
coordinate system
Gauss-Krueger
Universal Transverse Mercator (UTM)
Universal Polar Stereographic
Country Hamburg "Lagestatus 320"
European Terrestrial Reference System 1989 (ETRS89)
world geodetic system 1984 (WGS84)
european datum 1950 (ED50)
Potsdam datum (Bessel 1841)
Krassovski ellipsoid
NTv2 method
GNTRANS-WSV
BETA2007
Rijksdriehoeksmeting (RD, coordinate system of the netherlands)
BAW file formats
European petrol service group (EPSG)

Short Description of Functionality

This program transforms coordinates between different coordinate systems. Currently implemented map projections are:

  • Gauß-Krüger (stripe 2 to 5)
  • spherical coordinates (longitude, latitude)
  • Universal Transverse Mercator (UTM)
  • Rijksdatum (Netherlands)
  • local metric central projection
  • British National Grid

Currently implemented geodetic 7-parameter transformations:

  • European Terrestrial Reference System 1989 (ETRS89)
  • World Geodetic System 1984 (WGS84)
  • European Datum 1950 (ED50)
  • Federal Intstitute for cartography und geodesy, standard parameter
  • Federal Intstitute for cartography und geodesy, latitudes >52,3 degrees N
  • BAW C. Maushake,
  • Krassovsky standard (Wikipedia)
  • Krassovsky (WSA Stralsund)
  • Federal Intstitute for cartography und geodesy, latitudes between 50,3 degrees N and 52,3 degrees N
  • Federal Intstitute for cartography und geodesy, latitudes <50,3 Grad N
  • Amsterdam Datum
  • OSGB36 (based on Airy 1830)
  • NTv2 grid shift methods GNTRANS-WSV (DHDN/STN -> ETRS89) and BETA2007 (DHDN -> ETRS89)

You can run the software in batch mode. There is no memory limit in amount of data to work with, because files are processed sequentially. To process 25 Mio. pairs of coordinates (Gauß-Krüger/DHDN <-> UTM/ETRS89) the software uses 280.68 minutes on a common INTEL CPU including Input/Output.

Since November 2018 the application is able to get the user input via command line arguments. This mode of input is documented by the online help, which is called by typing geotransformer -h.


Since May 2016 the software GEOTRANSFORMER is available without limits to its functionality on LINUX and WINDOWS driven INTEL based computers. It was validated on official test coordinates of the addressed systems. There exists a short "User Manual" for first time users.

The library libgeodesy, which is used by this application, is used also in other applications to transform coordinates "on the fly". An "Application Programmer Interface" (API) called libgeodesyCAPI was supplied, to realize a port of the transformation functionality for MATLAB.

Input-Files

  1. triangulated mesh (file type TICAD,gitter05.dat/bin)
  2. digitized polylines (file type digi.gkk) or
  3. digitized polylines (file type insel.dat) or
  4. polygon file (file type poly.dat) or
  5. polygone file to protect edges of a grid (file type nodes.save) oder
  6. plot frames (file type frames.dat, center and size, or
  7. description of boundary cells (file type rgz.dat) or
  8. ASCII triple data, file with soundings (file type geom.dat) or
  9. time series at single station (file type boewrt.dat) or
  10. position description (file type geopos.dat) or
  11. triangulated UNTRIM-VC mesh (file type untrim_grid.dat, version Vincenzo Casulli) or
  12. grid of the numerical method DELFT3D (file type delft3d.grd) or
  13. triangulated UNTRIM-BAW mesh (file type untrim_grid.dat, BAW version) or
  14. system file for specific locations (file type location_grid.dat) or
  15. file IPDS to initialize models area wide (file type ipds.dat) or
  16. world files which describe the georeference of an Image (typical file extensions are .pngw, .jpgw, .gifw) or
  17. mesh of profiles (file type profil05.bin) or
  18. CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
  19. indexed point data (index, x/longitude, y/latitude, z).

Output-Files

  1. triangulated mesh (file type TICAD,gitter05.dat/bin) and (optionally) files of type geopos.dat or
  2. digitized polylines (file type digi.gkk) and (optionally) files of type geopos.dat or
  3. digitized polylines (file type insel.dat) and (optionally) files of type geopos.dat or
  4. polygon file (file type poly.dat) and (optionally) files of type geopos.dat or
  5. polygone file to protect edges of a grid (file type nodes.save) and (optionally) files of type geopos.dat oder
  6. plot frames (file type frames.dat, center and size, or
  7. description of boundary cells (file type rgz.dat) or
  8. ASCII triple data, file with soundings (file type geom.dat) or
  9. time series at single station (file type boewrt.dat) and (optionally) a file of type geopos.dat or
  10. position description (file type geopos.dat) or
  11. triangulated UNTRIM-VC mesh (file type untrim_grid.dat, version Vincenzo Casulli) or
  12. grid of the numerical method DELFT3D (file type delft3d.grd) or
  13. triangulated UNTRIM-BAW mesh (file type untrim_grid.dat, BAW version) or
  14. system file for specific locations (file type location_grid.dat) and (optionally) files of type geopos.dat or
  15. file IPDS to initialize models area wide (file type ipds.dat) and (optionally) a files type geopos.dat or
  16. world files which describe the georeference of an Image (typical file extensions are .pngw, .jpgw, .gifw) or
  17. mesh of profiles (file type profil05.bin) and (optionally) files of type geopos.dat or
  18. CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
  19. indexed point data (index, x/longitude, y/latitude, z).

Methodology

  • Input and output list are opened at the same time. Every coordinate point will be read, transformed and written on the output list immediately. So the size of the input file is unlimited. Comments and other informations are copied "as is"! An input file is allowed in packed form (gzip, compress, zip) . Packing of the output file can be forced by giving the extension ".gz" or ."zip" (the latter at the moment only on LINUX systems).
  • The formatting of decimal coordinates depends on the actual projection of coordinates (geographic or map coordinates). File type 08 (ASCII triple data) allows user defined Output Format via Environment variable GEOMFMT.
  • The program first calculates spherical coordinates (WGS84) from input projected coordiantes. Then the new geodetic datum and projection is applied. In the datum cases DHDN or STN in input and/or output data, the NTv2 method with grid shift file *.gsb is provided as Default alternative. The program should be used with the actual NTv2 grid shift files provided by the GNTRANS-WSV System conform to this system. It can be used with the BETA2007.gsb file to get conformity with the ATKIS system.
  • on input in files of type 08 (geom.dat) the separators semicolon, tabulator, comma and colon are allowed. Additionally sperical coordinates are allowed to be written in nautical style, e.g. 4°17'16.62931"E 51°29'40.02423"N. Instead of characters (° ' ") also (d m s) or (^ ' ") may be used. The nautical format must include the information of hemisphere (N/S) and the orientation with respect to Greenwich (E/W).
  • on input in files of type 09 (boewrt.dat) or 10 (geopos.dat), 13 (untrim_grid.dat, BAW version) and 14 (location_grid.dat) the coordinate reference system is first changed to the input system, if an internal CRS Information is available. In files of type 01 (gitter05.dat), 02 (digi.gkk) and 08 (geom.dat) the( well known!) coordinate reference system of the input files can be specified through the comment "C CRS=#####" at the beginning of the file. "#####" here is an EPSG code which is supported by libgeodesy. In this case also a Transformation to the input system is done first. The input system must have a valid EPSG code too.
  • in input files of type 16 (world files) also the avarage pixel width and height transformation parameters are changed by assuming a virtual image of 800x800 pixels.
  • To all ASCII formats which are not NAMELIST based, a file header with the current coordinate information is added as comments.
  • UTM easting coordinates with 7 and 8 digits are recognized and changed into 6 digits representation. For recognition of valid 8 und 7 digits easting values both the number of digits and the actual UTM zone are used.
  • for some of the file types an optional export of all original coordinates as file type geopos.dat is possible. Those files can be used for control purpose and also in further pre processing programs e.g. TICLQ2. Please do not use this output option when transforming input files with a huge number of coordinates!!!
  • file type 18 allows the user to define freely the columns, which have to be processed. A third column with altitude values can optionally be transformed during change of geodetic datum. Several coordinate pairs /tripel of a row may be transformed in a single step.

All transformation algorithms use double precision floating point values for representation inside memory. Inside the two supported binaryfile formats single precision REAL values of the coordinates are stored. Theese formats should be used carefully, because spherical coordinates are written with unacceptable accuracy:

  • gitter05.dat/bin: Creation of the ASCII formatted variant is recommended on output, and usage in future projects!
  • profil05.bin: Write this format only with projected coordinates (UTM, Gauß-Krüger). The accuracy of coordinate representation with projected coordinates is limited to 0,5-1m.

Inside the supported ASCII file formats the accuracy of coordinate representation is choosen with respect to the reference system. This behavior ensures that accuracy is guaranteed to a certain limit, if spherical coordinates are written.

EPSG codes which are supported by libgeodesy are:

  • Gauss-Krueger 3 degree / DHDN: EPSG 31466-31469 (EPSG = 31464 + stripe number), used with datum BKG >52,3 degree N
  • Gauss-Krueger / ETRS89, stripe 3 ("Lagestatus 320", Hamburg): EPSG 8395
  • Gauss-Krueger 3 degree / STN : EPSG 02397-02399, 05674-05675, 03838, 03829
  • Gauss-Krueger 3 degree / DHDN: EPSG 31462-31465 ( EPSG = 31460 + Streifennummer ), reused for datum BKG between 50,3 degree N and 52,3 degree N
  • Gauss-Krueger 3 degree / DHDN: EPSG 31492-31495 ( EPSG = 31490 + Streifennummer ), reused for datum BKG <50,3 degree N
  • UTM / ETRS89  : EPSG 25828-25838 (EPSG = 25800 + zone number)
  • UTM / ETRS89, 8 digits  : 4647, 5649, 5650, 35832, 35833
  • UTM / ED50  : EPSG 23028-23038 (EPSG = 23000 + zone number)
  • UTM / WGS84 (North)  : EPSG 32601-32660 (EPSG = 32600 + zone number)
  • UTM / WGS84 (South)  : EPSG 32701-32760 (EPSG = 32700 + zone number)
  • UPS / WGS84  : EPSG 32661 and 32761
  • RD Amersfoort New  : EPSG 28992 and 7415
  • OSGB 1936/British National Grid: EPSG 27700
  • Geographic ETRS89  : EPSG 4258
  • Geographic WGS84  : EPSG 4326
  • Geographic ED 50  : EPSG 4230
  • Geographic DHDN  : EPSG 4314
  • Geographic Amersfoort  : EPSG 4289

Some CRS, which are not supported by an EPSG can be realized by using the expert mode (basic knowledge of CRS's necessary).

It is recommended, to store the coordinate reference system as an EPSG code inside the basic datasets (raw data), if it is known. This can be done by the magic comment"C CRS=#####" inside the most ASCII file types. Within file types, where storage is foreseen for an EPSG code, it should be placed there.

Actual datasets should be stored with UTM/ETRS89 coordinates of the valid zone or in geographic coordinates (ETRS89 or WGS84) . Transforming older datasets with Gauß-Krüger coordinates into UTM/ETRS89 should be done preferably with the NTv2 method after GNTRANS-WSV. The transformation grid is valid only for German area including coastal waters. Coordinates outside this area must not be transformed by NTv2 but should be transformed using a valid Helmert transformation parameter set. In case of doubt the provider of the coordinate data shall provide the coordinate reference information.

Transforming coordinates is not a trivial task. Therefor the transformation result should be tested for plausibility and usability. Multible transformations forward and back can destroy accuracy of coordinates due to accumulation of numeric errors inside the basic algorithms.

Program(s) to run before this Program

all programs wich use above listed file formats

Program(s) to run after this Program

all programs wich use above listed file formats

Additional Information

Language

Fortran2003, C

Additional software

NTv2 grids dhdn_to_etrs89_wsv_v1.gsb, stn_to_etrs89_wsv_v1.gsb and BETA2007.gsb

Original Version

G. Seiß (main program, file I/O, libgeodesy)

Maintenance

working group PRE

Documentation/Literature

interactive dialog, self explaining
$PROGHOME/examples/geotransformer
$PROGHOME/examples/geotransformer/Anleitung_GEOTRANSFORMER.pdf
Junkins, D.R. and Farley, S.A. (1995) National Transformation version 2 Users Guide, Geodetic Survey Division Geomatics Canada
Lott, Roger und OGP Geodesy Working Group (2015) Coordinate Conversions and Transformations including Formulas. Geomatics Guidance Note (IOGP Publication 373), 7. Part 2.
Bruijne, Arnoud de; van Buren, Joop; Kösters, Anton; van der Marel, Hans (2005): De geodetische referentiestelsels van Nederland. Geodetic reference frames in the Netherlands. Hg. v. Nederlandse Commissie voor Geodesie Netherlands Geodetic Commission. Delft. Download here.
Federal Fairway Authority (Eds.) (2012): Handlungsanweisung für die Transformation der Datenbestände der WSV in das System ETRS89/UTM. In German language, with contribution of Hendrik Hampe, Sudau, Gunther Braun, Cornelius Zschunke, Egon Feigel, Helga Panknin et al.
Lutter, H. (2009): Helmerttransformationsparameter für Gauss-Krüger Streifen 4 (Krassowski), WSA Stralsund. Pers. Communication.


back to Program Descriptions


Overview