<div dir="ltr"><div>Continuing with the tests, I see that the axis ordering is also ignored.</div><div>If I just modify EPSG:6507 to be northing-easting, I see that the output is swapped:</div><div><br></div><div><span style="font-family:monospace">cat ne.wkt</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">PROJCRS["NAD83(2011) / Mississippi East (ftUS)",<br>    BASEGEOGCRS["NAD83(2011)",<br>        DATUM["NAD83 (National Spatial Reference System 2011)",<br>            ELLIPSOID["GRS 1980",6378137,298.257222101,<br>                LENGTHUNIT["metre",1]]],<br>        PRIMEM["Greenwich",0,<br>            ANGLEUNIT["degree",0.0174532925199433]],<br>        ID["EPSG",6318]],<br>    CONVERSION["SPCS83 Mississippi East zone (US Survey feet)",<br>        METHOD["Transverse Mercator",<br>            ID["EPSG",9807]],<br>        PARAMETER["Latitude of natural origin",29.5,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8801]],<br>        PARAMETER["Longitude of natural origin",-88.8333333333333,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8802]],<br>        PARAMETER["Scale factor at natural origin",0.99995,<br>            SCALEUNIT["unity",1],<br>            ID["EPSG",8805]],<br>        PARAMETER["False easting",984250,<br>            LENGTHUNIT["US survey foot",0.304800609601219],<br>            ID["EPSG",8806]],<br>        PARAMETER["False northing",0,<br>            LENGTHUNIT["US survey foot",0.304800609601219],<br>            ID["EPSG",8807]]],<br>    CS[Cartesian,2],<br>        AXIS["northing (Y)",north,<br>            ORDER[1],<br>            LENGTHUNIT["US survey foot",0.304800609601219]],<br>        AXIS["easting (X)",east,<br>            ORDER[2],<br>            LENGTHUNIT["US survey foot",0.304800609601219]],<br>    USAGE[<br>        SCOPE["Engineering survey, topographic mapping."],<br>        AREA["United States (USA) - Mississippi - counties of Alcorn; Attala; Benton; Calhoun; Chickasaw; Choctaw; Clarke; Clay; Covington; Forrest; George; Greene; Hancock; Harrison; Itawamba; Jackson; Jasper; Jones; Kemper; Lafayette; Lamar; Lauderdale; Leake; Lee; Lowndes; Marshall; Monroe; Neshoba; Newton; Noxubee; Oktibbeha; Pearl River; Perry; Pontotoc; Prentiss; Scott; Smith; Stone; Tippah; Tishomingo; Union; Wayne; Webster; Winston."],<br>        BBOX[30.01,-89.97,35.01,-88.09]]]</span></div><div><br></div><div><span style="font-family:monospace">$ echo 29 -88 0 | cs2cs EPSG:6318 EPSG:6507<br>1250642.38    -180875.29 0.00<br>$ echo 29 -88 0 | cs2cs EPSG:6318 "$(cat ne.wkt)"<br>-180875.29        1250642.38 0.00</span><br></div><div><div><div dir="ltr" data-smartmail="gmail_signature"><br></div><div data-smartmail="gmail_signature">However, If I swap the axes of the derived crs wtk2 string, the values are not swapped (not added here for brevity).</div><div data-smartmail="gmail_signature"><br></div><div data-smartmail="gmail_signature">It looks like the whole info about the CS in the derived CRS (units and order of the axis) is ignored.<br></div><div data-smartmail="gmail_signature"><br></div><div dir="ltr" data-smartmail="gmail_signature">.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__<br>Entre dos pensamientos racionales <br>hay infinitos pensamientos irracionales.<br><br></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 3 Aug 2022 at 19:52, Javier Jimenez Shaw <<a href="mailto:j1@jimenezshaw.com" target="_blank">j1@jimenezshaw.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 dir="ltr"><div>Hi</div><div><br></div><div>I am trying to make a derived projected CRS... in feet.</div><div>The conversion method is a "PROJ-based operation method" with an affine transformation (simplified here with just xoff of 20 feet).</div><div><a href="https://proj.org/operations/transformations/affine.html" target="_blank">https://proj.org/operations/transformations/affine.html</a></div><div><br></div><div>The derived system is something like this (my data is 3D, but in 2D is also reproduced):</div><div><br></div><div><span style="font-family:monospace">$ cat derived.wkt</span></div><div><br></div><div><span style="font-family:monospace">DERIVEDPROJCRS["Custom Site Calibrated CRS",<br>    BASEPROJCRS["NAD83(2011) / Mississippi East (ftUS)",<br>        BASEGEOGCRS["NAD83(2011)",<br>            DATUM["NAD83 (National Spatial Reference System 2011)",<br>                ELLIPSOID["GRS 1980",6378137,298.257222101,<br>                    LENGTHUNIT["metre",1]]],<br>            PRIMEM["Greenwich",0,<br>                ANGLEUNIT["degree",0.0174532925199433]]],<br>        CONVERSION["SPCS83 Mississippi East zone (US Survey feet)",<br>            METHOD["Transverse Mercator",<br>                ID["EPSG",9807]],<br>            PARAMETER["Latitude of natural origin",29.5,<br>                ANGLEUNIT["degree",0.0174532925199433],<br>                ID["EPSG",8801]],<br>            PARAMETER["Longitude of natural origin",-88.8333333333333,<br>                ANGLEUNIT["degree",0.0174532925199433],<br>                ID["EPSG",8802]],<br>            PARAMETER["Scale factor at natural origin",0.99995,<br>                SCALEUNIT["unity",1],<br>                ID["EPSG",8805]],<br>            PARAMETER["False easting",984250,<br>                LENGTHUNIT["US survey foot",0.304800609601219],<br>                ID["EPSG",8806]],<br>            PARAMETER["False northing",0,<br>                LENGTHUNIT["US survey foot",0.304800609601219],<br>                ID["EPSG",8807]]]],<br>    DERIVINGCONVERSION["Affine transformation as PROJ-based",<br>        METHOD["PROJ-based operation method: +proj=pipeline +step +proj=affine +xoff=20"]],<br>    CS[Cartesian,2],<br>        AXIS["easting (X)",east,<br>            ORDER[1],<br>            LENGTHUNIT["US survey foot",0.304800609601219]],<br>        AXIS["northing (Y)",north,<br>            ORDER[2],<br>            LENGTHUNIT["US survey foot",0.304800609601219]],<br>    REMARK["EPSG:6507 with 20 feet offset"]]</span></div><div><br></div><div>But the output I get seems to be in meters (I deduced that running with PROJ_DEBUG=3) It is kind of ignoring the CS.</div><div><span style="font-family:monospace">$ echo 29 -88 0 | cs2cs EPSG:6318 EPSG:6507<br>1250642.38        -180875.29 0.00<br>$ echo 29 -88 0 | cs2cs EPSG:6318 "$(cat derived.wkt)"<br>381216.56    -55130.90 0.00</span></div><div><br></div><div>If I concatenate the pipeline with cct, I get the result I was expecting (20 feet more in the x):</div><div><span style="font-family:monospace">$ echo 29 -88 0 | cs2cs EPSG:6318 EPSG:6507 | cct +proj=pipeline +step +proj=affine +xoff=20<br>1250662.3800   -180875.2900        0.0000</span></div><div><br></div><div>Is that expected? Am I doing anything wrong?<br></div><div><br></div><div>Thanks.<br></div><div><div><div dir="ltr">.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__<br>Entre dos pensamientos racionales <br>hay infinitos pensamientos irracionales.<br><br></div></div></div></div>
</blockquote></div>