diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2017-12-14 09:19:37 +0100 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2017-12-14 09:19:37 +0100 |
| commit | 8ed970e6856ed3d61ab8cc827899a8cced0591d0 (patch) | |
| tree | 1a24465ff7d23db71b221b919ace981d099fb876 /test | |
| parent | 39186c234bd9e61c880fc6f2e9bc484a12de57ff (diff) | |
| download | PROJ-8ed970e6856ed3d61ab8cc827899a8cced0591d0.tar.gz PROJ-8ed970e6856ed3d61ab8cc827899a8cced0591d0.zip | |
Updates to deformation operation.
The initial approach taken in the deformation operation was not
geodetically sound. The deformation model grids were required
to be indexed in lat/long space with the velocities in the grids
being in cartesian space. This is quite confusing and it is not
a normal way of making deformation models. The usual approach is
to keep everything in the east, north, up, or ENU, space. We adopt
that tradition in this commit. The velocities are still applied in
cartesian space which requires that the grid-velocities are
converted from ENU space to cartesian space. As a consequence of
this change the operation is changed so that it only works in full
3D mode. That is, both horizontal and vertical grids need to be
applied.
The inverse operation is changed slightly to accommodate the
now fully 3D transformation. In it's present form it is a
modification to the original algorithm that also includes the
vertical component in the iteration. This is necessary to get a
proper mapping from ENU to cartesian space in the loop. The
vertical component is overwritten with the initial z-correction
at the end of the loop. This approach is not completely accurate
and will introduce errors, especially when doing many roundtrip
calculations, but it seems to be good enough for a few roundtrips.
The PJ_ENU data type is re-introduced to better communicate the
what state the grid corrections are in throughout the code.
Diffstat (limited to 'test')
| -rw-r--r-- | test/gie/deformation.gie | 54 |
1 files changed, 7 insertions, 47 deletions
diff --git a/test/gie/deformation.gie b/test/gie/deformation.gie index ce9aca75..07a8b45e 100644 --- a/test/gie/deformation.gie +++ b/test/gie/deformation.gie @@ -12,64 +12,24 @@ The input coordinate is located at lon=60, lam=-160 - somewhere in Alaska. BEGIN ------------------------------------------------------------------------------- -Test using only horizontal grid and +tobs parameter -------------------------------------------------------------------------------- -OPERATION +proj=deformation +xy_grids=alaska +t_epoch=2016.0 +t_obs=2000.0 -------------------------------------------------------------------------------- -TOLERANCE 1 um -ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 -EXPECT -3004295.5888766116 -1093474.1688513425 5500477.1338251457 -# ROUNDTRIP 1000 - -------------------------------------------------------------------------------- -Test using only vertical grid and +tobs parameter -------------------------------------------------------------------------------- -OPERATION +proj=deformation +z_grids=egm96_15.gtx +t_epoch=2016.0 +t_obs=2000.0 -------------------------------------------------------------------------------- -TOLERANCE 1 um -ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 -EXPECT -3004295.5882503074 -1093474.1690603832 5500234.008855661 -# ROUNDTRIP 1000 - -------------------------------------------------------------------------------- Test using both horizontal and vertical grids as well as the +tobs parameter ------------------------------------------------------------------------------- -OPERATION +proj=deformation +xy_grids=alaska +z_grids=egm96_15.gtx +t_epoch=2016.0 +t_obs=2000.0 +OPERATION +proj=deformation +xy_grids=alaska +z_grids=egm96_15.gtx +t_epoch=2016.0 +t_obs=2000.0 +ellps=GRS80 ------------------------------------------------------------------------------- -TOLERANCE 0.000001 m +TOLERANCE 0.1 mm ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 -EXPECT -3004295.5888766116 -1093474.1688513425 5500234.008855661 -# ROUNDTRIP 1000 - -------------------------------------------------------------------------------- -Test using only horizontal grid -------------------------------------------------------------------------------- -OPERATION +proj=deformation +xy_grids=alaska +t_epoch=2016.0 -------------------------------------------------------------------------------- -TOLERANCE 1 um -ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 2000.0 -EXPECT -3004295.5888766116 -1093474.1688513425 5500477.1338251457 2000.0 -# ROUNDTRIP 1000 - -------------------------------------------------------------------------------- -Test using only vertical grid -------------------------------------------------------------------------------- -OPERATION +proj=deformation +z_grids=egm96_15.gtx +t_epoch=2016.0 -------------------------------------------------------------------------------- -TOLERANCE 1 um -ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 2000.0 -EXPECT -3004295.5882503074 -1093474.1690603832 5500234.008855661 2000.0 -# ROUNDTRIP 1000 +EXPECT -3004295.7025 -1093474.2106 5500477.3444 +ROUNDTRIP 5 ------------------------------------------------------------------------------- Test using both horizontal and vertical grids ------------------------------------------------------------------------------- OPERATION +proj=deformation +xy_grids=alaska +z_grids=egm96_15.gtx +t_epoch=2016.0 +ellps=GRS80 ------------------------------------------------------------------------------- -TOLERANCE 1 um +TOLERANCE 0.1 mm ACCEPT -3004295.5882503074 -1093474.1690603832 5500477.1338251457 2000.0 -EXPECT -3004295.5888766116 -1093474.1688513425 5500234.008855661 2000.0 -# ROUNDTRIP 1000 +EXPECT -3004295.7025 -1093474.2106 5500477.3444 2000.0 +ROUNDTRIP 5 END |
