<div dir="ltr"><div dir="ltr"><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 21 Oct 2021 at 21:14, Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p><br>
    </p>
    <div>Le 21/10/2021 à 20:53, Javier Jimenez
      Shaw a écrit :<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Hi</div>
        <div><br>
        </div>
        <div>There is currently a method</div>
        <div><br>
        </div>
        <div><span style="font-family:monospace">CRSNNPtr
            CRS::promoteTo3D(const std::string &newName,<br>
                                      const io::DatabaseContextPtr
            &dbContext) const</span></div>
        <div><br>
        </div>
        <div>that adds vertical axis in Meters (if there is no one
          there, etc).</div>
        <div><br>
        </div>
        <div>Sometimes (when working with CRS from USA), I need the
          vertical one in ft or ftUS.</div>
      </div>
    </blockquote>
    promoteTo3D() will create a Geographic3D CRS or a Projected 3D CRS,
    ie with ellipsoidal heights, not orthometric height. Are ellipsoidal
    heights in ft/ftUS really what you need ?<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>There is another function</div>
        <div><span style="font-family:monospace">CRSNNPtr
            CRS::promoteTo3D(const std::string &newName,<br>
                                      const io::DatabaseContextPtr
            &dbContext,<br>
                                      const
            cs::CoordinateSystemAxisNNPtr<br>
                                         
            &verticalAxisIfNotAlreadyPresent) const</span></div>
        <div><br>
        </div>
        <div>but it is "PROJ_INTERNAL" (whatever it means)</div>
      </div>
    </blockquote>
    Just that it restricts a method from being exported in a class that
    is exported. I tend to be conservative of what I expose in the API
    if I'm not sure it will be needed by external users.<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Would it make sense to have a function (or overload) that
          specifies the unit?</div>
      </div>
    </blockquote>
    <p>If that's the function you need, just removing PROJ_INTERNAL,
      moving it in the public part and adding doc should be enough.</p>
    <p>The CRS::alterCSLinearUnit() method could also be useful.<br></p></div></blockquote><div>Thanks. alterCSLinearUnit() seems to be a good option.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Thanks.<br>
        </div>
        <br>
        <div>
          <div>
            <div dir="ltr">.___ ._ ..._ .. . ._. 
              .___ .. __ . _. . __..  ... .... ._ .__<br>
              Entre dos pensamientos racionales <br>
              hay infinitos pensamientos irracionales.<br>
              <br>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
PROJ mailing list
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
    </blockquote>
    <pre cols="72">-- 
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </div>

</blockquote></div></div>