Information about the supported NTv2 grid files



Note on NTv2 and HARN grid files

The geodetic functions library GeoDLL is prepared for coordinate transformations with arbitrary NTv2 grid files and with the American HARN grid files. But the HARN grid files of the U.S. states are available as equivalent NTv2 grid files. All by GeoDLL supported NTv2 and HARN grid files can be downloaded from the website



NTv2 standard

NTv2 means "National Transformation Version 2". The NTv2 method uses binary files to perform accurate Reference System Transitions from one geodetic Reference System to an other. A NTv2 file contains the differences between the two Reference Systems as geographic seconds in a grid. A bilinear interpolation is used to calculate the exact coordinates for a point in the target Reference System.


NTv2 is designed to check multiple grids for the most accurate shift information. A NTv2 file contains a low density base grid (parent). Certain areas such as cities can have high density local sub grids. The sub grids overlay portions of the base grid. If a point is within one of the high density sub grids, NTv2 will use the high density grid, otherwise, the point ‘falls through’ to the low density grid.


A description of the NTv2 algorithm can be found in the following sources:

Junkins, D.R., and S.A. Farley, NTv2 Developer’s Guide; Geodetic Survey Division, Natural Resources Canada, 1995.

Junkins, D.R., and S.A. Farley, NTv2 User’s Guide; Geodetic Survey Division, Natural Resources Canada, 1995.


You can download the NTv2 files supported by GeoDLL directly from the KilletSoft Internet site "", product descriptions of TRANSDAT or GeoDLL" or use the download links to the original sources there.


For some NTv2 files, downloadable from the KilletSoft Internet site, exists special usage permissions. These files are encrypted and can only be used by the KilletSoft products TRANSDAT and GeoDLL, which contain the decrypt mechanism. These files are special licensed to KilletSoft by their copyright owners.



Important note about the copyright:

If you want to use NTv2 files, you must necessarily note the terms and conditions of their copyright owners! All rights and liabilities, resulting from the use of the data, bears solely the user! KilletSoft does not guarantee the accuracy of the data!



Quality of the NTv2 calculations

Die Qualität der Berechnungen mit GeoDLL wurde mehrfach wissenschaftlich überprüft.

Quality check with test data of the ADV
Quality check with an extreme NTv2 file of the network operator Westnetz GmbH



NTv2 file tools

There are some tools that can be used to manipulate NTv2 files. The following file manipulations are possible:

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



Use of arbitrary NTv2 files

For most NTv2 files there are predefined NTv2-Reference Systems in GeoDLL. But if you like to work with a NTv2 file, for which GeoDLL has no predefined Reference Systems, you can use one of the following universally Reference Systems:

- Source Reference System in an arbitrary NTv2 file

- Target Reference System in an arbitrary NTv2 file


When using Reference Systems in arbitrary NTv2 files there are minimal deviations against the use of NTv2 Reference Systems predefined in GeoDLL. This is a systemic laxity within the NTv2 files. When using Reference Systems in arbitrary NTv2 files, the ellipsoidal semi axes are read directly from the NTv2 file header, because GeoDLL does not know the Reference Systems semi axes. But in the NTv2 header the ellipsoidal semi axes are stored for space reasons with only three decimal places.



MAJOR_T ==> 6378137.000

MINOR_T ==> 6356752.314


On the other hand when using predefined NTv2 Reference Systems known in GeoDLL, complete ellipsoidal semi axes with maximum decimals are used. This results in a more accurate calculation in a  range of 1/10ths millimeter.



nSemiAxisLg ==> 6378137.0

nSemiAxisSm ==> 6356752.3141403


The deviation is indeed only slightly, but in author's opinion it should be taken into account at inception of a new NTvX version. One could leave the first two digits of the semi-axes. because they are redundant, and add two decimal places instead.