pur
Killet GeoSoftware Ing.-GbR - short: KilletSoft - is a software company, which was established in the year 1991. The society is divided into the ranges "Geodetic Standard Software", "Development Tools for Geoinformatics" and "German Geodata". The focal trades of the companies supplied by KilletSoft are consulting engineers, GIS developers, Internet marketing, public utilities, logistics, telecommunications, security and public services.
 •  Print page content  •  link_in Company •  link_in Contact •  link_in Imprint
Deutsch English

Proposal for using Polygonal Validity Scopes in NTv2 grid files
An attempt for meaningful supplement of the NTv2 standard
Kempen (Germany), December 2015, revised September 2018
Killet GeoSoftware Ing.-GbR
link_in Download Press Release and Work sheet as PDF and MS WORD file


Preface
NTv2-Logo By means of NTv2 grid files it is possible to transform points from one coordinate reference system to another with very high accuracy. An NTv2 file contains one or more quadrangular coordinate grids which are defined in the NTv2 headers. Instead of a rectangular area only an embedded polygonal area should and must be covered, for example, a state territory within the country borders. How can outside of a polygonal administrative area located coordinates be excluded from the coordinate transformations and reference system transitions (datum shifts) and thereby localization errors be suppressed? The author presents a simple but effective solution for this problem. The article matches GIS developers who generate NTv2 files for accurate reference system transitions in administrative areas. It also addresses GIS users who perform coordinate transformations and reference system transitions using NTv2 files.


New terms used in the text:
Polygonal Validity Scope
A polygon within an NTv2 grid in which reference system transitions are allowed.
Exopolygonal Entry
Entry of the value pair -99/-99 in shift values or accuracy values of a grid mesh for exclusion from the polygonal validity scope.

NTv2 was developed in Canada in the mid-nineties and means "National Transformation Version 2”. Meantime the pretty precise NTv2 method is used for the implementation of reference system transitions in many countries. NTv2 uses coordinate grids which are stored in files to perform exact transformations from one geodetic reference system to another. The coordinate grids of the NTv2 files contain the required shifts between both reference systems. Using bilinear interpolation, the exact coordinates of points in the source reference system are calculated to the target reference system.

The NTv2 file is composed of one or several parent and child coordinate grids in hierarchical structure. With compacted grid meshes optional child coordinate grids improve subareas of the parent coordinate grids lying below. In a hierarchical way child grids can appear as parent grids to further child grids lying above (see figure 3). Most grid files, e.g. the German Beta2007, only contain one single parent coordinate grid.


SUB_NAME DHDN90
PARENT   NONE
CREATED  06-11-09
UPDATED  06-11-09
S_LAT    169200.000000
N_LAT    199080.000000
E_LONG   -56400.000000
W_LONG   -19800.000000
LAT_INC  360.000000
LONG_INC 600.000000
GS_COUNT 5208
NUM_OREC 11
NUM_SREC 11
NUM_FILE 1
GS_TYPE  SECONDS
VERSION  NTv2.0
SYSTEM_F DHDN90
SYSTEM_T ETRS89
MAJOR_F  6377397.155
MINOR_F  6356078.963
MAJOR_T  6378137.000
MINOR_T  6356752.314

The NTv2 file begins with a main header (left) in which general information, the names of the used reference systems and the particular ellipsoid parameters are stored. Parent and child coordinate grids follow and each begins with a sub header (right). Therein validity scopes of the coordinate grids are specified by southern and northern latitudes and western and eastern longitudes.


 -2.749746  7.165792  0.000000  0.000000
 -2.750032  7.067153  0.000000  0.000000
 -2.750411  6.968641  0.000000  0.000000
 -2.750896  6.870278  0.000000  0.000000
 -2.751498  6.772085  0.000000  0.000000

Each sub header is followed by grid meshes with two values for longitudinal and latitudinal shifts as well as two values for accuracy. Shifts between reference systems are mostly specified in seconds, but can also be stored as minutes or degrees. Optionally the accuracy can be specified in meters for the mean error of the longitudinal and latitudinal shifts.


NTv2 grid with rectangular validity scope
NTv2 grid with rectangular validity scope

Thus, the rectangular validity scope of an NTv2 file is defined by one or several quadrangular coordinate grids. Therefore, the limitation to the actually required polygonal area, e.g. defined by national frontiers, is not possible. As a result, all coordinate transformations outside of the polygonal validity scope are incorrect. To solve this problem you could fill grid meshes that lie outside of the desired polygonal area with certain values. These values are called "exopolygonal entries” in the following text.

Figure 1: This rectangular coordinate grid of a common NTv2 file covers the state territory of the Federal Republic of Germany. Coordinate transformations outside of the state territory, which is provided for the reference system transition, will inevitably cause errors.


