<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Javier,</p>
    <p>you can probably hack around BOUNDCRS in a totally PROJ-specific
      way by using the "METHOD["PROJ-based operation method:
      {proj_pipeline_here}" <br>
    </p>
    <p>For example with the following file, 'projinfo -s @/tmp/tmp.wkt
      -t "WGS 84"' will return the specified pipeline<br>
    </p>
    <p>BOUNDCRS[<br>
          SOURCECRS[<br>
              GEOGCRS["unknown",<br>
                  DATUM["Unknown based on GRS 1980 ellipsoid",<br>
                      ELLIPSOID["GRS 1980",6378137,298.257222101,<br>
                          LENGTHUNIT["metre",1]]],<br>
                  PRIMEM["Greenwich",0,<br>
                      ANGLEUNIT["degree",0.0174532925199433],<br>
                      ID["EPSG",8901]],<br>
                  CS[ellipsoidal,2],<br>
                      AXIS["longitude",east,<br>
                          ORDER[1],<br>
                          ANGLEUNIT["degree",0.0174532925199433,<br>
                              ID["EPSG",9122]]],<br>
                      AXIS["latitude",north,<br>
                          ORDER[2],<br>
                          ANGLEUNIT["degree",0.0174532925199433,<br>
                              ID["EPSG",9122]]]]],<br>
          TARGETCRS[<br>
              GEOGCRS["WGS 84",<br>
                  DATUM["World Geodetic System 1984",<br>
                      ELLIPSOID["WGS 84",6378137,298.257223563,<br>
                          LENGTHUNIT["metre",1]]],<br>
                  PRIMEM["Greenwich",0,<br>
                      ANGLEUNIT["degree",0.0174532925199433]],<br>
                  CS[ellipsoidal,2],<br>
                      AXIS["latitude",north,<br>
                          ORDER[1],<br>
                          ANGLEUNIT["degree",0.0174532925199433]],<br>
                      AXIS["longitude",east,<br>
                          ORDER[2],<br>
                          ANGLEUNIT["degree",0.0174532925199433]],<br>
                  ID["EPSG",4326]]],<br>
          ABRIDGEDTRANSFORMATION["Transformation from unknown to WGS84",<br>
              METHOD["PROJ-based operation method: +proj=pipeline +step
      +proj=axisswap +order=2,1 +step +proj=cart +ellps=GRS80 +step
      +proj=helmert +x=1 +step +inv +proj=cart +ellps=WGS84"]]]<br>
      <br>
    </p>
    <p>Otherwise having records in the DB will certainly be cleaner. 
      data/sql/transformations_czechia_extra.sql can probably be used as
      an example of quite advanced transformations, including using a
      grid referenced in a projected CRS.</p>
    <p>Even<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Le 03/02/2025 à 16:26, Javier Jimenez
      Shaw via PROJ a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CADRrdKt38xtsaDXaKYcj2NtHQuBRQ3u5HJKiQMMd9ubzM0-wig@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Hi</div>
        <div><br>
        </div>
        <div>I am trying to make this transformation (that is not in
          EPGS). I do not know how far I can go with PROJ.</div>
        <div><br>
        </div>
        <div>(Apparently this transformation is needed to go from the
          coordinates used by HEPOS.gr, the Greek positioning system, to
          the official -I think- CRS in Greece, <span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">GGRS87</span>.</div>
        <div>The best is that the transformation would be in EPSG. Do
          you know anybody in Greece with the proper contacts? I am
          happy to talk with them about it, and help if needed)</div>
        <div><br>
        </div>
        <div>Until it is in EPSG, I would like to use PROJ to do it.<br>
        </div>
        <div><br>
        </div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">The
            accurate transformation from ETRS89  to GGRS87 is something
            like:</span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            apply a Helmert transformation</span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            Project into a transverse Mercator</span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            Apply a correction grid. Yes, in the projected system.<br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            (optional) go back from the projected to the geographic crs.</span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">I
            thought about several options:<br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            First option: create a WKT2 with a BOUNDCRS that defines the
            transformation. Can it be done in a single WKT2?<br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            Second option: add the transformation to proj.db. Is it
            doable?<br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">-
            Third option: Create "my own grid" file (in the geographic
            system) combining all the steps. Of course, it will loose
            some accuracy due to the new grid interpolation.<br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br>
          </span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">Any
            clue?</span></div>
        <div><span
style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">Thanks.<br>
          </span></div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
PROJ mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PROJ@lists.osgeo.org">PROJ@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/proj">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>