<div dir="ltr">Jochem,<br><br>No wonder you find WKT representation of CRS annoying: The entire abstract model<div>behind the ISO/OGC standards "Referencing by Coordinates" [1] and "WKT of CRS" [2]</div><div>is slightly, but fundamentally flawed, and we need to work towards repairing that in the</div><div>next standard revision cycle: Last revision, 2019, was a huge improvement,</div><div>but we're not there yet.<div><br>Geodetically speaking, the entire concept of a CRS is meaningless!<br><br>The ISO/OGC "CRS" concept is an unholy mess of a combination between a reference</div><div>frame and a derivation, with enough internal state ("definition") to allow software to</div><div>*derive* a transformation between any two CRS's, given their internal state.<br><br>But reference frames are empirical contraptions - they do not have any formal</div><div>definition: The reference SYSTEM behind the reference frame may have a</div><div>formal definition, such as [3] for the ITRS, but you cannot refer geodetic coordinates</div><div>to a purely conceptual system, only to a  materially realized frame.<br><br>I addressed this in a recent presentation [4] at the 2022 general assembly of</div><div>the Nordic Geodetic Commission [5]<br><br>Geodetically speaking, what may pass as a CRS is simply a label: The geodetically</div><div>meaningful items are the transformations - the CRS's are just labels, allowing us to</div><div>identify the two coordinate systems the transformation transforms between.<br><br>To facilitate experiments toward a geodetically more realistic abstract model, I am</div><div>working on "Rust Geodesy" [6], a platform for experimentation with alternatives to</div><div>the current state of affairs in the ISO/OGC world (and more, cf. [7] and [8]).</div><div>Hope you will take a look at it and consider contributing to the work toward a</div><div>geodetically viable abstract model: We need it badly!<br><br>Your basic question: "Can you recommend a way to get started with understanding WKT?"</div><div>can, unfortunately only be answered with a "no", as CRS's are fundamentally meaningless,</div><div>while transformations are real. So no wonder you find PROJ pipelines a more safe ground</div><div>than WKT representations of CRS's. While you may be able to construct a WKT that in most</div><div>cases tricks PROJ into doing the right thing, formally this is entrirely a coincidence:</div><div>CRS's are not geodetically meaningful.<br><br>Unfortunately, in contrast to the strict standardized terminology of geoinformatics,</div><div>geodetic terminology is sloppy, so the entire subject is hard to discuss. We need</div><div>to make geodetic terminology more strict, while making the ISO/OGC abstract</div><div>model more geodetically realistic, leaving definitions to that which can be defined,</div><div>and focusing on transformations, rather than CRS's.<br><br>/Thomas<br><br>[1] Referencing by Coordinates, <a href="http://docs.opengeospatial.org/as/18-005r4/18-005r4.html">http://docs.opengeospatial.org/as/18-005r4/18-005r4.html</a> (also published as ISO 19111)<br>[2] WKT of CRS, <a href="http://docs.opengeospatial.org/is/18-010r7/18-010r7.html">http://docs.opengeospatial.org/is/18-010r7/18-010r7.html</a> (also published as ISO 19162)<br>[3] IERS Conventions (2010), <a href="https://www.iers.org/IERS/EN/Publications/TechnicalNotes/tn36.html">https://www.iers.org/IERS/EN/Publications/TechnicalNotes/tn36.html</a> (especially chapter 4)<br>[4] Thomas Knudsen: What is a CRS really? A geodetic view of the ISO/OGC geospatial data model: Broken, but not beyond repair, <a href="https://www.nordicgeodeticcommission.com/wp-content/uploads/2022/09/5-What-is-a-CRS-really-A-geodetic-view-of-the-ISOOGC-geospatial-data-model-Broken-but-not-beyond-repair.pdf">https://www.nordicgeodeticcommission.com/wp-content/uploads/2022/09/5-What-is-a-CRS-really-A-geodetic-view-of-the-ISOOGC-geospatial-data-model-Broken-but-not-beyond-repair.pdf</a><br>[5] NKG General Assembly 2022, Copenhagen, <a href="https://www.nordicgeodeticcommission.com/general-assemblygeneral/copenhagen-denmark-2022/">https://www.nordicgeodeticcommission.com/general-assemblygeneral/copenhagen-denmark-2022/</a><br>[6] Rust Geodesy, <a href="https://github.com/busstoptaktik/geodesy#readme">https://github.com/busstoptaktik/geodesy#readme</a><br>[7] Why Rust Geodesy - some background, <a href="https://github.com/busstoptaktik/geodesy/blob/main/ruminations/004-rumination.md">https://github.com/busstoptaktik/geodesy/blob/main/ruminations/004-rumination.md</a><br>[8] Overall architecture and philosophy, <a href="https://github.com/busstoptaktik/geodesy/blob/main/ruminations/000-rumination.md">https://github.com/busstoptaktik/geodesy/blob/main/ruminations/000-rumination.md</a><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Den man. 5. dec. 2022 kl. 13.46 skrev Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.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>Jochem,</p>
    <p>Is "read the spec", the answer you expected ;-) ? I'm afraid
      that's the best I have:
      <a href="http://docs.opengeospatial.org/is/18-010r7/18-010r7.html" target="_blank">http://docs.opengeospatial.org/is/18-010r7/18-010r7.html</a></p>
    <p>Regarding indentation, don't worry about that. Write your WKT as
      you can in a file and then use "projinfo @your.wkt", and it will
      return a nicely reformatted string. But you need to get brackets
      right, otherwise the parser will be lost.<br>
    </p>
    <p>You may also try the PROJJSON encoding as an input and feed it to
      "projinfo @your.json" and it will return a WKT, but I'm not sure
      it will help you, as it is more oriented to be machine friendly.<br>
    </p>
    <p>For CRS definitions themselves, it is unlikely you can use the
      transformation constructs if you intend to have your CRS in EPSG.
      ABRIDGEDTRANSFORMATION is only for BoundCRS, and they are none of
      them in EPSG. GEOGTRAN is a Esri WKT specific thing.
      COORDINATETRANSFORMATION is for a standalone
      CoordinateTransformation object</p>
    <p>If your ultimate goal is to provide CRS and coordinate
      transformations to EPSG, then you don't need to create WKT. Go to
      <a href="https://epsg.org/dataset-change-requests.html" target="_blank">https://epsg.org/dataset-change-requests.html</a> and click on the
      "Template for data submission" link at the right of the page, and
      you'll get an Excel spreadsheet where you'll get a form with the
      decomposition of the objects.</p>
    <p>Even<br>
    </p>
    <div>Le 05/12/2022 à 13:03, Lesparre, Jochem
      via PROJ a écrit :<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div>
        <p class="MsoNormal">Dear PROJ maillist,<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal"><span lang="EN-GB">At a the national
            mapping agency of the Netherlands we are responsible for
            defining the CRS of European Netherlands and the 3 islands
            of the Caribbean Netherlands. We are working on
            standardising the official transformations so these can be
            added to EPSG and the transformations become available in
            PROJ and other software. To perform transformations ourself,
            we create cct pipelines. I love the power cct pipelines.
            Unfortunately, other applications often expect a WKT string.
            For the transformations we added to EPSG, I can copy-paste
            the WKT from <a href="http://epsg.org" target="_blank">epsg.org</a>. To experiment with a custom CRS, I
            sometimes try to create my own WKT strings. However, these
            attempts are not very successful for two reasons.
            <u></u><u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB">Firstly, it takes an
            annoying lot of effort get the code indented to make it
            readable (the indent plugin in notepad++ only works after
            using search and replace to add line breaks) and to keep the
            brackets right for valid WKT while editing, before I can
            even start to experiment with the rest of the syntax.
            <i>Can you recommend a way to make creating WKT easier?</i>
            <u></u><u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB">Secondly, I am quite
            confused by the different WKT examples that I find. Some
            seem to use different ways to define transformations in WKT
            (e.g. ABRIDGEDTRANSFORMATION, GEOGTRAN,
            COORDINATEOPERATION).
            <i>Can you recommend a way to get started with understanding
              WKT?</i> As a geodesist, I am familiar with transformation
            methods, so I only need information on how to translate
            between this theory and WKT.<u></u><u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span lang="EN-GB">Kind regards, Jochem<u></u><u></u></span></p>
      </div>
      <br>
      <br>
      <font size="2">Disclaimer:<br>
        De inhoud van deze e-mail is vertrouwelijk en uitsluitend
        bestemd voor de geadresseerde(n).<br>
        Gebruik, openbaarmaking, vermenigvuldiging, verspreiding en/of
        verstrekking van deze informatie aan derden is niet toegestaan.<br>
        Op al onze producten en diensten zijn onze algemene
        leveringsvoorwaarden van toepassing<br>
        [<a href="https://www.kadaster.nl/algemene-leveringsvoorwaarden" target="_blank">https://www.kadaster.nl/algemene-leveringsvoorwaarden</a>].<br>
        <br>
        Disclaimer:<br>
        This email and any files transmitted with it are confidential
        and intended solely for the use of the individual or entity to
        whom they are addressed.<br>
        If you are not the intended recipient, you are notified that
        disclosing, copying, distributing or taking any action in
        reliance on the contents of this information is strictly
        prohibited.<br>
        Our general terms and conditions of delivery apply to all our
        products and services<br>
        [<a href="https://www.kadaster.com/general-terms-and-conditions" target="_blank">https://www.kadaster.com/general-terms-and-conditions</a>]. <br>
      </font>
      <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>

_______________________________________________<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>