The first option for implementing polygonal structures is the use of exopolygonal entries for accuracy values of the grid meshes. In most NTv2 files, accuracy values are set to 0 or -1 to indicate that there is no information about accuracy available. Empirically, there are no NTv2 files in which accuracy values are specified by plausible numbers. There is no known GIS software that includes accuracy values in calculations.


Grid meshes that are supposed to be excluded are marked as invalid, in case you determine both of their accuracy values by an exopolygonal entry of -99. So labeled grid meshes are excluded from the calculations of reference system transitions. The number -99 is proper for the mark because it cannot be found as a value pair for plausible accuracies.


The second option is the exopolygonal entry -99 in both longitudinal and latitudinal shifts of the grid meshes. Again it applies, that this value pair cannot be found for plausible longitudinal or latitudinal shifts.

NTv2 grid with polygonal validity scope
NTv2 grid with polygonal validity scope

Figure 2: This example addresses the area of the Federal Republic of Germany as polygonal validity scope. The red grid meshes are marked by exopolygonal entries and thus excluded from reference system transitions. The white grid meshes are border areas in which reference system transitions have to occur.


 -2.749746   7.165792   0.000000   0.000000
 -2.750032   7.067153   0.000000   0.000000
-99.000000 -99.000000   0.000000   0.000000
-99.000000 -99.000000   0.000000   0.000000
 -2.751498   6.772085   0.000000   0.000000
 -2.752229   6.674087 -99.000000 -99.000000
 -2.753104   6.576315 -99.000000 -99.000000
 -2.754140   6.478805   0.000000   0.000000
 -2.755358   6.381604   0.000000   0.000000

The example on the left shows both methods for the implementation of polygonal validity scopes. The shifts of two grid meshes marked yellow and the accuracy values of two further grid meshes marked blue have exopolygonal entries. Consequently, these four grid meshes are outside of the polygonal validity scope.


To implement polygonal validity scopes, a GIS software can query exopolygonal entries in the four shift and accuracy values of the grid meshes. During the calculation of reference system transitions, the coordinates that are to be transformed are examined for their association with such grid meshes. It is crucial whether the grid mesh is part of a parent coordinate grid or of a therein contained child coordinate grid. In case it lies in a child grid, the attempt is to continue the calculation in the parent grid lying below. When grid meshes fitting to a coordinate are marked by exopolygonal entries in all hierarchically stacked child and parent grids, then the coordinate is outside of the polygonal validity scope. It is excluded from the calculation of the reference system transition and a note is generated.


Testing coordinates on polygonal validity
Testing coordinates on polygonal validity

Figure 3: In this example, three coordinate grids are arranged one upon the other. Only when a coordinate falls through all exopolygonal grid meshes it lies outside of the polygonal validity and is excluded from the reference system transition.


By using exopolygonal entries in the shift values or in the accuracy values of the NTv2 file, there are two methods for realizing Polygonal Validity Scopes. The two methods differ considerably in their effects.


Usage of accuracy values for the exclusion of one single grid mesh
Usage of accuracy values for the exclusion of one single grid mesh

Method 1: Exopolygonal entry in accuracy values of a grid mesh.


Exactly one grid mesh is addressed that has a grid spacing LAT_INC in northern direction and a grid spacing LON_INC in western direction from the grid point. Exactly this grid mesh is defined by the grid point and addressed regarding the interpolation of a coordinate that lies within. This grid mesh is excluded from the polygonal validity scope of the NTv2 grid.

Figure 4: Usage of accuracy values for the exclusion of one single grid mesh.


Usage of shift values for the exclusion of four adjacent grid meshes
Usage of shift values for the exclusion of four adjacent grid meshes

Method 2: Exopolygonal entry in longitudinal and latitudinal shift values of a grid mesh.


With a bilinear interpolation the four adjacent grid points of a coordinate are used. Each may contain exopolygonal entries. So, all in all four grid meshes are addressed and each has one grid spacing LAT_INC in northern and southern direction and one grid spacing LON_INC in western and eastern direction from the grid point.

Figure 5: Usage of shift values for the exclusion of four adjacent grid meshes.


These are the four grid meshes that are arranged around the grid point. Exactly these four grid meshes are excluded from the polygonal validity scope of the NTv2 grid. Thereby grid meshes may also be excluded from polygonal validity in an overlapping order.


Method 1 should be preferred because every single grid mesh in the NTv2 file can be excluded from polygonal validity. Method 2 should be applied when the GIS software used for the creation of an NTv2 grid file does not allow access to accuracy values. In case method 2 is used, an overlap region has to be taken into consideration due to the quadruple size of the addressed area. Both methods can be used separately or together without any special precautions.


