Group NTv2 Tools



The group "NTv2 Tools" contains functions that allows the manipulation and data retrieval from NTv2 ASCII grid files and NTv2 binary files.


NTv2 files are either in ASCII format or in binary format. With the functions convntvascii2bin() and convntvbin2ascii() can be converted between the two file formats.


There are some very large NTv2 binary files that are larger than the 2.15 gigabytes addressable with the "long int" C variable type. For example, the Bavarian NTv2 binary file BY_KanU_Bayern-gesamt.gsb has a size of about 3.5 gigabytes. Unlike the Software GeoDLL and TRANSDAT by KilletSoft, many geodetic programs and GIS can not handle such large NTv2 files. With the function convntvbin2area() it is possible to copy an area defined by a coordinate section from a NTv2 binary file into a new binary file. All subgrids of the binary file, which intersects the coordinate section, are taken into account. The new binary file created in this way is smaller and can be used with any geodetic software and GIS.


An NTv2 file contains one or more quadrangular coordinate grids which are defined in the NTv2 headers. Instead of a quadrangular area only an embedded polygonal area should and must be covered, for example, a state territory within the country borders. The function convntvbin2polyvalid() realizes the Polygonal Validity Scope in NTv2 files. For that purpose the polygonal scope is realized with a shape file that contains the outlines of the scope as polygons. Coordinates outside the scope then can be excluded from calculations or be acknowledged by a warning using the KilletSoft products TRANSDAT and GeoDLL and a lot of GIS software developed by companies which supports Polygonal Validity Scopes.


With the export and import functions convntvbin2gridexport() and convntvbin2gridimport() NTv2 grids can be arranged arbitrarily in binary NTv2 files.


Further functions of this group determine the header data of the of NTv2 grid files or their subgrids, which can be used to analyze or manipulate NTv2 files.


Characteristics of the function group

ASCII grid files (.gsa) and binary grid files (.gsb)
Conversion of ASCII grid files to binary grid files
Conversion of binary grid files to ASCII grid files
Copy of NTv2 grid file areas to  new binary files
Supplement of a NTv2 binary file with Polygonal Validity Scopes
Determining the parameters of a NTv2 grid file
Export and import of NTv2 grids
Download of many NTv2 files from the KilletSoft website
Links to NTv2 providers on the KilletSoft website
HARN grid files of the U.S. supported as equivalent NTv2 grid files
Free use of some NTv2 files, which otherwise are available for a fee
Access to NTv2 files, which are specially licensed for KilletSoft


"NTv2 Tools" function group

Information about the supported NTv2 grid files

Calculation accuracy with NTv2

Polygonal Validity Scopes

Function convntvascii2bin() - Converts a NTv2 ASCII file to a binary file

Function convntvbin2ascii() - Converts a NTv2 binary file to an ASCII file

Function convntvbin2area() - Copies an area of a NTv2 grid file to a new binary file

Function convntvbin2gridexport() - Exports a NTv2 grid from a NTv2 binary to a new binary file

Function convntvbin2gridimport() - Imports a NTv2 grid from a NTv2 binary into an existing binary file

Function convntvbin2polyvalid() - Adds Polygonal Validity Scopes to NTv2 binary files

Function getntvgridarray() - Writes the parameters of one or all NTv2 subgrids to arrays

Function getntvgridcount() - Gets count of subgrids contained in a NTv2 file

Function getntvgridheader() - Gets the header parameter of one or all NTv2 subgrids

Function getntvheader() - Gets the header parameter of a NTv2 file

Function getntvminmaxshift() - Gets the min / max shift values of one or all NTv2 subgrids