<div dir="ltr">Hello, <div>We want to use Proj to transform from EPSG:4979 to EPSG:5513+5705 (Krovak S-JTSK + Baltic height). The CZ government has published how to go from ETRF2000 (which I believe Proj approximates with WGS84) to S-JTSK with centimeter accuracy <a href="https://www.cuzk.cz/Zememerictvi/Geodeticke-zaklady-na-uzemi-CR/GNSS/Nova-realizace-systemu-ETRS89-v-CR.aspx">here</a> (<a href="https://www-cuzk-cz.translate.goog/Zememerictvi/Geodeticke-zaklady-na-uzemi-CR/GNSS/Nova-realizace-systemu-ETRS89-v-CR.aspx?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp">English</a>). We can observe that Proj does not apply any grid shift files and relies on a helmert transform and Krovak projection only:</div><div>$ <span style="color:rgb(0,0,0);font-family:monospace">OSGeo/PROJ/build/bin/projinfo -s EPSG:4979 -t EPSG:5513+5705 -o </span><span style="font-family:monospace">PROJ</span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">...</span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">PROJ string:
</span><br>+proj=pipeline
<br>  +step +proj=axisswap +order=2,1
<br>  +step +proj=unitconvert +xy_in=deg +xy_out=rad
<br>  +step +proj=push +v_3
<br>  +step +proj=cart +ellps=WGS84
<br>  +step +inv +proj=helmert +x=589 +y=76 +z=480
<br>  +step +inv +proj=cart +ellps=bessel
<br>  +step +proj=pop +v_3
<br>  +step +proj=krovak +axis=swu +lat_0=49.5 +lon_0=24.8333333333333
<br>        +alpha=30.2881397527778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel<br></span></div><div><br></div><div>The PDF from the CZ gov't suggests that after the Krovak coordinate operation, the horizontal grid shift from the provided file be applied in this projected frame.<br></div><div><br></div><div>First question: </div><div>Does Proj support this local coordinate grid shift? Looking through the documentation, the shift you can get with `xyzgridshift` expects geocentric coordinates, so it isn't appropriate here I think. `hgridshift` expects geodetic coordinates (lat/lon), so it isn't appropriate either.</div><div><br></div><div>Second question:</div><div>The Czech Technical University in Prague has a page about using Proj to transform to/from S-JTSK <a href="http://freegis.fsv.cvut.cz/gwiki/S-JTSK_/_Grid">here</a> (<a href="https://freegis-fsv-cvut-cz.translate.goog/gwiki/S-JTSK_/_Grid?_x_tr_sch=http&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp">English</a>). It suggests using grid shift files from some CZ researchers with the old `nadgrids` and `geoidgrids` paradigm. We can confirm that this leads to sub-10cm accuracy. Is there anything wrong with going with this method, and would Proj accept a PR for adding these grid shift files to get the better accuracy?</div><div><br></div><div>Thanks for reading, and thanks for any advice you can offer.</div><div>Sincerely,</div><div>Erixen Cruz</div><div>3D Software Developer, <a href="https://cesium.com/">Cesium</a></div><div><a href="mailto:erixen@cesium.com">erixen@cesium.com</a></div></div>