<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>