<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <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" 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>
    <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>
  </body>
</html>