IOGP

Geospatial Information Agency (BIG), https://srgi.big.go.id

2020-08-27

Note: These formulas have been transcribed from EPSG Guidance Note #7-2. Users are encouraged to use that document rather than the text which follows as reference because limitations in the transcription will be avoided. This method allows the transformation of coordinates from one epoch (t1) to a second epoch (t2) through interpolation of the point's velocity from a grid. The velocity grid contains point velocities resolved into geocentric X, Y, and Z components. The interpolation CRS for the grid is a geographic 2D CRS. First the latitude and longitude of the point are used to interpolate the three velocities vX, vY and vZ. Bi-linear interpolation is used. Then the ellipsoidal coordinates φλh of the point at epoch t1 are converted into geocentric Cartesian values XYZ at epoch t1 using the formula in §4.1.1. Geocentric values at epoch t2 are then calculated using: X(t2) = X(t1) + (t2-t1) * vX Y(t2) = Y(t1) + (t2-t1) * vY Z(t2) = Z(t1) + (t2-t1) * vZ ensuring that if the velocities are given in mm per year they are converted to metres per year. Geographic 3D coordinates at epoch t2 are then calculated using the reverse formula in §4.1.1. Reverse In principle iteration is required to obtain the velocities at the target coordinates. In practice the secular velocity field changes very slowly with distance and the movement of a point for a change of epoch of a few years will usually not be enough to change the velocities. The second iteration will usually indicate that the solution has converged. The procedure for each iteration is as for the forward calculation with the source epoch and target epoch transposed.

Given a point with geographic 3D coordinates lat = 0°00'00.0000"N, lon = 120°06'08.0000"E h = 61.000m referenced to SRGI2013 at epoch 2012.00 whose coordinates are required at epoch 2020.50: Forward calculation: First interpolate within the velocity grid file for velocities at lat = 0°00'00.0000"N, lon = 120°06'08.0000"E: vX = -16.0 mm/yr = -0.0160 m/yr vY = -10.1 mm/yr = -0.0101 m/yr vZ = 19.6 mm/yr = 0.0196 m/yr Then convert the geographic 3D coordinates to geocentric Cartesian coordinates: X = -3198948.7986 Y = 5517982.9930 Z = 0.0000 t = 2012.00 (years) Then calculate coordinates at epoch 2020.50: X = -3198948.7986 + (2020.50 - 2012.00) * -0.0160 = -3198948.9345m Y = 5517982.9930 + (2020.50 - 2012.00) * -0.0101 = 5517982.9073m Z = 0.0000 + (2020.50 - 2012.00) * 0.0196 = 0.1666m t = 2020.50 (years) from which lat = 0°00'00.0054"N, lon = 120°06'08.0052"E h = 60.994m t = 2020.50 (years) Reverse: Point with coordinates of lat = 0°00'00.0054"N, lon = 120°06'08.0052"E, h = 60.994m at epoch 2020.50 whose coordinates are required at epoch 2012.00. First iteration: First interpolate within the velocity grid file for velocities at lat = 0°00'00.054"N, lon = 120°06'08.0052"E: vX = -15.9 mm/yr = -0.0159 m/yr vY = -10.1 mm/yr = -0.0101 m/yr vZ = 19.6 mm/yr = 0.0196 m/yr Then convert the geographic 3D coordinates to geocentric Cartesian coordinates: X = -3198948.9345 Y = 5517982.9073 Z = 0.1666 t = 2020.50 (years) Then calculate coordinates at epoch 2012.00: X = -3198948.9345 + (2012.50 - 2020.50) * -0.0159 = -3198948.7996m Y = 5517982.9073 + (2012.50 - 2020.50) * -0.0101 = 5517982.9930m Z = 0.1666 + (2012.50 - 2020.50) * 0.0196 = -0.0007m t = 2012.00 (years) from which lat = 0°00'00.0000"N, lon = 120°06'08.0000"E h = 60.001m t = 2012.00 (years) Second iteration: First interpolate within the velocity grid file for velocities at first iteration coordinates lat = 0°00'00.0000"N, lon = 120°06'08.0000"E: vX = -16.0 mm/yr = -0.0159 m/yr vY = -10.1 mm/yr = -0.0101 m/yr vZ = 19.6 mm/yr = 0.0196 m/yr Then calculate coordinates at epoch 2020.50 using the orig: X = -3198948.9345 + (2012.50 - 2020.50) * -0.0160 = -3198948.7987m Y = 5517982.9073 + (2020.50 - 2012.00) * -0.0101 = 5517982.9931m Z = 0.1666 + (2020.50 - 2012.00) * 0.0196 = 0.0000m t = 2012.00 (years) from which lat = 0°00'00.0000"N, lon = 120°06'08.0000"E h = 60.000m t = 2012.00 (years)