The polygonal validity scope is specified by the developer while creating an NTv2 file or subsequently. Therefore the developer inserts exopolygonal entries into the shift or accuracy values of the outside of the required polygon lying grid meshes. The evaluating software then must be so constituted that it can identify the exopolygonal entries and declare them as void.


KilletSoft’s Geodetic Development Kit GeoDLL from version 16.00 on and their coordinate transformation program TRANSDATpro from version 19.00 on already support polygonal validity scopes. Both tools detect exopolygonal entries in shifts and accuracies of grid meshes while checking all hierarchical child and parent coordinate grids. On hits the software generates a message, that the coordinate is located outside of the polygonal validity scope of the NTv2 grid file. Common NTv2 files without polygonal validity scopes still work as usual.


In August 2018, the version 18.10 of the Geodetic Development Kit GeoDLL was supplemented with a function that uses shape files to add polygonal validity scopes to any NTv2 files. At the same time, the stand-alone program NTv2Poly was released by KilletSoft, which also adds polygonal validity scopes with the help of shape files to any NTv2 files. In such a shape file, for example, the border outline of a country representing the polygonal validity scope for the NTv2 file used in that country may be available. With the software offered by KilletSoft, every GIS user now can benefit from the advantages of using polygonal scopes in their GIS calculations.


It depends on GIS developers and GIS users whether polygonal validity scopes will be implemented in NTv2 files in the future. A few if-statements and an additional loop structure in the source code of programs with NTv2 support are sufficient for implementing polygonal validity scopes. KilletSoft would like to support developers who are interested in this idea.


Summary
The author presents a simple method for realizing polygonal validity scopes in NTv2 files. Thereby the structure of the NTv2 file remains unchanged. When generating NTv2 files, grid meshes that are located outside of the polygonal validity can be labeled with exopolygonal entries. The benefit of this method is the exclusive addressing of grid meshes inside the intended administrative area and thus the exclusion of localization errors. Software developers can implement the consideration of polygonal validity scopes in GIS software by a few changes in the source code. KilletSoft already provides GIS software which supports polygonal validity scopes. KilletSoft also offers software that allows inserting polygonal validity scopes into existing NTv2 files.


List of figures

  1. NTv2 grid with rectangular validity scope
    Author: Fred Killet
  2. NTv2 grid with polygonal validity scope
    Author: Fred Killet
  3. Testing coordinates on polygonal validity
    Author: Fred Killet
  4. Usage of accuracy values for the exclusion of one single grid mesh
    Author: Fred Killet
  5. Usage of shift values for the exclusion of four adjacent grid meshes
    Author: Fred Killet

Figures 1 to 5 were generated by the program IncScape 0.91 equipped with a "GNU General Public License".


Logo QR-URL Author
Dipl.-Ing. Fred Killet
Escheln 28a
47906 Kempen (Germany)
https://www.killetsoft.de

KilletSoft News In order that you are always well informed about our company, we write actual news, current information and special offers here into this column.
pur
KilletSoft Logo Geodata Germany
All georeferenced databases has been updated to the data conditions of January 1st, 2024. The database tables of "GeoData Germany" contain all German towns, municipalities and urban districts, coordinates, postal codes, dialling codes, administrative units, nature areas, landscapes, travel areas, wind and snow loads, solar irradiation, cartographies info etc.
link_in Read more...
KilletSoft Logo New work sheet
Modeling an NTv2 file under the aspect of economic efficiency.
link_in Read the work sheet...
KilletSoft Logo New work sheet
Display Formats of UTM Coordinates.
Display formats, calculation methods and the historical background of the UTM coordinate system.
Third revised edition of the popular technical article.
link_in Read the work sheet...
KilletSoft Logo New work sheet
What actually is a Coordinate Reference System?
Explanation of the Coordinate Reference System with the components Coordinate System, Reference System, Reference Definition and Reference Frame.
Second revised edition.
link_in Read the work sheet...
KilletSoft Logo Illegal software versions
The illegal use of our software got out of control!
link_in Read our Info...
KilletSoft Logo NTv2 collection
KilletSoft has brought together NTv2 files as a worldwide collection on a central website and linked for the direct download.
link_in Read the Press Release...
link_in To the NTv2 collection...
KilletSoft Logo is member of
VDV Logo
KilletSoft Logo Translators wanted!
The programs TRANSDAT, SEVENPAR, NTv2Creator, NTv2Poly and NTv2Tools support language files for the programs interface. Since the language dependent texts are managed in external files, link_in new languages can be added at any time by creating new language files. Everybody who is interested can translate a new language file into his native language for himself and all users.
Author: Dipl.-Ing. Fred Killet
Page name: t_1512_e.htm
Page views: 118
Period: since Januar 1, 2024