<div dir="ltr">EPSG:4326 is geographical coordinates in (some unspecified realization of) the World Geodetic System 1984 (WGS84). EPSG:31467 is GK zone 3 coordinates on the "Deutsche Hauptdreiecksnetz" (DHDN).<br><br>As these are two different systems, you need a datum shift, which you get from your proj_create_crs_to_crs call (try "projinfo -s epsg:4326 -t epsg:31467" to see what actually goes on behind the scenes).<br><br>By swapping your output system to a plain PROJ projection definition, you probably bypass the datum shift, and take the EPSG:4326 coordinates, which are defined on the GRS80-ellipsoid with a semimajor axis of 6378137 m, and drop them directly onto the somewhat smaller Bessel ellipsoid (semimajor axis = 6377397.155 m), which makes your GK coordinates nonsensical.<br><br>But since both EPSG:4326 and EPSG:31467 are 2D systems, you should probably not worry too much about your height coordinate being nonsensical, but rather that your coordinates in general are.<br><br>The proj_create_crs_to_crs call should give you the right operation. Since you apparently use the PROJ APi in your own code, why not simply add the 40 cm directly to your output coordinates?<br><br>But considering the indtermination of EPSG:4326 (multiple realizations differing by up to 2 m), it's hard to see the idea of adding 40 cm: Your overall accuracy is much worse than that.<br><br>Probably, your client knows what they actually mean by EPSG:4326, and you will be able to construct a sufficient transformation somehow - but you need to be careful and have a good set of control points for checking.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Den ons. 1. dec. 2021 kl. 09.54 skrev Kilian Demeulemeester <<a href="mailto:kilian.demeulemeester@yellowscan-lidar.com">kilian.demeulemeester@yellowscan-lidar.com</a>>:<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><font face="monospace">Hi!</font></p> 
  <p><font face="monospace">Our client is willing to generate his data in EPSG:31467 but he wants to translate +40cm on the y axis. <br> </font></p> 
  <p><font face="monospace">So I figured out that I would use the corresponding PROJ.4 "</font><font face="monospace"><font face="monospace"><code>+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs +type=crs" </code></font>code and modify the y_0=0 with a y_0=0.4<br> </font></p> 
  <p><font face="monospace">1. Data are originally expressed in EPSG:4326</font></p> 
  <p><font face="monospace">2. Using the EPSG code: via proj API, I transform the data via proj_create_crs_to_crs(..., "EPSG:4326", "EPSG:31497")</font></p> 
  <p><font face="monospace">3. Now, if I replace the "EPSG:31467" with "<code>+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs +type=crs", (the corresponding proj line), the data are z-offsetted by approx 1000m<br> </code></font></p> 
  <p><code>I know that for some CRS, the PROJ.4 is not enough to generate the correct coordinates. Is that the case for this transformation? <br> </code></p> 
  <p><code>Ultimately, is there a something (+proj=pipeline ?) that I could use that would transform my data from EPSG:4326 to EPSG:31497 with a translation of +40cm on the y axis?</code></p> 
  <p><code>Thank you all!</code></p> 
  <p><code>Kilian<br> </code></p> 
  <p><font face="monospace"><br> </font></p>   
  <div>   
   <table style="font:13px/16px Arial,Helvetica,sans-serif;height:156px;width:446px;color:black" width="450"> 
    <tbody> 
     <tr> 
      <td style="border-bottom:3px solid rgb(249,178,0);height:60px;width:442px;vertical-align:bottom" colspan="2"> <p style="text-align:left"><strong style="font-size:15px">Kilian Demeulemeester<em></em></strong><br>Software Project Lead - R&D</p> </td> 
     </tr> 
     <tr> 
      <td style="padding:0px;width:168.367px;vertical-align:top"> <p><a href="https://yellowscan-lidar.com" target="_blank"><img src="cid:17d75d7582d1e6cc4bd1" alt="logo_Yellowscan" width="168" height="41"></a></p> </td> 
      <td style="padding:0px;width:274.633px;vertical-align:top"> <p style="text-align:right">525 Avenue Saint Sauveur du Pin<br>34980 Saint-Clément-De-Rivière - France<br>Tel: +33 (0)4 11 93 14 06<br><a style="color:rgb(233,149,0);text-decoration:none;font-size:15px;font-weight:bold" href="https://yellowscan-lidar.com" target="_blank"><span style="color:rgb(233,149,0)">yellowscan-lidar.com</span></a></p> </td> 
     </tr> 
    </tbody> 
   </table> 
   <table style="border-collapse:collapse;width:450px"> 
    <tbody> 
     <tr> 
      <td style="text-align:center"><a title="Learn more and join us for a demo day!" href="https://www.yellowscan-lidar.com/events/category/demo-days/?utm_source=email_signature&utm_medium=email&utm_campaign=demodays_banner" target="_blank"><img style="float: left;" src="https://www.yellowscan-lidar.com/wp-content/uploads/2021/04/YS-email-banner-demo-days.jpg" alt="" width="443" height="80"></a></td> 
     </tr> 
    </tbody> 
   </table>  
  </div>
 </div>
_______________________________________________<br>
PROJ mailing list<br>
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a><br>
</blockquote></div>