<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Century Gothic";
panose-1:2 11 5 2 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:217514566;
mso-list-type:hybrid;
mso-list-template-ids:225594516 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal">I am trying to get the transformations for the Netherlands using PROJ/GDAL and I just can’t seem to get the “correct” answers based on the data I have been given. I have tried both the variant 1 and 2 of the nl_nsgi_*.tif files with no
luck.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The following data was created using the EPSG:7415 transform and nl_nsgi_rdtrans2018.tif and nl_nsgi_naptrans2018.tif:<o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New"">002_ETRS89.TXT 002_RDNAP.TXT My Transform<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New"">point_id latitude longitude height x_coordinate y_coordinate height x coordinate y coordinate height<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New"">-------- --------- --------- ---------- ------------- ------------- ---------- ------------- ------------- ----------<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27494 55.812797 6.464483 425.168800 317878.638600 658759.794800 145.672100 222633.565431 870884.933093 383.755149<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27495 55.299814 6.510675 470.791500 176752.325000 310861.303600 227.283900 226438.527368 813771.108781 429.897194<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27496 51.280225 4.474798 244.634700 294571.817600 254007.429300 67.285500 91363.817760 366154.277735 199.958129<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27497 52.182009 5.896621 230.874600 160485.457200 264354.757200 -4.823400 189874.491989 466218.873201 187.566647<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27498 51.344185 7.195423 61.603000 13061.818100 821852.289400 -33.810100 281024.030900 374436.255812 15.291030<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">27499 53.651730 5.093408 451.380800 243523.431500 868519.454900 110.775700 135597.678988 629707.008204 410.362531<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<pre>I am going from WGS84 lat/long/height to the RD coordinates. My transforms are as follows:<br><span style="color:silver"> </span><span style="color:green">//</span><span style="color:silver"> </span><span style="color:green">Create</span><span style="color:silver"> </span><span style="color:green">the</span><span style="color:silver"> </span><span style="color:green">SRS</span><span style="color:silver"> </span><span style="color:green">frames</span><span style="color:silver"> </span><span style="color:green">from</span><span style="color:silver"> </span><span style="color:green">the</span><span style="color:silver"> </span><span style="color:green">WKT</span><o:p></o:p></pre>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:purple">OGRSpatialReference</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oSRC</span><span style="font-size:10.0pt;font-family:"Courier New"">;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oSRC</span><span style="font-size:10.0pt;font-family:"Courier New"">.<span style="color:#00677C">SetAxisMappingStrategy</span><span style="color:silver">
</span>(<span style="color:purple">OAMS_TRADITIONAL_GIS_ORDER</span>);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oSRC</span><span style="font-size:10.0pt;font-family:"Courier New"">.<span style="color:#00677C">SetWellKnownGeogCS</span><span style="color:silver">
</span>(<span style="color:green">"WGS84"</span>);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:purple">OGRSpatialReference</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oDST</span><span style="font-size:10.0pt;font-family:"Courier New"">;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oDST</span><span style="font-size:10.0pt;font-family:"Courier New"">.<span style="color:#00677C">SetAxisMappingStrategy</span><span style="color:silver">
</span>(<span style="color:purple">OAMS_TRADITIONAL_GIS_ORDER</span>);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#092E64">oDST</span><span style="font-size:10.0pt;font-family:"Courier New"">.<span style="color:#00677C">importFromProj4</span><span style="color:silver">
</span>(<span style="color:#092E64">“EPSG:7415”</span>);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">//</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">Set</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">the</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">transformations</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:maroon">m_g2r</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#00677C">=</span><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#00677C">OGRCreateCoordinateTransformation</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><i><span style="font-size:10.0pt;font-family:"Courier New"">(&<span style="color:#092E64">oSRC</span>,</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:silver">
</span><i><span style="font-size:10.0pt;font-family:"Courier New"">&<span style="color:#092E64">oDST</span>)</span></i><span style="font-size:10.0pt;font-family:"Courier New"">;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">===<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Shift the source lat/long/height using the horizontal shift and the geoid.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">===<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<pre><span style="color:silver"> </span><span style="color:olive">double</span><span style="color:silver"> </span><span style="color:#092E64">x</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:maroon">lon</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:olive">double</span><span style="color:silver"> </span><span style="color:#092E64">y</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:maroon">lat</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:olive">double</span><span style="color:silver"> </span><span style="color:#092E64">z</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:maroon">height</span>;<o:p></o:p></pre>
<pre style="-qt-paragraph-type:empty;-qt-block-indent:0"><o:p> </o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:green">//</span><span style="color:silver"> </span><span style="color:green">Perform</span><span style="color:silver"> </span><span style="color:green">the</span><span style="color:silver"> </span><span style="color:green">transformation</span><span style="color:silver"> </span><span style="color:green">from</span><span style="color:silver"> </span><span style="color:green">LLA</span><span style="color:silver"> </span><span style="color:green">to</span><span style="color:silver"> </span><span style="color:green">NEZ</span><o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:olive">int</span><span style="color:silver"> </span><span style="color:#092E64">ok</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:olive">false</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:olive">if</span><span style="color:silver"> </span>(<span style="color:maroon">m_g2r</span>)<span style="color:silver"> </span>{<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:#092E64">ok</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:maroon">m_g2r</span><span style="color:#00677C">->Transform</span><span style="color:silver"> </span>(<span style="color:navy">1</span>,<span style="color:silver"> </span><i>&<span style="color:#092E64">x</span></i>,<span style="color:silver"> </span><i>&<span style="color:#092E64">y</span></i>,<span style="color:silver"> </span><i>&<span style="color:#092E64">z</span></i>);<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span>}<o:p></o:p></pre>
<pre style="-qt-paragraph-type:empty;-qt-block-indent:0"><o:p> </o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:green">//</span><span style="color:silver"> </span><span style="color:green">If</span><span style="color:silver"> </span><span style="color:green">we</span><span style="color:silver"> </span><span style="color:green">fail</span><span style="color:silver"> </span><span style="color:green">then</span><span style="color:silver"> </span><span style="color:green">return</span><span style="color:silver"> </span><span style="color:green">failed</span><span style="color:silver"> </span><span style="color:green">results</span><o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:olive">if</span><span style="color:silver"> </span>(!<span style="color:#092E64">ok</span>)<span style="color:silver"> </span>{<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:#092E64">x</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:navy">0</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:#092E64">y</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:navy">0</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span><span style="color:#092E64">z</span><span style="color:silver"> </span>=<span style="color:silver"> </span><span style="color:#CE5C00">BAD_VALUE</span>;<o:p></o:p></pre>
<pre style="-qt-block-indent:0"><span style="color:silver"> </span>}<o:p></o:p></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have tried swapping lat/long and I have tried different transforms. I have even tried the variant 1 files with no luck. I think, the group that is having me look at this, has not given me all the information about the coordinate collection.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So, in summary:<o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">Does anyone have any idea about what I am doing wrong?<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">Are there any known monuments with lat/long/height and the corresponding RD coordinates that I can check against?<o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best Regards,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="font-family:"Century Gothic",sans-serif;color:black">David Fileccia</span></b><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black">Senior Systems Engineer | HEMISPHERE GNSS</span></b><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black">Office: 6860 Little Twin Road, Germantown, OH 45327, USA<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black">Corporate: 8515 E. Anderson Drive, Scottsdale, AZ 85255, USA<o:p></o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black">M:</span></b><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black"> +1 404 579 4391</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif"><a href="mailto:dfileccia@hgnss.com"><span style="color:#0563C1">dfileccia@hgnss.com</span></a><span style="color:black"> | </span></span><span lang="EN-CA"><a href="http://www.hgnss.com/"><span style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black">www.hgnss.com</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black"><img border="0" width="150" height="31" style="width:1.5625in;height:.3229in" id="Picture_x0020_3" src="cid:image001.png@01D7431D.5C411280"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Century Gothic",sans-serif;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:8.0pt;font-family:"Century Gothic",sans-serif;color:black">Disclaimer:</span></b><span lang="EN-CA" style="font-size:8.0pt;font-family:"Century Gothic",sans-serif;color:black"> This message (including
any other messages, attachments, or files within) contains information that may be confidential or privileged and is the property of Hemisphere GNSS, Inc. and its subsidiaries (‘Hemisphere’). It is intended for the person to whom it is addressed. If you are
not the intended recipient, you are not authorized to read, copy, distribute, print, retain, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. Any opinions
or views expressed within are solely those of the author and do not necessarily represent those of Hemisphere. Thank you for your cooperation.</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>