[PROJ] WGS84 to GDA94 and GDA2020
Even Rouault
even.rouault at spatialys.com
Fri Oct 11 05:24:30 PDT 2024
Nigel,
Le 11/10/2024 à 12:27, Nigel Stewart via PROJ a écrit :
> > First of all I think you are being way too unrealistic about what
> you can use ChatGPT for.
> >If you'd tried the command it's suggested to you, you would know that
> it doesn't work.
> > It has given you an ill-formed CRS, as well as suggesting you use
> deprecated syntax.
>
> It didn't smell good, I must admit.
>
> > It would be helpful if you can be more explicit about what you are
> trying to do.
> > What EPSG-codes are you trying to get a transformation between?
>
> In a nutshell:
>
> # to GDA94 / MGA zone 56
>
> $ echo "0 0 0" | cs2cs +proj=tmerc +lat_0=-34.0 +lon_0=150.0 +k=1
> +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs +to 'EPSG:28356'
> 222908.70 6233785.28 0.00
>
> # to GDA2020 / MGA zone 56
>
> $ echo "0 0 0" | cs2cs +proj=tmerc +lat_0=-34.0 +lon_0=150.0 +k=1
> +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs +to 'EPSG:7856'
> 222908.70 6233785.28 0.00
>
> # to GDA2020 / MGA zone 56
>
> $ echo "222908.70 6233785.28 0.00" | cs2cs 'EPSG:28356' +to
> 'EPSG:7856'
> 222909.17 6233786.71 0.00
>
> Our expectation is that GDA2020 is within a meter or two of GDA94 due
> to the tectonic drift of the Australian plate towards the north east.
> Our concern is that from these custom transverse mercator projections,
> this difference isn't reflected.
> We can see the Helmert transformation being applied in the third case,
> but not in the first two.
This is fully expected.
Basically GDA94 ~= WGS84 at epoch 1994.0 and GDA2020 ~= WGS84 at epoch
2020.0
So when you ask to transform between GDA94 and WGS84 a null datum
transformation is a perfectly valid answer since they matched in 1994.0.
As well as a null one between GDA2020 and WGS84 since they matched in 2020.0
There are also alternate transformations available in the EPSG dataset
where they consider that when transforming between GDA94 and WGS84, then
the user could mean they assume this WGS84 to be a recent one, so you
actually want to use the transformation between GDA94 and GDA2020
$ projinfo -s "+proj=tmerc +lat_0=-34.0 +lon_0=150.0 +k=1 +x_0=0 +y_0=0
+datum=WGS84 +type=crs" -t EPSG:28356 --spatial-test intersects -o PROJ
Candidate operations found: 3
-------------------------------------
Operation No. 1:
unknown id, Inverse of unknown + axis order change (2D) + Inverse of
GDA94 to WGS 84 (1) + Map Grid of Australia zone 56, 3 m, Australia
including Lord Howe Island, Macquarie Island, Ashmore and Cartier
Islands, Christmas Island, Cocos (Keeling) Islands, Norfolk Island. All
onshore and offshore.
PROJ string:
+proj=pipeline
+step +inv +proj=tmerc +lat_0=-34 +lon_0=150 +k=1 +x_0=0 +y_0=0
+ellps=WGS84
+step +proj=utm +zone=56 +south +ellps=GRS80
-------------------------------------
Operation No. 2:
unknown id, Inverse of unknown + axis order change (2D) + Inverse of
GDA94 to WGS 84 (2) + Map Grid of Australia zone 56, 3 m, Australia
including Lord Howe Island, Macquarie Island, Ashmore and Cartier
Islands, Christmas Island, Cocos (Keeling) Islands, Norfolk Island. All
onshore and offshore.
PROJ string:
+proj=pipeline
+step +inv +proj=tmerc +lat_0=-34 +lon_0=150 +k=1 +x_0=0 +y_0=0
+ellps=WGS84
+step +proj=push +v_3
+step +proj=cart +ellps=WGS84
+step +inv +proj=helmert +x=0.06155 +y=-0.01087 +z=-0.04019
+rx=-0.0394924
+ry=-0.0327221 +rz=-0.0328979 +s=-0.009994
+convention=coordinate_frame
+step +inv +proj=cart +ellps=GRS80
+step +proj=pop +v_3
+step +proj=utm +zone=56 +south +ellps=GRS80
-------------------------------------
Operation No. 3:
unknown id, Inverse of unknown + axis order change (2D) + Inverse of
GDA94 to WGS 84 (3) + Map Grid of Australia zone 56, 3 m, Australia -
Australian Capital Territory; New South Wales; Northern Territory;
Queensland; South Australia; Tasmania; Western Australia; Victoria., at
least one grid missing
PROJ string:
+proj=pipeline
+step +inv +proj=tmerc +lat_0=-34 +lon_0=150 +k=1 +x_0=0 +y_0=0
+ellps=WGS84
+step +inv +proj=hgridshift
+grids=au_icsm_GDA94_GDA2020_conformal_and_distortion.tif
+step +proj=utm +zone=56 +south +ellps=GRS80
Grid au_icsm_GDA94_GDA2020_conformal_and_distortion.tif needed but not
found on the system. Can be obtained at
https://cdn.proj.org/au_icsm_GDA94_GDA2020_conformal_and_distortion.tif
You'll notice all those 3 transformations are advertized to have a 3
metre accuracy. The first one (note that the heuristics to determine the
default one has changed among PROJ versions), which is the one used by
default by cs2cs, uses the WGS84 = GDA94 hypothesis. The second and
third ones us WGS84 = GDA2020
If you want to use the second one, you need to pass its pipeline to cct:
$ echo 0 0 0 | cct +proj=pipeline +step +inv +proj=tmerc +lat_0=-34
+lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +step +proj=push +v_3 +step
+proj=cart +ellps=WGS84 +step +inv +proj=helmert +x=0.06155 +y=-0.01087
+z=-0.04019 +rx=-0.0394924 +ry=-0.0327221 +rz=-0.0328979 +s=-0.009994
+convention=coordinate_frame +step +inv +proj=cart +ellps=GRS80 +step
+proj=pop +v_3 +step +proj=utm +zone=56 +south +ellps=GRS80
222908.2299 6233783.8497 0.0000 inf
Rule of thumb: as soon as one of your CRS is WGS84 related, you will
generally go into troubles if you are interested in geodetic grade
transformations.
Even
--
http://www.spatialys.com
My software is free, but my time generally not.
Mostly a fool, sometimes acting like a professional (or vice versa)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20241011/10616cb5/attachment.htm>
More information about the PROJ
mailing list