<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
The following have worked for me in the past with PDAL 2.3.0, GDAL
3.4, Proj 8.2.0 (although I have edited it since I was going from
EPSG:6344+5703 to EPSG:4326 at the time):<br>
<br>
--filter filters.reprojection
--filters.reprojection.out_srs="EPSG:32610"<br>
<br>
or<br>
<br>
--filter filters.reprojection
--filters.reprojection.in_srs="+init=epsg:6350
+geoidgrids=us_noaa_g2018u0.tif"
--filters.reprojection.out_srs="+init=epsg:32610"<br>
<br>
or<br>
<br>
--filter filters.reprojection
--filters.reprojection.in_srs="+init=epsg:6350
+geoidgrids=us_noaa_g2012bu0.tif"
--filters.reprojection.out_srs="+init=epsg:32610"<br>
<br>
All three shifted the data about 28m "lower" in Z (in Minnesota).<br>
<br>
<div class="moz-cite-prefix">On 7/12/22 16:12, Nicholas Stanley
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:daf7c277-bb2c-a4ea-3af3-30f0a31e1aa1@luminartech.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Thanks,<br>
<br>
Yes, that was an oversight in respect to the +4326 - thanks.<br>
<br>
To reiterate:<br>
<br>
I am trying to get the <i>NAD83(2011) / Conus Albers + NAVD88
height</i> data <b>out</b> of its native elevation model,
converted <b>into</b> a wgs84 EPSG 32610 ellipsoidal
projection.<br>
<br>
When I run the conversion command <i><span style="color:
rgb(29, 28, 29); font-family: Slack-Lato, Slack-Fractions,
appleLogo, sans-serif; font-size: 15px;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255); text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"> //pdal
translate filename.laz filename_utm.laz reprojection
--filters.reprojection.out_srs="EPSG:32610"//<br>
<br>
</span></i>The resulting file lines up in Easting/Northing
precisely, but seems to have retained the old elevation data
(which is ~30M+ above our UTM10 WGS84 "Ground Truth")<br>
<br>
</p>
<div class="moz-cite-prefix">On 7/12/22 14:03, Jim Klassen wrote:<br>
</div>
<blockquote type="cite"
cite="mid:58fcd96b-800b-9f6b-4d55-760190dd4b51@gmail.com">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<br>
<br>
<div class="moz-cite-prefix">On 7/12/22 15:41, Nicholas Stanley
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:5edd3470-3ceb-dbb9-eea7-9ad50bd74306@luminartech.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<p> </p>
<div class="moz-forward-container">
<p>Greetings,<br>
<br>
My goal is to reproject/align a third party GRS80 point
cloud data source to an existing UTM10 WGS84 (EPSG 32610)
georeferenced point cloud file/"ground truth".<br>
<br>
Running Lasinfo on the third party data source (to be
corrected/reprojected/aligned to Ground Truth) shows the
following:<br>
<br>
<br>
<i>// 'OGC Transformation Record'</i><i><br>
</i><i> WKT OGC COORDINATE SYSTEM:</i><i><br>
</i><i> COMPD_CS["NAD83(2011) / Conus Albers + NAVD88
height",PROJCS["NAD83(2011) / Conus
Albers",GEOGCS["NAD83(2011)",DATUM["NAD83 (National
Spatial Reference System 2011)",SPHEROID["GRS
1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","1116"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","6318"]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_center",23],PARAMETER["longitude_of_center",-96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["meter",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","6350"]],VERT_CS["NAVD88
height",VERT_DATUM["North American Vertical Datum
1988",2005,AUTHORITY["EPSG","5103"]],UNIT["meter",1,AUTHORITY["EPSG","9001"]],AXIS["Up",UP],AUTHORITY["EPSG","5703"]]]
//</i><br>
<br>
<br>
I am able to successfully reproject the file in PDAL so
that the relative 2D alignment in Easting/Northing is
corrected - using a command like this:<br>
<br>
<i><span style="color: rgb(29, 28, 29); font-family:
Slack-Lato, Slack-Fractions, appleLogo, sans-serif;
font-size: 15px; font-variant-ligatures:
common-ligatures; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; text-align:
left; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color:
rgb(255, 255, 255); text-decoration-thickness:
initial; text-decoration-style: initial;
text-decoration-color: initial; display: inline
!important; float: none;">
//pdal translate filename.laz filename_utm.laz
reprojection
--filters.reprojection.out_srs="EPSG:32610"//</span></i><br>
<br>
<br>
<b>Reviewing the output, this shows proper 2D Grid
alignment between ground truth and third party data, but
a delta of ~30M in elevation between the ground planes.
</b><b>This needs to be rectified.<br>
</b></p>
<b>I've recently found this site describing a process to
reproject a .las file in respect to various vertical
datums.</b><br>
<p> <br>
<a moz-do-not-send="true"
href="http://www.gadom.ski/2017/05/31/vdatum-with-pdal.html"
class="moz-txt-link-freetext">http://www.gadom.ski/2017/05/31/vdatum-with-pdal.html</a><br>
<br>
<i><span style="color: rgb(17, 17, 17); font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);
text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">//In
order to use<span> </span></span></i><i><a
href="https://www.pdal.io/" style="color: rgb(42, 122,
226); text-decoration: none; font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);"
moz-do-not-send="true">PDAL</a></i><i><span
style="color: rgb(17, 17, 17); font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);
text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"><span> </span>to
convert vertical coordinates to a new vertical datum,
we’ll need to fetch the appropriate geoid. PDAL uses<span> </span></span></i><i><a
href="http://proj4.org/" style="color: rgb(42, 122,
226); text-decoration: none; font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);"
moz-do-not-send="true">proj.4</a></i><i><span
style="color: rgb(17, 17, 17); font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);
text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"><span> </span>under
the hood, and proj.4 accepts geoid’s in NOAA VDatum’s<span> </span></span></i><i><code
class="language-plaintext highlighter-rouge"
style="font-size: 15px; border: 1px solid rgb(232,
232, 232); border-radius: 3px; background-color:
rgb(238, 238, 255); padding: 1px 5px; color: rgb(17,
17, 17); font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial;">gtx</code></i><i><span style="color: rgb(17,
17, 17); font-family: -apple-system,
BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color
Emoji", "Segoe UI Emoji", "Segoe
UI Symbol"; font-size: 16px;
font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color:
rgb(253, 253, 253); text-decoration-thickness:
initial; text-decoration-style: initial;
text-decoration-color: initial; display: inline
!important; float: none;"><span> </span>file format.
We can fetch the 12B geoid from the<span> </span></span></i><i><a
href="https://vdatum.noaa.gov/download.php"
style="color: rgb(42, 122, 226); text-decoration:
none; font-family: -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, Helvetica, Arial,
sans-serif, "Apple Color Emoji", "Segoe
UI Emoji", "Segoe UI Symbol";
font-size: 16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);"
moz-do-not-send="true">VDatum download website</a></i><i><span
style="color: rgb(17, 17, 17); font-family:
-apple-system, BlinkMacSystemFont, "Segoe
UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol"; font-size:
16px; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(253, 253, 253);
text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">.
Inside the 12B zipfile there is a file called<span> </span></span></i><i><code
class="language-plaintext highlighter-rouge"
style="font-size: 15px; border: 1px solid rgb(232,
232, 232); border-radius: 3px; background-color:
rgb(238, 238, 255); padding: 1px 5px; color: rgb(17,
17, 17); font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial;">g2012b_conus.gtx</code></i><span
style="color: rgb(17, 17, 17); font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, sans-serif, "Apple Color
Emoji", "Segoe UI Emoji", "Segoe UI
Symbol"; font-size: 16px; font-style: normal;
font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal;
orphans: 2; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(253, 253, 253);
text-decoration-thickness: initial;
text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"><i>;
this is the geoid for the Continental United States
(CONUS). We’ll use this file to convert our data.//</i><br>
<br>
<br>
</span>I've downloaded the VDatum collection as stated -
That said, I've been unable to get the process to work
properly.<br>
<br>
<i>//pdal translate filename.laz filename_utm.laz
reprojection
--filters.reprojection.out_srs="+init=EPSG:32610
+geoidgrids=~/Downloads/vdatum/g2012b_conus.gtx"
--writers.las.a_srs=EPSG:32610+4326</i><i><br>
</i><i>(pdal translate Error) GDAL failure (1)
SetCompoundCS() fails, vertical component is not
VERT_CS.</i><i><br>
</i><i>(pdal translate writers.las Error) GDAL failure (1)
PROJ: proj_crs_get_coordinate_system: Object is not a
SingleCRS//</i><br>
<br>
<br>
Does anyone have any Tips/Pointers as to how to
resolve/debug this issue? <br>
<br>
Thanks.</p>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
pdal mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:pdal@lists.osgeo.org" moz-do-not-send="true">pdal@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/pdal" moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/pdal</a>
</pre>
</blockquote>
<br>
<br>
--writers.las.a_srs=EPSG:32610+4326<br>
<br>
There may be more going on here, but "+4326" is likely not
correct. You need a vert_cs, something like 5703, there. 4326
is a horizontal CS. I'm not sure if there is a way to
explicitly state you want ellipsoid heights. In my experience
that's the default if a separate vertical component isn't given.<i><br>
<br>
</i>Also if you have recent PDAL built against recent PROJ (6+)
you probably want to pull the TIFF files from cdn.proj.org
(instead of gtx) for the vertical datum conversion.<i><br>
<br>
</i><br>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
pdal mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:pdal@lists.osgeo.org" moz-do-not-send="true">pdal@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/pdal" moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/pdal</a>
</pre>
</blockquote>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
pdal mailing list
<a class="moz-txt-link-abbreviated" href="mailto:pdal@lists.osgeo.org">pdal@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/pdal">https://lists.osgeo.org/mailman/listinfo/pdal</a>
</pre>
</blockquote>
<br>
</body>
</html>