[QGIS-Developer] CRS problems with WGS84 and ETRS89

Bo Victor Thomsen bo.victor.thomsen at gmail.com
Wed Sep 25 06:53:50 PDT 2019


Thanks to Kristian and Even for some very thorough answers. That was 
somewhat heavy reading (for me at least) on such an ordinary Wednesday :-)

I'll guess that QGIS (or the underlying transformation library) is using 
some of the "earlier" realizations for both ETR89 and WGS84 datums since 
theĀ  ETR89/UTM32N and WGS84/UTM32N coordinates of a given location is so 
close to each other (0.1 mm)

Actually the answer was more than I had hoped for. I'm currently 
teaching some students at theĀ  Forestry College, University of 
Copenhagen some /elementary/ knowledge of projections as a part of their 
GIS education.

I'll try to incorporate this knowledge into the curriculum - hopefully 
without exploding their brains (or mine) !

-- 
Med venlig hilsen / Kind regards

Bo Victor Thomsen

Den 25-09-2019 kl. 10:12 skrev Kristian Evers:
> For funsies, let's try to do this using the transformations I linked in my previous email. Here I have used a coordinate that is actually in Denmark. Using what is currently the best transformation between ITRF2014 and the local Danish realization of ETRS89 (ETRF92 at 1994.704 for those who might find that interesting). I get a horizontal difference between the two of 75.1 cm
>
> echo 12 55 0 2019.0 | cct -d 10 +proj=pipeline +step +proj=cart +ellps=GRS80 +step +init=NKG:ITRF2014 +inv +step +init=NKG:DK
>   11.9999917811   54.9999951856  -0.0116067529     2019.0000
>
> echo 55 12 54.9999951856 11.9999917811 | geod -I +ellps=GRS80 +units=cm
> -135d32'21.267" 44d27'38.709"   75.092
>
> Unless you care about cm to mm accuracy you will be fine using the transformations that projinfo suggests :-)
>
> /Kristian
>
>
> -----Original Message-----
> From: QGIS-Developer <qgis-developer-bounces at lists.osgeo.org> On Behalf Of Even Rouault
> Sent: 25. september 2019 09:52
> To: qgis-developer at lists.osgeo.org
> Subject: Re: [QGIS-Developer] CRS problems with WGS84 and ETRS89
>
>> How come ? Or is the error-source sitting ca. 70 cm in front of the
>> screen ?? (I have a 34" large flatscreen :-)
> Because the data for such a transform isn't in the EPSG database.
>
> I believe the main reason is that both WGS84 and ETRS89 are in fact datum ensembles, that is a short and convenient nickname for a number of more well-defined datum realizations. For WGS84, you have 6 different realizations from Transit to G1762. And ETRS89 has 11 realizations from ETRF89 to ETRF2014
> So to get accurate data, you must research tranformations between those direct realizations. And in EPSG, accurate transformations tend not being given in terms of WGS84 realizations but from their equivalent ITRF realizations (WGS84(G1762) is identical to ITRF2014 within ~1cm),
>
> so, while playing with PROJ' projinfo utility,
>
> $ projinfo -s ITRF2014 -t ETRF2014
>
> I see 2 potential coordinate transformations, and the one that makes probably more sense today is the one using epoch 2010 for the transformation:
>
> unknown id, Conversion from ITRF2014 (geog2D) to ITRF2014 (geocentric) + ITRF2014 to ETRF2014 (2) + Conversion from ETRF2014 (geocentric) to ETRF2014 (geog2D), 0 m, Europe - ETRS89
>
> PROJ string:
> +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=cart +ellps=GRS80 +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
>
> And you need of course to specify the coordinate epoch of your coordinates as ITRF/WGS84 are Earth-fixed/dynamic datums.
>
> echo "49 2 0 2019.6" | cct -d 10 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=cart +ellps=GRS80 +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
>
> 48.9999955186   1.9999924499  -0.0016582003     2019.6000
>
> Actually using the first proposal using an epoch at 1989, I get exactly the same results
>
> echo "49 2 0 2019.6" | cct -d 10 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=cart +ellps=GRS80 +step +proj=helmert +x=0 +y=0 +z=0 +rx=0 +ry=0 +rz=0 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=1989 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
>
> 48.9999955186   1.9999924499  -0.0016582003     2019.6000
>
> That's a 74cm horizontal shift
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20190925/726e38a0/attachment.html>


More information about the QGIS-Developer mailing list