GEOTRANSFORMER: Difference between revisions
From BAWiki
Guntram Seiß (talk | contribs) (Some new EPSG codes) |
Guntram Seiß (talk | contribs) m (Change contact_maintenance, language, version) |
||
Line 2: | Line 2: | ||
|name_de=GEOTRANSFORMER | |name_de=GEOTRANSFORMER | ||
|name=GEOTRANSFORMER | |name=GEOTRANSFORMER | ||
|version= | |version=June 2022 | ||
|version_descr= | |version_descr=September 2022 | ||
|catchwords=coordinate transformation<br/> | |catchwords=coordinate transformation<br/> | ||
coordinate system<br/> | coordinate system<br/> | ||
Line 146: | Line 146: | ||
|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= | |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=[mailto:guntram.seiss@baw.de G. Seiß] (main program, file I/O, libgeodesy) | ||
|contact_maintenance=[mailto: | |contact_maintenance=[mailto:pre.proghome@baw.de Group PRE] | ||
|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/> | |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/> | 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/> |
Revision as of 09:07, 6 September 2022
Basic Information
Name of Program
GEOTRANSFORMER
Version-Date
June 2022
Description-Date
September 2022
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
- triangulated mesh (file type TICAD,gitter05.dat/bin)
- digitized polylines (file type digi.gkk) or
- digitized polylines (file type insel.dat) or
- polygon file (file type poly.dat) or
- polygone file to protect edges of a grid (file type nodes.save) oder
- plot frames (file type frames.dat, center and size, or
- description of boundary cells (file type rgz.dat) or
- ASCII triple data, file with soundings (file type geom.dat) or
- time series at single station (file type boewrt.dat) or
- position description (file type geopos.dat) or
- triangulated UNTRIM-VC mesh (file type untrim_grid.dat, version Vincenzo Casulli) or
- grid of the numerical method DELFT3D (file type delft3d.grd) or
- triangulated UNTRIM-BAW mesh (file type untrim_grid.dat, BAW version) or
- system file for specific locations (file type location_grid.dat) or
- file IPDS to initialize models area wide (file type 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) or
- CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
- indexed point data (index, x/longitude, y/latitude, z).
Output-Files
- triangulated mesh (file type TICAD,gitter05.dat/bin) and (optionally) files of type geopos.dat or
- digitized polylines (file type digi.gkk) and (optionally) files of type geopos.dat or
- digitized polylines (file type insel.dat) and (optionally) files of type geopos.dat or
- polygon file (file type poly.dat) and (optionally) files of type geopos.dat or
- polygone file to protect edges of a grid (file type nodes.save) and (optionally) files of type geopos.dat oder
- plot frames (file type frames.dat, center and size, or
- description of boundary cells (file type rgz.dat) or
- ASCII triple data, file with soundings (file type geom.dat) or
- time series at single station (file type boewrt.dat) and (optionally) a file of type geopos.dat or
- position description (file type geopos.dat) or
- triangulated UNTRIM-VC mesh (file type untrim_grid.dat, version Vincenzo Casulli) or
- grid of the numerical method DELFT3D (file type delft3d.grd) or
- triangulated UNTRIM-BAW mesh (file type untrim_grid.dat, BAW version) or
- system file for specific locations (file type location_grid.dat) and (optionally) files of type geopos.dat or
- file IPDS to initialize models area wide (file type ipds.dat) and (optionally) a files type 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) and (optionally) files of type geopos.dat or
- CSV table ("comma seperated values") where columns are seperated by semicolon ( ; )
- 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 / 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
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