<div dir="ltr"><div>This is just a question, not necessarily a bug.</div><div>I'm just playing with arbitrary CRS, in this case with 3 dimensions. Producing the WKT1 output from WKT2 works<br></div><div></div><div></div><div><br></div><div><span style="font-family:monospace">projinfo 'ENGCRS["Engineering SRS",<br>  EDATUM["datum",ANCHOR["anchor"]],<br>  CS[Cartesian,3],<br>    AXIS["easting (X)",east, ORDER[1], LENGTHUNIT["US survey foot",0.304800609601219]],<br>    AXIS["northing (Y)",north, ORDER[2], LENGTHUNIT["US survey foot",0.304800609601219]],</span></div><div><span style="font-family:monospace">    AXIS["elevation (z)",up, ORDER[3], LENGTHUNIT["US survey foot",0.304800609601219]]]' -o wkt1_gdal</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">WKT1:GDAL string:<br>LOCAL_CS["Engineering SRS",<br>    LOCAL_DATUM["datum",32767],<br>    UNIT["US survey foot",0.304800609601219],<br>    AXIS["Easting",EAST],<br>    AXIS["Northing",NORTH],<br>    AXIS["</span><span style="font-family:monospace">Elevation</span><span style="font-family:monospace">",UP]]</span><br></div><div><br></div><div>But later using that WKT1 string fails:<br><span style="font-family:monospace">projinfo 'LOCAL_CS["Engineering SRS",<br>    LOCAL_DATUM["datum",32767],<br>    UNIT["US survey foot",0.304800609601219],<br>    AXIS["Easting",EAST],<br>    AXIS["Northing",NORTH],<br>    AXIS["Northing",UP]]'<br>input string: parsing of user string failed: buildCS: unexpected AXIS count for LOCAL_CS</span></div><div><br></div><div>The code is this (src/iso19111/io.cpp):</div><div><br></div><div><span style="font-family:monospace">        } else if (ci_equal(parentNodeName, WKTConstants::LOCAL_CS)) {<br>            if (axisCount == 0) {<br>                auto unit =<br>                    buildUnitInSubNode(parentNode, UnitOfMeasure::Type::LINEAR);<br>                if (unit == UnitOfMeasure::NONE) {<br>                    unit = UnitOfMeasure::METRE;<br>                }<br>                return CartesianCS::createEastingNorthing(unit);<br>            } else if (axisCount == 1) {<br>                csTypeCStr = "vertical";<br>            } else if (axisCount == 2) {<br>                csTypeCStr = "Cartesian";<br>            } else {<br>                throw ParsingException(<br>                    "buildCS: unexpected AXIS count for LOCAL_CS");<br>            }</span></div><div><br></div><div>Is that limited in purpose? I was not able to find anything explicit in the standard about the number of axis in WKT1 LOCAL_CS</div><div><br></div><div>Thanks.<br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div></div><div>.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__</div></div></div></div></div>