[PROJ] Units of NTv2 accuracy/error channels ?

Even Rouault even.rouault at spatialys.com
Sat Dec 7 11:25:34 PST 2019


Hi,

Question for advanced NTv2 users and agencies producing NTv2 grids.

I have a hard time figuring out what is the unit of the Latitude error/accuracy
(3rd channel) and Longitude error/accuracy (4th channel) of NTv2 products.
In a number of products, it is set to 0 or -1 to indicate no errors. So far, so good.
But what about products which have meaningful values ?

The original NTv2 specification at
https://web.archive.org/web/20091227232322if_/http://www.mgs.gov.on.ca:80/stdprodconsume/groups/content/@mgs/@iandit/documents/resourcelist/stel02_047447.pdf
is not super explicit about the expected units for the accuracy channels.
One could reasonably expect them to be in the same GS_UNITS as the latitude
and longitude shift channels (arc-seconds in all products I'm aware of)

The technical documentation (in French) of the ntf_r93.gsb product in
https://geodesie.ign.fr/contenu/fichiers/documentation/algorithmes/notice/NT111_V1_HARMEL_TransfoNTF-RGF93_FormatGrilleNTV2.pdf
clearly mentions the use of arc-seconds unit for the error channels.

But... https://github.com/Esri/ntv2-file-routines/blob/master/README.md mentions 
"""
Latitude  accuracy (in meters  ) - optional
Longitude accuracy (in meters  ) - optional
"""

I'm wondering if this statement is not derived by looking at the original NTV2 canadian
grid, ntv2_0.gsb. Using the ntv2_100325 executable from
https://webapp.geod.nrcan.gc.ca/geod/process/download-helper.php?file_id=ntv2 confirms
that the shift values are in arc seconds, and the errors in metres.
Their online calculator at https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ntv2.php
also confirms it.
The maximum longitude/latitude error/accuracy value as shown in [0] are also greater
than the absolute maximum shift value (also seen on a few random points, but not in
the general case), so while this is not a solid proof, this is compatible of
error values are in metre, rathr than arc-seconds.

Now, looking at the statistics and samplings for IGN France (ntf_r93.gsb) [1],
Germany (Baden-Württemberg) LGL (BWTA2017.gsb) [2] and LINZ (nzgd2kgrid0005.gsb) [3],
I see that the values of LINZ are of a magnitude similar to IGN, so by induction they are
likely in arc-seconds too. For LGL, the error/inaccuracy is much lower, or the order of 1e-4, so
there's also a high chance this is arc-seconds (1e-4 arc second ~= 3.2 mm), rather
than metre.

Does that ring a bell to anyone ? This is not really important for PROJ, which
doesn't make use of that information, but if converting those products to GeoTIFF
and adding units in metadata, it would be better to properly register the right unit...

Even

[0] ntv2_0.gsb:

Band 1
  Description = Latitude Offset (arc seconds)
    STATISTICS_MAXIMUM=2.7053599357605
    STATISTICS_MEAN=0.22938163123877
    STATISTICS_MINIMUM=-1.2412799596786
    STATISTICS_STDDEV=0.36487517625985
Band 2
  Description = Longitude Offset (arc seconds)
    STATISTICS_MAXIMUM=0.52859002351761
    STATISTICS_MEAN=-2.4296108875319
    STATISTICS_MINIMUM=-6.5360999107361
    STATISTICS_STDDEV=1.5646204102361
Band 3 
  Description = Latitude Error
    STATISTICS_MAXIMUM=13.354999542236
    STATISTICS_MEAN=0.27474378975396
    STATISTICS_MINIMUM=0
    STATISTICS_STDDEV=0.48454424815682
Band 4
  Description = Longitude Error
    STATISTICS_MAXIMUM=8.7159996032715
    STATISTICS_MEAN=0.29625671244826
    STATISTICS_MINIMUM=0
    STATISTICS_STDDEV=0.48875059551347

Sampling at a "random" point
  Location: (50P,50L)
  Band 1:
    Value: 0.407240003347397
  Band 2:
    Value: -0.417419999837875
  Band 3:
    Value: 2.06200003623962
  Band 4:
    Value: 2.26300001144409


[1] ntf_r93.gsb:

Band 1
  Description = Latitude Offset (arc seconds)
    STATISTICS_MAXIMUM=0.41066199541092
    STATISTICS_MEAN=-0.14290635876691
    STATISTICS_MINIMUM=-0.43130299448967
    STATISTICS_STDDEV=0.17467622900461
Band 2
  Description = Longitude Offset (arc seconds)
    STATISTICS_MAXIMUM=3.9832758903503
    STATISTICS_MEAN=2.5114900115167
    STATISTICS_MINIMUM=1.2807140350342
    STATISTICS_STDDEV=0.64540102922043
Band 3
  Description = Latitude Error
    STATISTICS_MAXIMUM=0.064833000302315
    STATISTICS_MEAN=0.035132184284462
    STATISTICS_MINIMUM=0.0016179999802262
    STATISTICS_STDDEV=0.03134354382028
Band 4
  Description = Longitude Error
    STATISTICS_MAXIMUM=0.10483700037003
    STATISTICS_MEAN=0.05122512365606
    STATISTICS_MINIMUM=0.0021490000654012
    STATISTICS_STDDEV=0.045974087201794

Sampling at a "random" point
  Location: (50P,50L)
  Band 1:
    Value: -0.257952004671097
  Band 2:
    Value: 2.9302670955658
  Band 3:
    Value: 0.00161899998784065
  Band 4:
    Value: 0.00236700009554625


[2] BWTA2017.gsb:

Band 1
  Description = Latitude Offset (arc seconds)
    STATISTICS_MAXIMUM=-3.058042049408
    STATISTICS_MEAN=-3.5957838572742
    STATISTICS_MINIMUM=-4.0953946113586
    STATISTICS_STDDEV=0.27330481075759
Band 2
  Description = Longitude Offset (arc seconds)
    STATISTICS_MAXIMUM=4.5378975868225
    STATISTICS_MEAN=3.6829893469828
    STATISTICS_MINIMUM=2.8559820652008
    STATISTICS_STDDEV=0.44504277350973
Band 3
  Description = Latitude Error
    STATISTICS_MAXIMUM=0.00013734232925344
    STATISTICS_MEAN=6.3284008649676e-05
    STATISTICS_MINIMUM=1.6185947970371e-05
    STATISTICS_STDDEV=1.9119506806922e-05
Band 4
  Description = Longitude Error
    STATISTICS_MAXIMUM=0.00020735718135256
    STATISTICS_MEAN=9.5545150040269e-05
    STATISTICS_MINIMUM=2.4437278625555e-05
    STATISTICS_STDDEV=2.88663154724e-05

Sampling at a "random" point
  Location: (1000P,1000L)
  Band 1:
    Value: -3.91857481002808
  Band 2:
    Value: 3.3124144077301
  Band 3:
    Value: 6.86711646267213e-05
  Band 4:
    Value: 0.000103678590676282


[3] nzgd2kgrid0005.gsb:

Band 1
  Description = Latitude Offset (arc seconds)
    STATISTICS_MAXIMUM=7.0297069549561
    STATISTICS_MEAN=6.2095865303887
    STATISTICS_MINIMUM=5.2811942100525
    STATISTICS_STDDEV=0.31210796006199
Band 2
  Description = Longitude Offset (arc seconds)
    STATISTICS_MAXIMUM=0.35285499691963
    STATISTICS_MEAN=-0.57949275997587
    STATISTICS_MINIMUM=-1.6765320301056
    STATISTICS_STDDEV=0.29261751972554
Band 3
  Description = Latitude Error
    STATISTICS_MAXIMUM=0.11701499670744
    STATISTICS_MEAN=0.026246032400208
    STATISTICS_MINIMUM=0.00059700000565499
    STATISTICS_STDDEV=0.02753783661212
Band 4
  Description = Longitude Error
    STATISTICS_MAXIMUM=0.16906200349331
    STATISTICS_MEAN=0.035039901355755
    STATISTICS_MINIMUM=0.00079299998469651
    STATISTICS_STDDEV=0.037121379791356

Sampling at a "random" point
  Location: (50P,50L)
  Band 1:
    Value: 6.31486082077026
  Band 2:
    Value: -0.991177976131439
  Band 3:
    Value: 0.0246409997344017
  Band 4:
    Value: 0.0317060016095638

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the PROJ mailing list