[PROJ] Units in a derived system

Javier Jimenez Shaw j1 at jimenezshaw.com
Thu Aug 4 10:27:58 PDT 2022


Thanks Even.

I tried to show two things in the example about "Affine parametric
transformation", if I understood correctly the results.
a) it was not considering the units of the parameters, and using always
meters. You already said that it is not clear in the EPSG guidance. (I can
use always meters in the parameters in case of doubt. It should be the
safe).
b) the final output of the derived crs is in meters easting-northing,
regardless the axis defined. I do not know if you noticed that.


Related to b), I have been thinking on the derived vertical. I tested this
in your branch and seems to work properly

VERTCRS["Custom Vertical",
    BASEVERTCRS["NAVD88 height (ftUS)",
        VDATUM["North American Vertical Datum 1988"]],
    DERIVINGCONVERSION["vertical offs",
        METHOD["Vertical Offset",
            ID["EPSG",1046]],
        PARAMETER["Vertical Offset",2,
            LENGTHUNIT["US survey foot",0.304800609601219],
            ID["EPSG",8603]]],
    CS[vertical,1],
        AXIS["gravity-related height (H)",up,
            LENGTHUNIT["US survey foot",0.304800609601219]],
    USAGE[
        SCOPE["unknown"],
        AREA["World"],
        BBOX[-90,-180,90,180]]]

$ projinfo -s EPSG:3855 -t "$(cat v.wkt)" -o proj -q
+proj=pipeline
  +step +proj=vertoffset +lat_0=0 +lon_0=0 +dh=0.609601219202438
+slope_lat=0
        +slope_lon=0
  +step +proj=unitconvert +z_in=m +z_out=us-ft

$ projinfo -s EPSG:6360 -t "$(cat v.wkt)" -o proj -q
+proj=pipeline
  +step +proj=unitconvert +z_in=us-ft +z_out=m
  +step +proj=vertoffset +lat_0=0 +lon_0=0 +dh=0.609601219202438
+slope_lat=0
        +slope_lon=0
  +step +proj=unitconvert +z_in=m +z_out=us-ft

It not only converts to us-ft at the end, but also understands the units in
the parameter. Cool.


.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__
Entre dos pensamientos racionales
hay infinitos pensamientos irracionales.



On Thu, 4 Aug 2022 at 19:10, Even Rouault <even.rouault at spatialys.com>
wrote:

> Hum, it seems I was too fast about "Affine parametric transformation". The
> implementation in PROJ voluntarily ignores the unit specified to the
> A0/A1/A2/B0/B1/B2 and takes the value as it, and the axis order. I'm not
> completely if it is the right thing to do, but EPSG guidance 7-2 note isn't
> super clear about what to do. In their example, they use metre unit for A0
> and B0, to go from a CRS in Clarke's foot to a CRS in metres. The value of
> the A1 and B2 scaling coefficient is close to the conversion factor of
> Clarke's foot to metre (but slightly different). PROJ reproduces the
> expected transformation on that example. We don't have an example of what
> we should do if the transformation parameter units aren't metre/coefficient
> (I see that there's a deprecated EPSG:10088 transformation that uses
> Clarke's foot but we can't ask it for comparison as the deprecation comment
> mentions that there was an error in coefficient values). I let you ask IOGP
> if you wish to clear that up. But in the meantime, you'd be better assuming
> that there's no unit transformation done for that particular method. Doh,
> coordinate transformations are hard and confusing :-)
> Le 04/08/2022 à 18:37, Javier Jimenez Shaw a écrit :
>
> -- http://www.spatialys.com
> My software is free, but my time generally not.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20220804/5aef82fd/attachment.htm>


More information about the PROJ mailing list