diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-12-17 20:58:35 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-12-17 20:58:35 +0100 |
| commit | de6a04d8d600df2a0ac5896c5b82f243b5f8586c (patch) | |
| tree | 6783282a3910c1149afa3e5555bdc2ea9988a2c8 /dk_sdfe | |
| parent | 224fc83db04262c3fce858526998a0de5930203f (diff) | |
| download | PROJ-data-de6a04d8d600df2a0ac5896c5b82f243b5f8586c.tar.gz PROJ-data-de6a04d8d600df2a0ac5896c5b82f243b5f8586c.zip | |
Add non-grids DK, FO and NKG resource files
Diffstat (limited to 'dk_sdfe')
| -rw-r--r-- | dk_sdfe/DK | 586 | ||||
| -rw-r--r-- | dk_sdfe/DK_bornholm.pol | 285 | ||||
| -rw-r--r-- | dk_sdfe/DK_bridges.pol | 141 | ||||
| -rw-r--r-- | dk_sdfe/DK_general.pol | 363 | ||||
| -rw-r--r-- | dk_sdfe/DK_jutland.pol | 380 | ||||
| -rw-r--r-- | dk_sdfe/DK_zealand.pol | 251 | ||||
| -rw-r--r-- | dk_sdfe/FO | 42 | ||||
| -rw-r--r-- | dk_sdfe/FO_fk89.pol | 242 | ||||
| -rw-r--r-- | dk_sdfe/NKG | 195 |
9 files changed, 2485 insertions, 0 deletions
diff --git a/dk_sdfe/DK b/dk_sdfe/DK new file mode 100644 index 0000000..d0b4ae9 --- /dev/null +++ b/dk_sdfe/DK @@ -0,0 +1,586 @@ +#------------------------------------------------------------------------------------------------------ +# +# PROJ implementations of current and legacy Danish coordinate systems +# +#------------------------------------------------------------------------------------------------------ +# +# This file is Work-In-Progress, and should not be used without great testing care. It is +# currently provided for informational and testing purposes, but will in due course become +# the official definition and implementation of transformations to and from Danish systems. +# +# Revision history: +# ----------------- +# +# 2017-09-?? Initial setup. +# Kristian Evers <kreve@sdfe.dk> +# +# 2017-11-03 Formal definitions of legacy systems, +# New datum naming structure +# Check up on all polynomial transformations. +# Karsten Engsager, Thomas Knudsen <thokn@sdfe.dk> +# +# 2017-11-08 Clean up, introduce _TC32_TD32, add descriptions +# Thomas Knudsen <thokn@sdfe.dk> +# +# 2017-12-08 Introduce the Femerbelt system, the Storstrom +# projection, and a number of seldom-used legacy +# systems. +# Karsten Engsager, Thomas Knudsen <thokn@sdfe.dk> +# +# 2018-02-21 Check-up, streamline built-in self-tests, add a +# number of comments and descriptions, preparing +# for PROJ 5.0.0 release. +# Thomas Knudsen <thokn@sdfe.dk> +# +#------------------------------------------------------------------------------------------------------ + + +<metadata> +version=1.0.0 +origin=SDFE +lastupdate=2018-02-26 + + +#------------------------------------------------------------------------------------------------------ +# Vertical datums +#------------------------------------------------------------------------------------------------------ +<DVR90> proj=vgridshift grids=dvr90.gtx # current +<DNN> proj=vgridshift grids=dnn.gtx # historical +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# UTM ETRS89: The primary system for mapping +#------------------------------------------------------------------------------------------------------ +<UTM32N> proj=utm zone=32 ellps=GRS80 units=m no_defs +<UTM33N> proj=utm zone=33 ellps=GRS80 units=m no_defs + +<UTM32N_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:UTM32N +<UTM33N_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:UTM33N + +<UTM32N_DNN> proj=pipeline step init=DK:DNN step init=DK:UTM32N +<UTM33N_DNN> proj=pipeline step init=DK:DNN step init=DK:UTM33N +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:UTM32N +tolerance 0.1 mm +accept 12 55 +expect 691875.6321 6098907.8250 +</gie> +#------------------------------------------------------------------------------------------------------ + + +#------------------------------------------------------------------------------------------------------ +# DKTM ETRS89: Used for construction tasks, where a scale factor close to unity is important +#------------------------------------------------------------------------------------------------------ +<DKTM1> proj=etmerc lat_0=0 lon_0=9 k=0.99998 x_0=200000 y_0=-5000000 ellps=GRS80 units=m no_defs +<DKTM2> proj=etmerc lat_0=0 lon_0=10 k=0.99998 x_0=400000 y_0=-5000000 ellps=GRS80 units=m no_defs +<DKTM3> proj=etmerc lat_0=0 lon_0=11.75 k=0.99998 x_0=600000 y_0=-5000000 ellps=GRS80 units=m no_defs +<DKTM4> proj=etmerc lat_0=0 lon_0=15 k=1 x_0=800000 y_0=-5000000 ellps=GRS80 units=m no_defs + +<DKTM1_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:DKTM1 +<DKTM2_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:DKTM2 +<DKTM3_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:DKTM3 +<DKTM4_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:DKTM4 + +<DKTM1_DNN> proj=pipeline step init=DK:DNN step init=DK:DKTM1 +<DKTM2_DNN> proj=pipeline step init=DK:DNN step init=DK:DKTM2 +<DKTM3_DNN> proj=pipeline step init=DK:DNN step init=DK:DKTM3 +<DKTM4_DNN> proj=pipeline step init=DK:DNN step init=DK:DKTM4 + +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Kp2000 ETRS89: A predecessor to DKTM (see above). Kp2000 was never in widespread use. +#------------------------------------------------------------------------------------------------------ +<KP2000B> proj=etmerc lat_0=0 lon_0=15 k=1 x_0=900000 y_0=0 ellps=GRS80 units=m no_defs +<KP2000J> proj=etmerc lat_0=0 lon_0=9.5 k=0.99995 x_0=200000 y_0=0 ellps=GRS80 units=m no_defs +<KP2000S> proj=etmerc lat_0=0 lon_0=12 k=0.99995 x_0=500000 y_0=0 ellps=GRS80 units=m no_defs + +<KP2000B_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:KP2000B +<KP2000J_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:KP2000J +<KP2000S_DVR90> proj=pipeline step init=DK:DVR90 step init=DK:KP2000S + +<KP2000B_DNN> proj=pipeline step init=DK:DNN step init=DK:KP2000B +<KP2000J_DNN> proj=pipeline step init=DK:DNN step init=DK:KP2000J +<KP2000S_DNN> proj=pipeline step init=DK:DNN step init=DK:KP2000S + +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Storstrom Bridge Map Projection: lon_0=1152nt +#------------------------------------------------------------------------------------------------------ +<SSBKP> proj=etmerc ellps=GRS80 + lat_0=0 lon_0=11.86666666666666666667 + x_0=40000 y_0=-6013000 + k=1 units=m no_defs +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Danish Mercator ETRS89 lat_0=56 x_0=500000 -> y_0=-3716499.0435458627 +#------------------------------------------------------------------------------------------------------ +<DM> proj=merc lat_ts=56 lon_0=9 x_0=500000 y_0=-3716499.0435458627 ellps=GRS80 no_defs +<DMRC> DK:DM +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:DM +tolerance 0.1 mm +accept 12 55 +expect 687178.31448147167 390074.81929540867 +</gie> +#------------------------------------------------------------------------------------------------------ + + + + + + + +#------------------------------------------------------------------------------------------------------ +# Danish legacy systems - formal definitions +#------------------------------------------------------------------------------------------------------ +# These formal definitions are for illumination - not for computation. +# Valid only for observations already measured in the relevant (legacy) +# reference frame. +# +# See below for the much more involved setups needed to go to and from +# the legacy frames. +#------------------------------------------------------------------------------------------------------ +# UTM ED50 +<_UTM32_ED50_FORMAL> proj=utm zone=32 ellps=intl units=m no_defs +<_UTM33_ED50_FORMAL> proj=utm zone=33 ellps=intl units=m no_defs + +# System Storebaelt (lon_0= 10 58 nt) +<_SB_FORMAL> proj=etmerc + lat_0=0 lon_0=10.96666666666666667 k=0.999999 + x_0=500000 y_0=0 ellps=intl + units=m no_defs + +# Denmark Sweden Bridge Project System Oeresund (ED50) (lon_0 = 12 48 nt) +<_DKS_FORMAL> proj=etmerc + lat_0=0 lon_0=12.8 k=0.999999 + x_0=119000 y_0=-5895000 ellps=intl + units=m no_defs + +# Danish Mercator ED50 +<_DM_FORMAL> proj=merc ellps=intl lat_ts=56 lon_0=9 + x_0=500000 y_0=-3716499.0435879501 + overfitted_x_0=499919.274212 overfitted_y_0=-3716691.9921 + units=m no_defs + +# Generalstabens lcc Jutland and Zealand (lon_0 = 2 12 nt, W positive) +<_GS_FORMAL> proj=lcc lat_ts=56 lat_0=55 lon_0=2.2 + x_0=0 y_0=0 ellps=GS + +# Generalstabens konform-koniske for Bornholm (lon_0 = -2 21 nt, W positive) +<_GSB_FORMAL> proj=lcc lat_1=56 lat_0=55 lon_0=-2.35 # lat_ts=56 + x_0=18831.460 y_0=5614.621 ellps=GS + +# Koebenhavns Kommune +# <_KK_FORMAL> proj=localcrd ellps=danish units=m no_defs +#------------------------------------------------------------------------------------------------------ + + + + +#------------------------------------------------------------------------------------------------------ +# Legacy systems - actual transformations +#------------------------------------------------------------------------------------------------------ +# +# Technical implementation +# ------------------------- +# Most of the transformations to and from the Danish legacy systems are based on a +# 7-parameter Helmert transformation, followed by a bivariate polynomial adjustment. +# +# The Helmert transformation takes us from the current system (ETRS89) to a system that +# is sufficiently close to the older systems to allow us to take the final steps using +# the polynomial ("Horner") way. +# +# In most cases, the intermediate system is formally ED50: The parameters produce the +# least squares optimum route from ETRS89 to ED50. But due to the much more stable scale +# factor of ETRS89, the ED50 coordinates computed using the Helmert step alone reveals +# the large tensions in the ED50 net: The Helmert transformed coordinates can be thought +# of as "ED50 if ED50 had as good a scale factor as ETRS89". +# +# To discern, we refer to the Helmert transformed datum as "Technical Datum 32", +# TD32 - a 2D datum for computational use only. A TD32 coordinate transformed +# to UTM zone 32, is referred to the "Technical Coordinate System 32, on the +# TD32 datum", _TC32_TD32. +# +# _TC32_TD32 is the step stone from which the bivariate Horner polynomials takes us the +# final steps to the target system. +# +# Naming convention +# ------------------ +# The transformations to and from Danish legacy systems are named such that to go +# +# FROM the current system (i.e. for the time being, GEO_ETRS89), +# TO system X, +# use the FORWARD method of the transformation accessed as +init=DK:X +# +# and conversely, to go +# +# FROM system X +# TO the current system, +# use the INVERSE method of the transformation accessed as +init=DK:X +# +# +# Numerical example +# ------------------ +# For example, one may transform data from GEO_ETRS89 to System 45 Bornholm +# using the syntax +# +# echo 15 55 0 0 | cct +init=DK:S45B +# +# which will respond with +# +# 42915.059286989766000 37569.188021636372000 -33.327159059233963 0.000000000000000 +# +# And a forward-inverse roundtrip test can be implemented as: +# +# echo 15 55 0 0 | cct +init=DK:S45B | cct -I +init=DK:S45B +# +# Which results in this near perfect roundtrip: +# +# 14.999999999998458 55.000000000290619 -0.000000000931323 0.000000000000000 +# +# (the test point 15E, 55N is situated close to the south shore of Bornholm, +# a few km south of the Pedersker village) +# +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# The primary step stone: _TC32_TD32 +#------------------------------------------------------------------------------------------------------ +<_TC32_TD32> + proj=pipeline no_defs + step proj=cart ellps=GRS80 + step proj=helmert inv + x = -81.0703 rx = -0.48488 + y = -89.3603 ry = -0.02436 + z =-115.7526 rz = -0.41321 s = -0.540645 + convention = coordinate_frame + step proj=cart ellps=intl inv # Now: GEO_TD32 + step proj=utm ellps=intl zone=32 # And now: TC32_TD32 (UTM32 if ED50 was "perfect") +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:_TC32_TD32 +tolerance 0.1 mm +accept 9.5 57 0 0 +expect 530454.9998 6317704.6255 + +operation init=DK:_TC32_TD32 +tolerance 0.1 mm +accept 15 55 0 0 +expect 883653.4932 6111473.4226 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> UTM32_ED50, valid for Denmark except Bornholm (i.e. west of 13E) +#------------------------------------------------------------------------------------------------------ +<UTM32_ED50_L> + proj=pipeline + step init=DK:_TC32_TD32 + step init=DK_general.pol:TC32_L inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:UTM32_ED50_L +tolerance 40 mm +accept 9.5 57 0 0 +expect 530455.2023 6317704.6465 +</gie> + + + +#------------------------------------------------------------------------------------------------------ +# GEO_ETRS89 -> GEO_ED50, valid for Denmark except Bornholm +#------------------------------------------------------------------------------------------------------ +<GEO_ED50_L> proj=pipeline + step init=DK:UTM32_ED50_L + step proj=utm zone=32 ellps=intl units=m no_defs inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:GEO_ED50_L +tolerance 40 mm +accept 9.5 57 0 0 +expect 9.501323491951883 57.000587965055587 +accept 12 55 0 0 +expect 12.001173940 55.000628676 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> UTM32_ED50, Bornholm +#------------------------------------------------------------------------------------------------------ +<UTM32_ED50_B> proj=pipeline ellps=GRS80 + step init=DK:_TC32_TD32 + step init=DK_bornholm.pol:UTM32_ED50_B # no inv here, due to polynomial swap in DK_bornholm.pol +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:UTM32_ED50_B +tolerance 30 mm +accept 15 55 0 0 +expect 883654.5767 6111474.6515 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> UTM33_ED50, Bornholm +#------------------------------------------------------------------------------------------------------ +<UTM33_ED50_B> proj=pipeline ellps=GRS80 + step init=DK:UTM32_ED50_B + step proj=utm zone=32 ellps=intl units=m no_defs inv + step proj=utm zone=33 ellps=intl units=m no_defs +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:UTM33_ED50_B +tolerance 30 mm +accept 15 55 0 0 +expect 500071.1125 6094991.2120 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> GEO_ED50, Bornholm +<GEO_ED50_B> proj=pipeline ellps=GRS80 + step init=DK:UTM32_ED50_B + step proj=utm zone=32 ellps=intl units=m no_defs inv +<ED50_B> init=DK:GEO_ED50_B +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:GEO_ED50_B +tolerance 30 mm +accept 15 55 0 0 +expect 15.001111641 55.000603892 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System45 +#------------------------------------------------------------------------------------------------------ +<S45B> proj=pipeline no_defs + step init=DK:_TC32_TD32 + step init=DK_bornholm.pol:TC32_B inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:S45B +tolerance 40 mm +accept 15 55 0 0 +expect 42915.0596 37569.1876 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System 34 Jutland +#------------------------------------------------------------------------------------------------------ +<S34J> proj=pipeline ellps=GRS80 + step init=DK:_TC32_TD32 + step init=DK_jutland.pol:TC32_L inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:S34J +tolerance 40 mm +accept 9.5 57 0 0 +expect 263190.2497 286078.3847 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System 34 Zealand +#------------------------------------------------------------------------------------------------------ +<S34S> proj=pipeline ellps=GRS80 + step init=DK:_TC32_TD32 + step init=DK_zealand.pol:TC32_L inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:S34S +tolerance 40 mm +accept 12.5 55.7 0 0 +expect 76425.6474 143042.0038 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# System Storebaelt (Great Belt system) +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System Storebaelt (The Great Belt System) +#------------------------------------------------------------------------------------------------------ +<SB> proj=pipeline no_defs + step init=DK:UTM32_ED50_L + step init=DK_bridges.pol:UTM32_ED50_L inv # tol = 0.5 mm +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:SB +tolerance 30 mm +accept 11 55.3 0 0 +expect 502194.1051 6130826.4745 +accept 10.891109758 55.319726643 0 0 +expect 495280.2216 6133024.6786 + +direction inverse +accept 502194.1051 6130826.4745 0 0 +expect 11 55.3 +accept 495280.2216 6133024.6786 0 0 +expect 10.891109758 55.319726643 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Denmark Sweden Bridge Project System Oeresund (ED50) (lon_0 = 12 48 nt) +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> Denmark Sweden Bridge Project System (ED50) +#------------------------------------------------------------------------------------------------------ +<DKS> proj=pipeline no_defs + step init=DK:S34S + step init=DK_bridges.pol:S34S inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:DKS +tolerance 30 mm +accept 12.7 55.66 0 0 +expect 112779.7960 275908.0748 # Authoritative value, obtained from KMSTrans2 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> Generalstabens System, except Bornholm +#------------------------------------------------------------------------------------------------------ +<GS> proj=pipeline ellps=GRS80 + step init=DK:UTM32_ED50_L + step init=DK_general.pol:GS +#------------------------------------------------------------------------------------------------------ +<GEO_GS> proj=pipeline ellps=GRS80 + step init=DK:GS + step init=DK:GS_FORMAL inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:GS +tolerance 30 mm +accept 8.998706228455516 55.999371897298793 0 0 +expect 85938.0998 112123.5083 +accept 10 57 0 0 +expect 22859.7375 222752.8941 +direction inverse +accept 22859.7375 222752.8941 0 0 +expect 10 57 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> Generalstabens System Bornholm +#------------------------------------------------------------------------------------------------------ +# Implemented as a 4th order complex polynomium going from UTM33_ED50 +# to System GS Bornholm. The datum shift from ETRS89 to ED50 is done +# in the UTM33_ED50_B step. +# +# The complex polynomium partially implements a further datum shift, +# to System GS Bornholm, partially carries out the conformal mapping +# from UTM to the Lambert Conformal Conic, which is the formal basis +# of the GS systems. +#------------------------------------------------------------------------------------------------------ +<GSB> proj=pipeline ellps=GRS80 + step init=DK:UTM33_ED50_B + step init=DK_bornholm.pol:GSB +#------------------------------------------------------------------------------------------------------ +<GEO_GSB> proj=pipeline ellps=GRS80 # + step init=DK:GSB + step init=DK:_GSB_FORMAL inv +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:GSB +tolerance 30 mm +accept 15 55 0 0 +expect 14063.5412 5598.3811 +direction inverse +accept 14063.5412 5598.3811 0 0 +expect 15 55 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Koebenhavns Kommune Koordinatsystem +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System Koebenhavns Kommune +#------------------------------------------------------------------------------------------------------ +<KK> proj=pipeline no_defs + step init=DK:S34S + step init=DK_zealand.pol:KK +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:KK +tolerance 30 mm +accept 12.5 55.7 0 0 +expect -133514.7527 79977.9650 # Authoritative value, obtained from KMSTrans2 +direction inverse +accept -133514.7527 79977.9650 0 0 +expect 12.5 55.7 +</gie> +#------------------------------------------------------------------------------------------------------ + + + + + + + +#------------------------------------------------------------------------------------------------------ +# System Ostenfeld (South Jutland, Part of Germany before 1920) +# +# NOT READY YET +#------------------------------------------------------------------------------------------------------ +# <OS_FORMAL> proj=localcrd ellps=bessel units=m no_defs +#------------------------------------------------------------------------------------------------------ +# ETRS89 (Geodetic) -> System Ostenfeld +#------------------------------------------------------------------------------------------------------ +<OS> proj=pipeline ellps=GRS80 + step init=DK:S34J + step init=DK_jutland.pol:OS + step proj=axisswap order=2,1 +#------------------------------------------------------------------------------------------------------ +<gie> +operation init=DK:OS +tolerance 30 mm +accept 9 55 0 0 +expect 59184.3614 -14910.8690 # KMSTrans2 +direction inverse +accept 59184.3614 -14910.8690 0 0 +expect 9 55 +</gie> +#------------------------------------------------------------------------------------------------------ + + + +#------------------------------------------------------------------------------------------------------ +# Missing: Danske Mercator ED50 & Vertical reference frame transformations +#------------------------------------------------------------------------------------------------------ + diff --git a/dk_sdfe/DK_bornholm.pol b/dk_sdfe/DK_bornholm.pol new file mode 100644 index 0000000..4ee916d --- /dev/null +++ b/dk_sdfe/DK_bornholm.pol @@ -0,0 +1,285 @@ +################################################################################ +# +# S 4 5 B -> T C 3 2 +# +################################################################################ +# +# Forward: +# in: S45B_S45B, out: TC32_TD32 +# +# Inverse: +# in: TC32_TC32, out: S45B_S45B +# +# Valid area: Bornholm and surroundings +# +################################################################################ +<TC32_B> + +proj=horner +urange=103000 +vrange=119000 +ellps=intl + +fwd_origin=47022.563745,51779.260103 +inv_origin=878354.943082,6125305.175366 +# tol=0.040 +deg=6 + +# static double C_ttb[] +# tc32_ed50 -> s45b +# m_lim_gen: 0.153 red = 0 OBS = 1074 +# m = 1.51 cm my_loss = +3 y_enp = +8.4 +# m = 1.53 cm mx_loss = +4 x_enp = +8.4 + +# mht C_ttb er +# fwd-inv ombyttet ifht original Poder/Engsager-kode +# For at opnå at to fwd transform fører fra s45b->tc32->utm32 (->ETRS89) + +inv_v= +# Poly NORTH :: e-degree = 0 : n-degree = 6 + 5.1779004699e+04,9.9508320295e-01,-2.9453823207e-10, + 1.9995084102e-14,-1.4895751366e-18,-9.9734812211e-23, + 1.1194218845e-26, +# Poly NORTH :: e-degree = 1 : n-degree = 5 + -8.4285679515e-02,-7.9623049286e-09,-3.7190046062e-14, + -2.3324127411e-18,-1.1150449763e-22,2.8703154270e-27, +# Poly NORTH :: e-degree = 2 : n-degree = 4 + 8.7160434140e-10,-3.3634602927e-14,-5.5718245313e-18, + 6.2611750909e-23,-2.1011243838e-26, +# Poly NORTH :: e-degree = 3 : n-degree = 3 + 1.0905463989e-14,-4.3960034360e-18,3.6121595001e-22, + -1.3493066011e-27, +# Poly NORTH :: e-degree = 4 : n-degree = 2 + -1.3360171462e-18,1.0780850646e-22,4.5118286607e-26, +# Poly NORTH :: e-degree = 5 : n-degree = 1 + -1.3718883973e-22,1.6263920750e-26, +# Poly NORTH :: e-degree = 6 : n-degree = 0 + -5.1004217526e-27 +# tcy 6125305.175366 + +inv_u= +# Poly EAST :: n-degree = 0 : e-degree = 6 + 4.7022495967e+04,-9.9508282498e-01,3.2436283039e-09, + -2.6276394334e-15,8.6318533291e-18,-3.8327518550e-23, + -2.5704924282e-26, +# Poly EAST :: n-degree = 1 : e-degree = 5 + -8.4285975934e-02,5.7098765263e-10,-6.0863955939e-14, + 2.3608788740e-18,6.8899581969e-24,-1.1429511179e-26, +# Poly EAST :: n-degree = 2 : e-degree = 4 + -4.6079778412e-09,1.5072604543e-14,5.4063862378e-18, + 1.2591327827e-22,7.9336388691e-27, +# Poly EAST :: n-degree = 3 : e-degree = 3 + -2.9479268638e-14,1.7090049434e-18,2.8413337985e-22, + -3.3577391552e-27, +# Poly EAST :: n-degree = 4 : e-degree = 2 + 3.0434879273e-18,-1.8081673510e-22,-2.3651419850e-26, +# Poly EAST :: n-degree = 5 : e-degree = 1 + 9.2060044804e-23,3.7807953325e-27, +# Poly EAST :: n-degree = 6 : e-degree = 0 + -4.9415665221e-27 +# tcx 878354.943082 + +# static double C_btt[] +# s45b -> tc32_ed50 +# m_lim_gen: 0.154 red = 0 OBS = 1074 +# m = 1.50 cm my_loss = +3 y_enp = +8.5 +# m = 1.54 cm mx_loss = +4 x_enp = +8.3 + +fwd_v= +# Poly NORTH :: e-degree = 0 : n-degree = 6 + 6.1253054245e+06,9.9778251908e-01,-7.7346152025e-10, + -2.5359789369e-14,1.5614918228e-18,9.8091134295e-23, + -1.1092581145e-26, +# Poly NORTH :: e-degree = 1 : n-degree = 5 + -8.4514352088e-02,-7.9847579284e-09,-2.6865560962e-14, + -2.0731372756e-18,-1.3660341123e-22,1.1244836340e-26, +# Poly NORTH :: e-degree = 2 : n-degree = 4 + 8.0551988135e-11,3.6661500679e-14,5.4247705403e-18, + 8.4494604807e-23,1.3334858516e-26, +# Poly NORTH :: e-degree = 3 : n-degree = 3 + 8.3889821184e-15,-4.8124202237e-18,2.9088188830e-22, + -2.0129874264e-26, +# Poly NORTH :: e-degree = 4 : n-degree = 2 + 2.4716463766e-18,-2.1717177513e-22,-3.2828537638e-26, +# Poly NORTH :: e-degree = 5 : n-degree = 1 + -1.2080655753e-22,2.5050435391e-26, +# Poly NORTH :: e-degree = 6 : n-degree = 0 + 1.1383483826e-27 +# tcy 51779.260103, + +fwd_u= +# Poly EAST :: n-degree = 0 : e-degree = 6 + 8.7835485387e+05,-9.9778289691e-01,3.2537215213e-09, + 6.9217640616e-15,8.6268883840e-18,4.6748156909e-23, + -2.6492402009e-26, +# Poly EAST :: n-degree = 1 : e-degree = 5 + -8.4514648771e-02,1.4399520180e-09,-6.0423329711e-14, + 6.9816167332e-20,6.7729233542e-23,-5.3308251880e-27, +# Poly EAST :: n-degree = 2 : e-degree = 4 + -4.5697800099e-09,-1.5194038814e-14,5.1112653016e-18, + -2.0307532869e-22,1.0374125432e-26, +# Poly EAST :: n-degree = 3 : e-degree = 3 + -2.8983003841e-14,-1.6414425785e-18,1.7874983379e-22, + 1.5492164174e-26, +# Poly EAST :: n-degree = 4 : e-degree = 2 + 2.7919197366e-18,1.9218613279e-22,-2.1007264634e-26, +# Poly EAST :: n-degree = 5 : e-degree = 1 + 1.0032412389e-22,-5.9007997846e-27, +# Poly EAST :: n-degree = 6 : e-degree = 0 + -4.4410970979e-27 +# tcx 47022.563745 + + +################################################################################ +# +# T C 3 2 -> U T M 3 2 +# +################################################################################ +# +# Forward: +# in: TC32_TC32, out: UTM32_ED50_B (ED50 as realised on Bornholm) +# Inverse: +# reverse. +# +# Valid area: Bornholm and surroundings +# +################################################################################ + +<UTM32_ED50_B> +proj=horner +range=119000 +ellps=intl + +fwd_origin=877605.269066,6125810.306769 +inv_origin=877605.760036,6125811.281773 + + +# tc32_ed50 -> utm32_ed50 : Bornholm + +deg=4 + +# ttu_n and ttu_e are based on static double C_ttu_b[] +# m_lim_gen: 0.086 red = 0 OBS = 852 +# m = 1.38 cm my_loss = +2 y_enp = +10.5 +# m = 1.44 cm mx_loss = +2 x_enp = +10.4 +# static double ttu_n[] + +fwd_v= +# Poly NORTH :: e-degree = 0 : n-degree = 0..4 + 6.1258112678e+06,9.9999971567e-01,1.5372750011e-10, + 5.9300860915e-15,2.2609497633e-19, +# Poly NORTH :: e-degree = 1 : n-degree = 0..3 + 4.3188227445e-05,2.8225130416e-10,7.8740007114e-16, + -1.7453997279e-19, +# Poly NORTH :: e-degree = 2 : n-degree = 0..2 + 1.6877465415e-10,-1.1234649773e-14,-1.7042333358e-18, +# Poly NORTH :: e-degree = 3 : n-degree = 0..1 + -7.9303467953e-15,-5.2906832535e-19, +# Poly NORTH :: e-degree = 4 : n-degree = 0 + 3.9984284847e-19 +# tcy 6125810.306769 + +# static double ttu_e[] +fwd_u= +# Poly EAST :: n-degree = 0 : e-degree = 0..4 + 8.7760574982e+05,9.9999752475e-01,2.8817299305e-10, + 5.5641310680e-15,-1.5544700949e-18, +# Poly EAST :: n-degree = 1 : e-degree = 0..3 + -4.1357045890e-05,4.2106213519e-11,2.8525551629e-14, + -1.9107771273e-18, +# Poly EAST :: n-degree = 2 : e-degree = 0..2 + 3.3615590093e-10,2.4380247154e-14,-2.0241230315e-18, +# Poly EAST :: n-degree = 3 : e-degree = 0..1 + 1.2429019719e-15,5.3886155968e-19, +# Poly EAST :: n-degree = 4 : e-degree = 0 + -1.0167505000e-18 +# tcx 877605.760036 + +# utt_n and utt_e are based on static double C_utt_b[] +# utm32_ed50 -> tc32_ed50 : Bornholm +# m_lim_gen: 0.086 red = 0 OBS = 852 +# m = 1.38 cm my_loss = +2 y_enp = +10.8 +# m = 1.44 cm mx_loss = +2 x_enp = +10.7 +# static double utt_n[] + +inv_v= +# Poly NORTH :: e-degree = 0 : n-degree = 4 + 6.1258103208e+06,1.0000002826e+00,-1.5372762184e-10, + -5.9304261011e-15,-2.2612705361e-19, +# Poly NORTH :: e-degree = 1 : n-degree = 3 + -4.3188331419e-05,-2.8225549995e-10,-7.8529116371e-16, + 1.7476576773e-19, +# Poly NORTH :: e-degree = 2 : n-degree = 2 + -1.6875687989e-10,1.1236475299e-14,1.7042518057e-18, +# Poly NORTH :: e-degree = 3 : n-degree = 1 + 7.9300735257e-15,5.2881862699e-19, +# Poly NORTH :: e-degree = 4 : n-degree = 0 + -3.9990736798e-19 +# tcy 6125811.281773 + +# static double utt_e[] +inv_u= +# Poly EAST :: n-degree = 0 : e-degree = 0..4 + 8.7760527928e+05,1.0000024735e+00,-2.8817540032e-10, + -5.5627059451e-15,1.5543637570e-18, +# Poly EAST :: n-degree = 1 : e-degree = 0..3 + 4.1357152105e-05,-4.2114813612e-11,-2.8523713454e-14, + 1.9109017837e-18, +# Poly EAST :: n-degree = 2 : e-degree = 0..2 + -3.3616407783e-10,-2.4382678126e-14,2.0245020199e-18, +# Poly EAST :: n-degree = 3 : e-degree = 0..1 + -1.2441377565e-15,-5.3885232238e-19, +# Poly EAST :: n-degree = 4 : e-degree = 0 + 1.0167203661e-18 +# tcx 877605.760036 + + +################################################################################ +# +# G S B -> U T M 3 3 +# +################################################################################ +# +# Forward: +# in: GSB_GS_B, out: UTM33_ED50_B +# +# Inverse: +# in: UTM33_ED50_B, out: GSB_GS_B +# +################################################################################ +<GSB> + +proj=horner +ellps=gs +urange=31000 +vrange=214000 +range=300000 +#u: 31000 -73000, 31000 -31000 +#v: 34000 -23000, 44000 -19500 + +fwd_origin=493000.00,6107000.00 +inv_origin=21000.00,18000.00 +# tol=0.040 + +uneg=true +# i.e. u = !(uneg) (u - origin) : (origin - u) + +deg=4 + +# static double Cu33gsb[] = utm33_ed50 -> gsb +fwd_c= + + 17606.901573,21150.097571, + 1.000528635e+00,9.507307614e-04, + -1.828526053e-09,3.828207311e-11, + 2.481016058e-15,1.683466885e-14, + 1.795149378e-19,-9.161067528e-19 + +# static double Cgsbu33[] = gsb -> utm33_ed50 +inv_c= + + 6107392.748060,493150.391692, + 9.994721570e-01,9.503132652e-04, + 1.815515582e-09,6.128234254e-11, + -2.261322580e-15,1.524694510e-14, + -1.745394113e-19,-9.146885316e-19 diff --git a/dk_sdfe/DK_bridges.pol b/dk_sdfe/DK_bridges.pol new file mode 100644 index 0000000..a7ed4dc --- /dev/null +++ b/dk_sdfe/DK_bridges.pol @@ -0,0 +1,141 @@ +################################################################################ +# +# S B -> U T M 3 2 _ E D 5 0 +# +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the Danish legacy system sb "System Storebælt" +# +################################################################################ + +<UTM32_ED50_L> + + +proj=horner +ellps=intl +urange=23312 +vrange=8581 + +tolerance=0.0005 +deg=3 + +inv_origin=619480.258923588,6132585.68148837 +inv_c= + 6.13342118787027e+06,4.94690181709311e+05, + 9.99824464710368e-01,2.82279070814774e-02, + 7.66123542220864e-11,1.78425334628927e-09, + -1.05584823306400e-14,-3.32554258683744e-15 + +fwd_origin=494690.026817276,6133421.13183056 +fwd_c= + 6.13258562111350e+06,6.19480105709997e+05, + 9.99378966275206e-01,-2.82153291753490e-02, + -2.27089979140026e-10,-1.77019590701470e-09, + 1.08522286274070e-14,2.11430298751604e-15 + + +# static double Cu32_sb[] = { +# /* lng*/ 12.0, /*tol*/ 0.0005, +# /*y0x0*/ 6.13258568148837e+06, 6.19480258923588e+05, +# /* 0 */ 6.13342118787027e+06, 4.94690181709311e+05, +# /* 1 */ 9.99824464710368e-01, 2.82279070814774e-02, +# /* 2 */ 7.66123542220864e-11, 1.78425334628927e-09, +# /* 3 */ -1.05584823306400e-14, -3.32554258683744e-15 +# }; + +# static double Csb_u32[] = { +# /* lng*/ 12.0, /*tol*/ 0.0005, +# /*y0x0*/ 6.13342113183056e+06, 4.94690026817276e+05, +# /* 0 */ 6.13258562111350e+06, 6.19480105709997e+05, +# /* 1 */ 9.99378966275206e-01, -2.82153291753490e-02, +# /* 2 */ -2.27089979140026e-10, -1.77019590701470e-09, +# /* 3 */ 1.08522286274070e-14, 2.11430298751604e-15, +# }; + + + + + + +################################################################################ +# +# D K S -> S 3 4 S +# +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the Danish/Swedish legacy system dks "Danish Sweedish System" +# for the Oeresund Bridge project +# +################################################################################ +# +# Forward: +# in: dks_ED50, out: S34S +# +# Datum shift by polynomium +# +################################################################################ + +<S34S> + +proj=horner +ellps=intl +urange=23312 +vrange=8581 + +tolerance=0.002 +deg=5 + +fwd_origin=103637.116675,280128.241398 +inv_origin=72992.401611,142892.658020 + +#static double Cdks_s34s[] +fwd_v= + 1.4289260828e+05,9.9939330016e-01,1.1255920917e-10, + -2.6375546482e-15,-9.5149396290e-20,1.7024223972e-24, + 3.5038969565e-02,1.4367473901e-09,2.5967234457e-15, + -4.7318054910e-20,1.0265769345e-25, + 1.1268175971e-10,1.8503698060e-16,-6.8019174157e-20, + 9.8847577733e-25, + 2.6480969928e-15,-3.8268659605e-22,-6.6031274142e-25, + -2.5246448408e-20,-1.5598835890e-26, + -4.9904833585e-25 +#Y0 280128.241398 + +fwd_u= + 7.2992315151e+04,-9.9939054228e-01,-6.1602287732e-10, + -1.5060657493e-16,-3.1481665924e-20,2.3660238855e-25, + 3.5040338291e-02,1.3005431284e-10,2.2046418037e-15, + -3.0675854396e-20,-3.0843518371e-25, + 9.2088671194e-10,-4.9324983810e-15,-1.1615028246e-19, + 2.2834235884e-24, + -1.7516677174e-15,5.6527449255e-21,2.0709971943e-26, + -5.3155865196e-20,1.2063364265e-24, + 5.7367077414e-25 +#X0 103637.116675 + +#static double Cs34s_dks[] +inv_v= + 2.8012829414e+05,9.9937856026e-01,-1.9513137375e-10, + 2.6059058957e-15,9.8448661849e-20,-1.7223526525e-24, + 3.5038549546e-02,1.4331049899e-09,2.7227293861e-15, + -3.8294077311e-20,-9.0065980349e-26, + -4.0647703863e-11,-3.5589933425e-16,6.7644775026e-20, + -9.1814477971e-25, + 2.6300007633e-15,-2.6376701341e-22,-6.8625063399e-25, + 2.6302016560e-20,6.7653023582e-26, + -4.8874165220e-25 +#Y0 142892.658020 + +inv_u= + 1.0363703201e+05,-9.9938131800e-01,-6.2049147588e-10, + 3.2453856216e-16,-2.9559528487e-20,-2.6636721706e-25, + 3.5039918195e-02,2.8136082701e-11,2.5067644278e-15, + 2.6769767533e-20,-4.2152089805e-25, + 9.1726367185e-10,4.6753315432e-15,-1.1741186042e-19, + -2.2514440015e-24, + -1.8281255006e-15,-6.1723492089e-21,6.3467999989e-26, + -4.9554614249e-20,-1.1100655258e-24, + 5.5422468524e-25 +#X0 72992.401611 diff --git a/dk_sdfe/DK_general.pol b/dk_sdfe/DK_general.pol new file mode 100644 index 0000000..5e4f981 --- /dev/null +++ b/dk_sdfe/DK_general.pol @@ -0,0 +1,363 @@ +################################################################################ +# +# U T M 3 2 -> T C 3 2 +# Jylland and Sjælland +# +# Forward: +# in: UTM32_ED50, out: TC32_TD32 +# +# +################################################################################ +<TC32_L> + +proj=horner +ellps=intl +urange=204000 +vrange=215000 + +fwd_origin=570522.986054,6194672.368029 +inv_origin=570523.004090,6194672.404130 +tol=0.040 +deg=15 + + +# static double C_ttu_l[] +# tc32_ed50 -> utm32_ed50 +# m_lim_gen: 0.096 red = 0 OBS = 31136 +# m = 1.59 cm my_loss = +9 y_enp = +4.1 +# m = 1.48 cm mx_loss = +10 x_enp = +3.9 + + +inv_v= +#Poly NORTH :: e-degree = 0 : n-degree = 15 + 6.1946723158e+06,1.0000045219e+00,1.8947542262e-11, + -1.2796962507e-15,-1.8235836152e-20,7.4221563733e-26, + 4.5786636878e-30,4.2588695671e-36,-5.7430488638e-40, + -3.1105888638e-46,3.8149524438e-50,-2.5417934852e-56, + -1.2826333588e-60,2.3271487657e-66,1.7504269999e-71, + -4.9153686133e-77, +#Poly NORTH :: e-degree = 1 : n-degree = 14 + -1.7670029800e-06,-6.2392490481e-11,-4.8215867583e-16, + 1.8286751916e-20,6.7493958567e-26,-4.2874296213e-30, + 1.0708124863e-35,5.2135831267e-40,-2.8727904955e-45, + -3.1410823017e-50,2.2277610044e-55,7.2562323052e-61, + -6.7274428468e-66,1.7295669285e-72,3.4912535381e-77, +#Poly NORTH :: e-degree = 2 : n-degree = 13 + -1.1098471809e-11,-2.0539443822e-15,2.1830096333e-20, + 7.3196926418e-25,-5.8075746999e-30,-1.0941496954e-34, + 1.0607373494e-39,7.1658456152e-45,-9.4330340714e-50, + -1.1565426416e-55,3.8940349376e-60,-6.1895516792e-66, + -5.9282254057e-71,1.8360429282e-76, +#Poly NORTH :: e-degree = 3 : n-degree = 12 + 8.0720965793e-16,4.5198573579e-20,3.7929592545e-25, + -1.3431021513e-29,-1.4555673860e-34,2.1807485281e-39, + 1.7146234573e-44,-1.9875870050e-49,-7.6765984838e-55, + 1.0390311416e-59,3.4709769980e-66,-2.3991323221e-70, + 5.4351174523e-76, +#Poly NORTH :: e-degree = 4 : n-degree = 11 + 6.9046938207e-21,3.6996176816e-25,-8.6196393638e-30, + -1.6526685516e-34,1.3344325780e-39,2.3863049416e-44, + -1.4027244189e-49,-1.5225208005e-54,8.9560012527e-60, + 3.4174647504e-65,-2.3929259324e-70,2.4202902396e-76, +#Poly NORTH :: e-degree = 5 : n-degree = 10 + -1.6623297631e-25,-1.1975552367e-29,-6.3713687020e-35, + 1.8769735113e-39,2.4836091564e-44,-1.7586922217e-49, + -2.6786969790e-54,6.3374333539e-60,1.0888750517e-64, + -6.5527815192e-71,-1.5922661599e-75, +#Poly NORTH :: e-degree = 6 : n-degree = 9 + -9.7139054654e-31,-2.6984182528e-35,1.1117972520e-39, + 1.7671217231e-44,-1.1591283076e-49,-2.3588525982e-54, + 2.3178916822e-60,1.1153770716e-64,2.4110036722e-71, + -2.2456733076e-75, +#Poly NORTH :: e-degree = 7 : n-degree = 8 + 1.2615984866e-35,1.4009069818e-39,2.4661871486e-45, + -1.1312609185e-49,-1.3595386514e-54,6.1044105297e-60, + 9.9779726573e-65,-1.0966731192e-70,-1.9324901295e-75, +#Poly NORTH :: e-degree = 8 : n-degree = 7 + 5.9432834486e-41,-9.3668872050e-46,-5.1492317271e-50, + -7.0401597242e-55,5.6536080449e-60,6.9417215330e-65, + -6.4258903837e-71,-7.4365899493e-76, +#Poly NORTH :: e-degree = 9 : n-degree = 6 + 8.1333615707e-47,-7.7935503263e-50,1.0207593542e-55, + 2.4417961337e-60,2.1206760006e-65,-3.4204444616e-71, + -5.4286217856e-76, +#Poly NORTH :: e-degree = 10 : n-degree = 5 + -4.8258845422e-51,2.0287646410e-55,-2.2892909773e-61, + 1.2279446749e-65,-6.8839078080e-71,-8.7218142644e-76, +#Poly NORTH :: e-degree = 11 : n-degree = 4 + -4.6879992399e-56,1.8066312059e-60,-2.9847840518e-66, + 2.5331878164e-72,-1.2766428372e-76, +#Poly NORTH :: e-degree = 12 : n-degree = 3 + 4.3581278331e-61,-7.3551692763e-66,4.9680793104e-71, + -1.6952051948e-76, +#Poly NORTH :: e-degree = 13 : n-degree = 2 + 9.2515530209e-67,-7.4334265486e-72,-1.3583577061e-76, +#Poly NORTH :: e-degree = 14 : n-degree = 1 + -1.3836551496e-71,4.5810638196e-77, +#Poly NORTH :: e-degree = 15 : n-degree = 0 + 2.8121757271e-77 +#tcy 6194672.404130 + +inv_u= +#Poly EAST :: n-degree = 0 : e-degree = 15 + 5.7052309162e+05,1.0000027127e+00,-6.3421363797e-11, + -1.6793126505e-15,1.4874489042e-20,2.5739849938e-25, + -2.7585678390e-30,-1.0705347924e-35,2.6832560997e-40, + -7.9243569963e-46,-1.1222038394e-50,8.2294240439e-56, + 7.6192833085e-62,-1.9724867402e-66,4.2839776823e-72, + 2.0648396250e-79, +#Poly EAST :: n-degree = 1 : e-degree = 14 + 8.6412993684e-07,8.0079095132e-11,-9.3667167139e-16, + -2.4625747282e-20,5.0612963721e-25,2.0509985564e-30, + -1.0614576358e-34,1.9779405766e-40,9.5887392920e-45, + -4.3781874001e-50,-3.6533216637e-55,2.5814337427e-60, + 2.8090326708e-66,-5.1615220926e-71,9.8910555453e-77, +#Poly EAST :: n-degree = 2 : e-degree = 13 + -7.1410457351e-11,-3.5005698351e-15,-2.1635864967e-20, + 1.7379400653e-24,1.4913963994e-29,-3.3216153498e-34, + -2.3357728692e-39,3.0105603115e-44,1.5534972750e-49, + -1.4012813930e-54,-4.9031851238e-60,3.3932251465e-65, + 6.0341662955e-71,-3.4884277274e-76, +#Poly EAST :: n-degree = 3 : e-degree = 12 + 4.8061280872e-16,-6.3244660335e-20,3.8232758024e-25, + 2.8029728482e-29,-1.8712997944e-34,-4.5337603568e-39, + 2.7382149238e-44,3.0960675125e-49,-1.7643646528e-54, + -9.3057775297e-60,5.1787829217e-65,1.0348580526e-70, + -5.6902331598e-76, +#Poly EAST :: n-degree = 4 : e-degree = 11 + 3.7423897859e-20,1.0799362952e-24,1.0004356236e-29, + -3.5931564944e-34,-4.8121950802e-39,4.9885046654e-44, + 4.9123144416e-49,-3.5361718831e-54,-1.8770072588e-59, + 1.1550285393e-64,2.7854007215e-70,-1.5546710228e-75, +#Poly EAST :: n-degree = 5 : e-degree = 10 + -7.0581160494e-26,1.4411118178e-29,-9.4790846255e-35, + -5.7185084383e-39,2.2652660802e-44,6.4114152253e-49, + -2.5251886181e-54,-2.5930633423e-59,1.0968373004e-64, + 3.4269309619e-70,-1.5664887105e-75, +#Poly EAST :: n-degree = 6 : e-degree = 9 + -8.2130289892e-30,-1.7497728587e-34,-1.6908675980e-39, + 3.3775642884e-44,5.2329011479e-49,-3.4252433832e-54, + -3.2316843056e-59,1.7818938169e-64,4.8077211024e-70, + -2.7479002516e-75, +#Poly EAST :: n-degree = 7 : e-degree = 8 + 4.5949423757e-36,-1.5085433524e-39,1.1892402157e-44, + 4.9232401471e-49,-1.8297885990e-54,-3.6673914781e-59, + 1.4525610454e-64,6.7560905013e-70,-3.1000079444e-75, +#Poly EAST :: n-degree = 8 : e-degree = 7 + 9.3245431589e-40,1.5575593772e-44,1.2131758580e-49, + -1.9407726967e-54,-2.5067936059e-59,1.4882051032e-64, + 8.0534164977e-70,-4.4640694294e-75, +#Poly EAST :: n-degree = 9 : e-degree = 6 + -6.9483379335e-46,7.5251856451e-50,-7.6194280119e-55, + -1.8826795262e-59,9.2524663913e-65,7.7469815989e-70, + -3.9378805320e-75, +#Poly EAST :: n-degree = 10 : e-degree = 5 + -5.6994758765e-50,-7.2845996105e-55,-3.4862673114e-60, + 6.4767728948e-65,4.2413780787e-70,-3.0047136112e-75, +#Poly EAST :: n-degree = 11 : e-degree = 4 + 8.6297065894e-56,-1.5998057505e-60,2.1735672094e-65, + 2.5479978494e-70,-1.7645517047e-75, +#Poly EAST :: n-degree = 12 : e-degree = 3 + 1.7564135758e-60,1.5993125664e-65,2.9657298956e-71, + -8.6758843554e-76, +#Poly EAST :: n-degree = 13 : e-degree = 2 + -4.1406073937e-66,9.4572946306e-72,-1.9683023284e-76, +#Poly EAST :: n-degree = 14 : e-degree = 1 + -2.1099345047e-71,-1.1918062814e-76, +#Poly EAST :: n-degree = 15 : e-degree = 0 + 6.4734988935e-77 +#tcx 570523.004090 + +# static double C_utt_l[] +# utm32_ed50 -> tc32_ed50 : Jylland & Sjæland +# m_lim_gen: 0.096 red = 0 OBS = 31136 +# m = 1.59 cm my_loss = +9 y_enp = +4.0 +# m = 1.48 cm mx_loss = +10 x_enp = +3.7 + +fwd_v= +#Poly NORTH :: e-degree = 0 : n-degree = 15 + 6.1946724564e+06,9.9999547815e-01,-1.8946957889e-11, + 1.2796971489e-15,1.8235464696e-20,-7.4223590017e-26, + -4.5785562647e-30,-4.2583608312e-36,5.7428909572e-40, + 3.1101873675e-46,-3.8148308924e-50,2.5418350794e-56, + 1.2825869696e-60,-2.3270836179e-66,-1.7503583037e-71, + 4.9151851966e-77, +#Poly NORTH :: e-degree = 1 : n-degree = 14 + 1.7669808195e-06,6.2392549444e-11,4.8219372843e-16, + -1.8286542185e-20,-6.7507083150e-26,4.2873719466e-30, + -1.0705696809e-35,-5.2135185948e-40,2.8725591382e-45, + 3.1410566718e-50,-2.2276485799e-55,-7.2562471603e-61, + 6.7271971762e-66,-1.7293525627e-72,-3.4911107061e-77, +#Poly NORTH :: e-degree = 2 : n-degree = 13 + 1.1098947230e-11,2.0539807450e-15,-2.1829650279e-20, + -7.3198574918e-25,5.8072702249e-30,1.0941826048e-34, + -1.0606770890e-39,-7.1662195908e-45,9.4325222466e-50, + 1.1568036551e-55,-3.8938382222e-60,6.1886031755e-66, + 5.9279419512e-71,-1.8359076883e-76, +#Poly NORTH :: e-degree = 3 : n-degree = 12 + -8.0718941440e-16,-4.5198482149e-20,-3.7932027833e-25, + 1.3430554251e-29,1.4556013822e-34,-2.1806302201e-39, + -1.7146213928e-44,1.9874817342e-49,7.6764360766e-55, + -1.0389896871e-59,-3.4704646060e-66,2.3990688530e-70, + -5.4351179206e-76, +#Poly NORTH :: e-degree = 4 : n-degree = 11 + -6.9049938098e-21,-3.6998145550e-25,8.6193517305e-30, + 1.6527097772e-34,-1.3343073590e-39,-2.3862730133e-44, + 1.4026121445e-49,1.5224675370e-54,-8.9555744013e-60, + -3.4173007596e-65,2.3928608780e-70,-2.4203824034e-76, +#Poly NORTH :: e-degree = 5 : n-degree = 10 + 1.6622673508e-25,1.1975576359e-29,6.3719594797e-35, + -1.8768710589e-39,-2.4836123272e-44,1.7585653072e-49, + 2.6786450729e-54,-6.3368982253e-60,-1.0888462245e-64, + 6.5519704749e-71,1.5922174168e-75, +#Poly NORTH :: e-degree = 6 : n-degree = 9 + 9.7148555276e-31,2.6988500848e-35,-1.1117554059e-39, + -1.7671836438e-44,1.1590019741e-49,2.3588197848e-54, + -2.3173128556e-60,-1.1153375116e-64,-2.4117583881e-71, + 2.2455985213e-75, +#Poly NORTH :: e-degree = 7 : n-degree = 8 + -1.2615164024e-35,-1.4009227649e-39,-2.4669459027e-45, + 1.1311713389e-49,1.3595387972e-54,-6.1038109231e-60, + -9.9777182550e-65,1.0965910824e-70,1.9324413693e-75, +#Poly NORTH :: e-degree = 8 : n-degree = 7 + -5.9447090366e-41,9.3625309330e-46,5.1490355624e-50, + 7.0406706327e-55,-5.6530673241e-60,-6.9417327826e-65, + 6.4248996055e-71,7.4362404024e-76, +#Poly NORTH :: e-degree = 9 : n-degree = 6 + -8.1371907265e-47,7.7937907063e-50,-1.0202856343e-55, + -2.4414752008e-60,-2.1207513918e-65,3.4193169071e-71, + 5.4283694133e-76, +#Poly NORTH :: e-degree = 10 : n-degree = 5 + 4.8269185988e-51,-2.0285756329e-55,2.2890447404e-61, + -1.2281319181e-65,6.8830354663e-71,8.7220869202e-76, +#Poly NORTH :: e-degree = 11 : n-degree = 4 + 4.6879391792e-56,-1.8067791818e-60,2.9836576941e-66, + -2.5365214875e-72,1.2768889499e-76, +#Poly NORTH :: e-degree = 12 : n-degree = 3 + -4.3584575627e-61,7.3550042852e-66,-4.9677926067e-71, + 1.6954117337e-76, +#Poly NORTH :: e-degree = 13 : n-degree = 2 + -9.2507435854e-67,7.4366840192e-72,1.3583623959e-76, +#Poly NORTH :: e-degree = 14 : n-degree = 1 + 1.3836858014e-71,-4.5817145593e-77, +#Poly NORTH :: e-degree = 15 : n-degree = 0 + -2.8122771885e-77 +#tcy 6194672.368029 + +fwd_u= +#Poly EAST :: n-degree = 0 : e-degree = 15 + 5.7052289852e+05,9.9999728728e-01,6.3421243793e-11, + 1.6793249728e-15,-1.4874377538e-20,-2.5740220763e-25, + 2.7585505182e-30,1.0705890007e-35,-2.6832549184e-40, + 7.9239726167e-46,1.1222176114e-50,-8.2293143199e-56, + -7.6201867393e-62,1.9724888107e-66,-4.2838131875e-72, + -2.0690367982e-79, +#Poly EAST :: n-degree = 1 : e-degree = 14 + -8.6409297039e-07,-8.0078830594e-11,9.3665410158e-16, + 2.4625761365e-20,-5.0613014667e-25,-2.0510271306e-30, + 1.0614683756e-34,-1.9779183426e-40,-9.5889012849e-45, + 4.3782161858e-50,3.6534105934e-55,-2.5814701906e-60, + -2.8091701109e-66,5.1616226191e-71,-9.8912047523e-77, +#Poly EAST :: n-degree = 2 : e-degree = 13 + 7.1410357489e-11,3.5005669921e-15,2.1636116918e-20, + -1.7379424466e-24,-1.4914266062e-29,3.3216282958e-34, + 2.3358444963e-39,-3.0105870622e-44,-1.5535641017e-49, + 1.4013065242e-54,4.9034535421e-60,-3.3933310009e-65, + -6.0345516400e-71,3.4885879142e-76, +#Poly EAST :: n-degree = 3 : e-degree = 12 + -4.8064795146e-16,6.3244156568e-20,-3.8230827586e-25, + -2.8029715251e-29,1.8712614792e-34,4.5338018595e-39, + -2.7381806163e-44,-3.0961280852e-49,1.7643589527e-54, + 9.3060744916e-60,-5.1788361798e-65,-1.0349034574e-70, + 5.6903744129e-76, +#Poly EAST :: n-degree = 4 : e-degree = 11 + -3.7423832253e-20,-1.0799325037e-24,-1.0004312577e-29, + 3.5931427037e-34,4.8122449732e-39,-4.9884578589e-44, + -4.9124042777e-49,3.5361486483e-54,1.8770636291e-59, + -1.1550347987e-64,-2.7855159061e-70,1.5547064158e-75, +#Poly EAST :: n-degree = 5 : e-degree = 10 + 7.0592782031e-26,-1.4410950461e-29,9.4785365750e-35, + 5.7184948784e-39,-2.2651396195e-44,-6.4114385006e-49, + 2.5250823400e-54,2.5930985128e-59,-1.0968083685e-64, + -3.4270399496e-70,1.5664868003e-75, +#Poly EAST :: n-degree = 6 : e-degree = 9 + 8.2129987018e-30,1.7497602718e-34,1.6908456297e-39, + -3.3775240805e-44,-5.2329133583e-49,3.4251560882e-54, + 3.2317163231e-59,-1.7818488508e-64,-4.8078502324e-70, + 2.7478662362e-75, +#Poly EAST :: n-degree = 7 : e-degree = 8 + -4.5967509403e-36,1.5085183885e-39,-1.1891761645e-44, + -4.9232162853e-49,1.8296668569e-54,3.6673881616e-59, + -1.4524837203e-64,-6.7561388792e-70,3.0998702292e-75, +#Poly EAST :: n-degree = 8 : e-degree = 7 + -9.3244791418e-40,-1.5575429295e-44,-1.2131540603e-49, + 1.9407387798e-54,2.5067848543e-59,-1.4881571328e-64, + -8.0534342990e-70,4.4639079022e-75, +#Poly EAST :: n-degree = 9 : e-degree = 6 + 6.9497236511e-46,-7.5250199191e-50,7.6190651695e-55, + 1.8826664962e-59,-9.2519912919e-65,-7.7469531461e-70, + 3.9377079918e-75, +#Poly EAST :: n-degree = 10 : e-degree = 5 + 5.6994106197e-50,7.2844953720e-55,3.4861949564e-60, + -6.4766555789e-65,-4.2413503103e-70,3.0046353006e-75, +#Poly EAST :: n-degree = 11 : e-degree = 4 + -8.6301846842e-56,1.5997612975e-60,-2.1734733473e-65, + -2.5479770383e-70,1.7644890462e-75, +#Poly EAST :: n-degree = 12 : e-degree = 3 + -1.7563827570e-60,-1.5992831564e-65,-2.9656774185e-71, + 8.6757401973e-76, +#Poly EAST :: n-degree = 13 : e-degree = 2 + 4.1406458233e-66,-9.4570204519e-72,1.9682268934e-76, +#Poly EAST :: n-degree = 14 : e-degree = 1 + 2.1098804652e-71,1.1917832963e-76, +#Poly EAST :: n-degree = 15 : e-degree = 0 + -6.4734080637e-77 +#tcx 570522.986054 + + +################################################################################ +# +# U T M 3 2 -> G S (Jutland and Zealand) +# Forward: +# in: UTM32_ED50, out: GS_GS +# +# Datum shift + reprojection (UTM to LCC), directly in plane coordinates, +# using a polynomium +# +################################################################################ +<GS> + +proj=horner +urange=263000 +vrange=214000 +range = 300000 +ellps=danish + +fwd_origin=500000.00,6206216.61 +first_shot_fwd_origin=621656.6489,6206216.61 +next_shot_fwd_origin=667364.8511,6206216.61 + +inv_origin=85948.68,112177.02 +tol=0.040 +deg=5 + +uneg=true +# i.e. u = !(uneg) (u - origin) : (origin - u) + +# static double Cu32gs[] = utm32_ed50 -> gs +fwd_c= + 112123.507889,85938.100252, + 1.000186984e+00,-1.994422057e-02, + -6.567625485e-13,-1.298008380e-13, + 4.091732043e-15,-8.187299687e-17, + 2.351689064e-22,-4.394110355e-24, + 5.021865838e-29,-1.008031811e-30 + +# static double Cgsu32[] = gs -> utm32_ed50 +inv_c= + 6206269.880000,499988.360000, + 9.994156600e-01,-1.992884000e-02, + 0.000000000e+00,0.000000000e+00, + -4.079000000e-15,2.440000000e-16, + -2.340000000e-22,1.900000000e-23, + 0.0,0.0 diff --git a/dk_sdfe/DK_jutland.pol b/dk_sdfe/DK_jutland.pol new file mode 100644 index 0000000..36439a4 --- /dev/null +++ b/dk_sdfe/DK_jutland.pol @@ -0,0 +1,380 @@ +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the Danish legacy system s34j "System 34 Jylland" +# +# S 3 4 J -> T C 3 2 +# +# Forward: +# in: S34J_S34, out: TC32_TC32_L +# +# Inverse: +# in: TC32_TC32_L, out: S34J_S34 +# +################################################################################ +<TC32_L> + +# static double C_ttj[] = { +# tc32_ed50 -> s34j +# my = 1.73 cm my_loss = +7 y_enp = +5.4 +# mx = 1.58 cm mx_loss = +8 x_enp = +4.6 +# m_lim_gen: 0.139 red = 0 OBS = 26062 + +proj=horner +ellps=intl +tol=0.040 +urange=245000 +vrange=250000 + + +# tcx,tcy pairs +fwd_origin=262188.742761,176325.080506 +inv_origin=533649.794619,6208030.167965 + +uneg=true +# i.e. u = !(uneg) (u - origin) : (origin - u) + +deg=13 + +inv_v= + +# Poly NORTH :: e-degree = 0 : n-degree = 13 + 1.7632529430e+05,1.0001388938e+00,-1.1576375523e-10, + -1.6692522603e-15,3.0592371879e-20,2.8373079065e-25, + -4.4459215470e-30,-2.3093174705e-35,3.5879082147e-40, + 7.4051733308e-46,-1.5150719977e-50,4.4684301183e-57, + 2.5887381798e-61,-5.2116351470e-67, + +# Poly NORTH :: e-degree = 1 : n-degree = 12 + -1.9979019458e-02,-6.3625117370e-10,-1.4014839916e-15, + -1.2493103310e-20,4.0567818085e-25,-1.0791240765e-31, + -3.7519362032e-35,1.0272538097e-40,1.0517328860e-45, + -6.4177560833e-51,2.1625973620e-56,1.2535076281e-61, + -1.0734049539e-66, + +# Poly NORTH :: e-degree = 2 : n-degree = 11 + -3.4533162605e-11,-1.4140819778e-15,7.7779650995e-21, + 6.4174392143e-25,-9.2008405822e-30,-8.2628074667e-35, + 1.4283759362e-39,4.7322488467e-45,-8.1265767189e-50, + -8.9810935240e-56,1.6434142276e-60,-7.7512876501e-67, + +# Poly NORTH :: e-degree = 3 : n-degree = 10 + -1.4425114447e-15,-3.4391684250e-20,7.4699781877e-25, + 5.8620955020e-30,-1.1003493870e-34,2.8180168085e-40, + 3.0810557733e-45,-6.3497362070e-50,2.5688465327e-55, + 2.2075658407e-60,-1.1061306192e-65, + +# Poly NORTH :: e-degree = 4 : n-degree = 9 + 2.7957970501e-20,7.2990995038e-25,1.3479752303e-29, + -2.2102059886e-34,-6.7732698734e-40,1.5791546995e-44, + -4.1528215073e-50,-3.2043997924e-55,1.4174402428e-60, + -3.3596270409e-66, + +# Poly NORTH :: e-degree = 5 : n-degree = 8 + 4.1472543131e-25,9.8092251969e-30,-1.5176965859e-34, + -3.0273348650e-39,2.2275088132e-44,1.7593697760e-49, + -9.1876452065e-55,-3.0197579748e-60,8.7941931044e-66, + +# Poly NORTH :: e-degree = 6 : n-degree = 7 + -1.5609718128e-29,-1.7107108223e-34,-3.7199002510e-39, + 3.8108750102e-44,2.8805938991e-49,-2.2419674462e-54, + -9.7066507721e-61,4.5950302714e-65, + +# Poly NORTH :: e-degree = 7 : n-degree = 6 + -5.8394454818e-35,-6.3304805691e-40,1.9677824522e-44, + 2.8123695323e-49,-2.3170561818e-54,-9.4224432814e-60, + 3.9320863713e-65, + +# Poly NORTH :: e-degree = 8 : n-degree = 5 + 3.7076110190e-39,1.8654759364e-44,3.2570797963e-49, + -2.7814436271e-54,-2.0484037857e-59,8.2167397823e-65, + +# Poly NORTH :: e-degree = 9 : n-degree = 4 + -9.0446223926e-46,-3.7286659566e-50,-1.6010689067e-54, + -7.8301791540e-60,1.3432883631e-64, + +# Poly NORTH :: e-degree = 10 : n-degree = 3 + -3.7286100066e-49,-7.2272660280e-55,-7.8350464649e-60, + 7.4323486400e-65, + +# Poly NORTH :: e-degree = 11 : n-degree = 2 + 9.4760189767e-55,4.0455995368e-60,4.0167584159e-65, + +# Poly NORTH :: e-degree = 12 : n-degree = 1 + 1.3453310976e-59,-5.1561395100e-66, + +# Poly NORTH :: e-degree = 13 : n-degree = 0 + -5.6336046875e-65 + +inv_u= + +# Poly EAST :: n-degree = 0 : e-degree = 13 + 2.6219050871e+05,-1.0001375777e+00,2.7781407173e-10, + 8.3129733948e-16,4.8889849265e-20,-4.5522545693e-25, + -1.3579592407e-29,1.2018015768e-34,1.7108196172e-39, + -1.3782560539e-44,-9.0531951558e-50,6.7529622527e-55, + 1.5103762396e-60,-1.0509031710e-65, + +# Poly EAST :: n-degree = 1 : e-degree = 12 + -1.9979871258e-02,2.0657701921e-11,-1.1853329189e-15, + 1.0335055026e-20,3.3240792566e-25,-6.2333532713e-30, + -6.3703989125e-35,1.4966750877e-39,5.0445256244e-45, + -1.3923070140e-49,4.1459059797e-57,4.5608466513e-60, + -1.0898543510e-65, + +# Poly EAST :: n-degree = 2 : e-degree = 11 + -3.7866780689e-10,1.0958485983e-15,6.2472441670e-20, + 6.4773216915e-26,-1.6702283594e-29,3.8674527268e-35, + 2.5714828191e-39,-2.0493658816e-44,-1.6333632793e-49, + 1.9246302508e-54,2.2347476328e-60,-4.3042442986e-65, + +# Poly EAST :: n-degree = 3 : e-degree = 10 + -6.6060603805e-16,-2.4463660264e-20,6.5988968807e-25, + 3.4650490828e-30,-1.6991901685e-34,5.9109915302e-40, + 1.1280861175e-44,-1.8901126007e-49,4.7398278599e-55, + 1.2810750661e-59,-7.2146495632e-65, + +# Poly EAST :: n-degree = 4 : e-degree = 9 + 1.4226125927e-20,-3.8809073080e-25,-1.5416458638e-29, + 8.4501860198e-36,2.1504520781e-39,3.5054665257e-45, + -1.6635278855e-49,4.9524378341e-55,3.9714275163e-60, + -2.1130761400e-65, + +# Poly EAST :: n-degree = 5 : e-degree = 8 + 1.9591521417e-25,5.5546763971e-30,-1.1227576746e-34, + -6.9554502111e-40,2.0627032981e-44,-1.5669644568e-50, + -7.4240809919e-55,1.5405688079e-60,3.5221220444e-66, + +# Poly EAST :: n-degree = 6 : e-degree = 7 + -2.2618689501e-30,7.0670861040e-35,1.7405475024e-39, + -8.5403342362e-45,-1.4403628733e-49,7.5330406576e-56, + 4.6122718305e-60,-1.8416270301e-65, + +# Poly EAST :: n-degree = 7 : e-degree = 6 + -2.2361965907e-35,-5.3791539152e-40,8.8754865660e-45, + 4.2756501241e-50,-9.7186430645e-55,1.5458498911e-60, + 2.9007877778e-66, + +# Poly EAST :: n-degree = 8 : e-degree = 5 + 1.4952031111e-40,-5.6728457924e-45,-8.7956995652e-50, + 7.6328031332e-55,3.6021976499e-60,-8.8798126405e-66, + +# Poly EAST :: n-degree = 9 : e-degree = 4 + 1.3064151308e-45,2.5242968975e-50,-3.5798203819e-55, + -1.0413550675e-60,1.7004472500e-65, + +# Poly EAST :: n-degree = 10 : e-degree = 3 + -4.2422565904e-51,1.9806734435e-55,1.6295501546e-60, + -2.0176214683e-65, + +# Poly EAST :: n-degree = 11 : e-degree = 2 + -3.9344956214e-56,-4.7818605153e-61,6.2012436462e-66, + +# Poly EAST :: n-degree = 12 : e-degree = 1 + 3.9859247397e-62,-2.3306828460e-66, + +# Poly EAST :: n-degree = 13 : e-degree = 0 + 5.0049039762e-67 + +# static double C_jtt[] = { +# s34j -> tc32_ed50 +# my = 1.73 cm my_loss = +7 y_enp = +5.4 +# mx = 1.58 cm mx_loss = +8 x_enp = +4.8 +# m_lim_gen: 0.139 red = 0 OBS = 26062 + +fwd_v= + + +# Poly NORTH :: e-degree = 0 : n-degree = 13 + 6.2080299895e+06,9.9946227330e-01,9.5352430588e-11, + 1.6244812523e-15,-3.0474548755e-20,-2.7093262065e-25, + 4.3846463292e-30,2.1805406516e-35,-3.5250475877e-40, + -6.8908775603e-46,1.4876736847e-50,-4.8454626314e-57, + -2.5433927550e-61,5.0736238756e-67, + +# Poly NORTH :: e-degree = 1 : n-degree = 12 + -1.9965529499e-02,-6.3810588270e-10,-1.4644626000e-15, + -9.8479255895e-21,4.1512330403e-25,-3.8156912528e-31, + -3.8746633129e-35,1.1398799817e-40,1.1048357722e-45, + -6.7546295725e-51,2.2223295599e-56,1.3324787388e-61, + -1.1281153706e-66, + +# Poly NORTH :: e-degree = 2 : n-degree = 11 + 5.2771251612e-11,1.3584781091e-15,-8.0001362857e-21, + -6.1620154327e-25,9.1962314257e-30,7.8483266599e-35, + -1.3813051691e-39,-4.5414553955e-45,7.6340552455e-50, + 9.2957156685e-56,-1.4945754252e-60,5.1988431064e-67, + +# Poly NORTH :: e-degree = 3 : n-degree = 10 + -1.4840670910e-15,-3.6366706653e-20,7.2413665046e-25, + 3.9839828940e-30,-1.0070892317e-34,5.0535317326e-40, + 2.7172062154e-45,-7.2429436930e-50,2.4408949213e-55, + 2.3921237175e-60,-1.0360045324e-65, + +# Poly NORTH :: e-degree = 4 : n-degree = 9 + -2.6225954658e-20,-7.0802120737e-25,-1.2961226101e-29, + 2.1059201887e-34,3.9464157892e-40,-1.3622661242e-44, + 6.3710463931e-50,1.8044769625e-55,-2.0433224594e-60, + 6.3630603673e-66, + +# Poly NORTH :: e-degree = 5 : n-degree = 8 + 4.3697262319e-25,1.2266303455e-29,-1.4477978619e-34, + -2.6203950672e-39,1.9108271742e-44,1.3591752487e-49, + -6.9623761938e-55,-2.6840990203e-60,2.7710554607e-66, + +# Poly NORTH :: e-degree = 6 : n-degree = 7 + 1.5078642800e-29,1.6651508456e-34,3.7850050991e-39, + -3.6650080091e-44,-2.6822846846e-49,2.0060252803e-54, + 3.6073771742e-61,-4.1485026689e-65, + +# Poly NORTH :: e-degree = 7 : n-degree = 6 + -6.3918342403e-35,-1.3964205587e-39,1.9221636286e-44, + 2.5253373077e-49,-2.0931562273e-54,-6.2693054194e-60, + 3.4067133444e-65, + +# Poly NORTH :: e-degree = 8 : n-degree = 5 + -3.6411503633e-39,-1.9351992641e-44,-3.4218920772e-49, + 2.6616960442e-54,1.9807144520e-59,-6.2668758749e-65, + +# Poly NORTH :: e-degree = 9 : n-degree = 4 + -2.5558139795e-46,5.3029706925e-50,-1.6253320182e-54, + -7.9909397575e-60,1.2611686461e-64, + +# Poly NORTH :: e-degree = 10 : n-degree = 3 + 3.6942581415e-49,9.8812894442e-55,8.8058074311e-60, + -7.6373542908e-65, + +# Poly NORTH :: e-degree = 11 : n-degree = 2 + 9.1341610884e-55,3.8572506252e-61,4.4638823986e-65, + +# Poly NORTH :: e-degree = 12 : n-degree = 1 + -1.3405129136e-59,-1.1342912173e-65, + +# Poly NORTH :: e-degree = 13 : n-degree = 0 + -5.5792025473e-65 + +fwd_u= + +# Poly EAST :: n-degree = 0 : e-degree = 13 + 5.3365156389e+05,-9.9946358837e-01,2.7668598883e-10, + -7.7750840602e-16,4.9533630434e-20,4.3863011417e-25, + -1.3967017193e-29,-1.1718841181e-34,1.8071908189e-39, + 1.3627729891e-44,-1.0029876448e-49,-6.9047545531e-55, + 1.8617194556e-60,1.1791611793e-65, + +# Poly EAST :: n-degree = 1 : e-degree = 12 + -1.9966380388e-02,1.8321091899e-11,-1.2163899389e-15, + -8.1327450427e-21,3.9376965913e-25,4.9921422931e-30, + -8.2017439521e-35,-1.2880741803e-39,7.0534179548e-45, + 1.2551923073e-49,-8.6370298949e-56,-4.2563355339e-60, + -9.5988559590e-66, + +# Poly EAST :: n-degree = 2 : e-degree = 11 + -3.8041731015e-10,-1.0722517667e-15,6.0466110374e-20, + -8.8961871777e-26,-1.5624928809e-29,-3.3977458632e-35, + 2.3233047083e-39,2.0209986661e-44,-1.4302214378e-49, + -1.9102244270e-54,1.8505412263e-60,4.3582921281e-65, + +# Poly EAST :: n-degree = 3 : e-degree = 10 + -7.1446257067e-16,2.5922771112e-20,6.3566341838e-25, + -3.6232638498e-30,-1.7667875730e-34,-4.0597063277e-40, + 1.5143698350e-44,1.7061772335e-49,1.0622151674e-55, + -1.2405969368e-59,-6.1817670757e-65, + +# Poly EAST :: n-degree = 4 : e-degree = 9 + 1.5315167370e-20,3.8493668536e-25,-1.5208617012e-29, + -9.3354761182e-36,2.0172060251e-39,-4.3180367127e-45, + -1.3636756786e-49,-3.2397640655e-55,1.4300694698e-60, + 4.5760709369e-66, + +# Poly EAST :: n-degree = 5 : e-degree = 8 + 2.0884560098e-25,-5.8664999159e-30,-1.0565155141e-34, + 6.4428847430e-40,1.9417223374e-44,1.1182637921e-50, + -8.3292182800e-55,-1.4948870405e-60,5.0574246039e-66, + +# Poly EAST :: n-degree = 6 : e-degree = 7 + -2.4587723402e-30,-7.0841387022e-35,1.7257988475e-39, + 8.8411967236e-45,-1.3763094789e-49,-2.6325558095e-56, + 4.5858833823e-60,1.7777411246e-65, + +# Poly EAST :: n-degree = 7 : e-degree = 6 + -2.4172565368e-35,5.7819207436e-40,8.5503013539e-45, + -3.8507804174e-50,-8.5513359826e-55,-1.4789616768e-60, + 5.1040658301e-66, + +# Poly EAST :: n-degree = 8 : e-degree = 5 + 1.6731324189e-40,5.7358969688e-45,-8.6906251589e-50, + -7.7358499331e-55,3.2932519740e-60,6.4698225296e-66, + +# Poly EAST :: n-degree = 9 : e-degree = 4 + 1.4308264996e-45,-2.7591381108e-50,-3.6451820914e-55, + 9.4268146145e-61,1.3561630442e-65, + +# Poly EAST :: n-degree = 10 : e-degree = 3 + -5.0538407538e-51,-2.0313311345e-55,1.6030771885e-60, + 2.0096329621e-65, + +# Poly EAST :: n-degree = 11 : e-degree = 2 + -4.3117359080e-56,5.2693713182e-61,6.7948493979e-66, + +# Poly EAST :: n-degree = 12 : e-degree = 1 + 5.4843441899e-62,2.4673130442e-66, + +# Poly EAST :: n-degree = 13 : e-degree = 0 + 5.3595732646e-67 + + +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the South Jutland legacy system "Ostenfeld" +# +# S 3 4 J -> O S +# +# Forward: +# in: S34J_S34, out: OS_OS +# +# Inverse: +# in: OS_OS, out: S34J_S34 +# +################################################################################ +<OS> + +proj=horner +ellps=bessel +urange=60000 +vrange=250000 +range = 300000 + +# tcx,tcy pairs +fwd_origin=280000.0,73000.0 +inv_origin=2000.0,68000.0 +tol=0.0005 + +uneg=true +# i.e. u = !(uneg) (u - origin) : (origin - u) + +deg=6 + +fwd_c= +# static double C34os[] = s34j -> os + + 6.853626449e+04,2.955448253e+03, + 9.998670630e-01,-1.655899148e-02, + 1.602055277e-11,-2.841831044e-10, + -2.578438745e-15,-2.376733581e-16, + 6.111814588e-20,-1.802899003e-20, + -1.539564291e-25,1.417145176e-24, + 2.410664720e-29,-7.990298697e-30 + +inv_c= +# static double Cos34[] = os -> s34j + + 7.247963213e+04,2.809641934e+05, + 9.998592871e-01,-1.655861449e-02, + -3.289800932e-11,-2.745975219e-10, + 2.751904974e-15,-6.304891315e-16, + -6.969771723e-20,-1.481705770e-20, + 4.032281321e-25,1.268841834e-24, + -2.486793478e-29,-5.147362835e-30 + diff --git a/dk_sdfe/DK_zealand.pol b/dk_sdfe/DK_zealand.pol new file mode 100644 index 0000000..fbe40ac --- /dev/null +++ b/dk_sdfe/DK_zealand.pol @@ -0,0 +1,251 @@ +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the Danish legacy system s34s "System 34 Sjaelland" +# +# +# S 3 4 S -> T C 3 2 +# +# Forward: +# in: UTM32_ED50, out: TC32_ED50 +# +################################################################################ +<TC32_L> + +proj=horner +ellps=intl +urange=162378 +vrange=131287 + +# tcx,tcy pairs +fwd_origin=116964.303712,107905.132295 +inv_origin=680161.119096,6142519.772410 +tol=0.040 + +deg=9 + +inv_v= + +# static double C_tts[] = { +# tc32_ed50 -> s34s +# my = 1.26 cm my_loss = +6 y_enp = +9.8 +# mx = 1.19 cm mx_loss = +5 x_enp = +10.2 +# m_lim_gen: 0.101 red = 0 OBS = 8106 + +# Poly NORTH :: e-degree = 0 : n-degree = 9 + 1.0790733557e+05,9.9978922407e-01,3.5199568602e-12, + 5.1371006741e-17,-5.2674982432e-21,-6.8633477057e-26, + 5.1727956866e-31,9.2832920893e-36,-2.2258447927e-41, + -2.2144983452e-46, + +# Poly NORTH :: e-degree = 1 : n-degree = 8 + -1.9602385333e-02,-4.3675940379e-09,7.6436547439e-18, + 1.8802342887e-20,-2.7487028436e-25,-7.4776404487e-30, + 8.0782627715e-35,6.3325807179e-40,-4.8834125991e-45, + +# Poly NORTH :: e-degree = 2 : n-degree = 7 + 6.5564651697e-12,-6.8104889506e-16,3.7351975921e-20, + 1.2750282849e-25,-1.4236072742e-29,3.4605532471e-35, + 1.3987424974e-39,-7.0228278061e-45, + +# Poly NORTH :: e-degree = 3 : n-degree = 6 + -8.6390226401e-16,-4.8691448800e-21,4.6681558601e-25, + 8.2952775380e-30,1.3331457339e-36,-1.4070764915e-39, + 1.7554514720e-46, + +# Poly NORTH :: e-degree = 4 : n-degree = 5 + 1.1436559200e-20,-3.0223353286e-25,-7.1479244842e-30, + 1.1181122276e-34,2.2633804858e-39,-2.0692978938e-44, + +# Poly NORTH :: e-degree = 5 : n-degree = 4 + 3.3080882854e-25,-1.5748600077e-30,-1.8859051097e-34, + -8.7896010280e-40,1.7785495142e-44, + +# Poly NORTH :: e-degree = 6 : n-degree = 3 + -5.9321703176e-31,7.4259754996e-35,-2.4544120405e-40, + -9.0807428104e-45, + +# Poly NORTH :: e-degree = 7 : n-degree = 2 + -3.8436267359e-35,4.9811624316e-40,9.5752951153e-45, + +# Poly NORTH :: e-degree = 8 : n-degree = 1 + -3.1746636958e-41,-3.0596457190e-45, + +# Poly NORTH :: e-degree = 9 : n-degree = 0 + 1.1310675824e-45 + +inv_u= + +# Poly EAST :: n-degree = 0 : e-degree = 9 + 1.1696718747e+05,-9.9978831381e-01,2.1776749302e-09, + -1.2496489584e-15,-3.3527323606e-21,3.7270837329e-25, + 7.3856018504e-32,-4.8628298904e-35,3.5992539427e-41, + 2.3406605032e-45, + +# Poly EAST :: n-degree = 1 : e-degree = 8 + -1.9605529419e-02,-1.8950453044e-12,9.7761865754e-16, + 7.1109195187e-21,-6.8279010167e-25,6.1201418390e-30, + 2.0210581504e-34,-5.9646652818e-40,-1.7012215804e-44, + +# Poly EAST :: n-degree = 2 : e-degree = 7 + -2.1724968176e-09,-2.2833188475e-15,1.5804419960e-20, + 1.0046109955e-24,-1.0905863818e-29,-3.3246416930e-34, + 1.4654115654e-39,3.4837915567e-44, + +# Poly EAST :: n-degree = 3 : e-degree = 6 + 1.0061563224e-15,2.3345263492e-20,-5.0573180168e-25, + 2.0779422372e-30,1.9521533409e-34,-2.3928335128e-39, + -3.4589422763e-44, + +# Poly EAST :: n-degree = 4 : e-degree = 5 + -9.4604102082e-23,7.7644335488e-25,1.9141704670e-31, + -1.3775242735e-34,2.0978770016e-39,3.2391064284e-44, + +# Poly EAST :: n-degree = 5 : e-degree = 4 + -2.0195860626e-25,-3.1589746115e-30,3.0469114609e-35, + -3.5974158333e-40,-1.4395181443e-44, + +# Poly EAST :: n-degree = 6 : e-degree = 3 + -6.6939312923e-31,-8.2640389316e-35,-3.3634105679e-40, + 2.7882436780e-45, + +# Poly EAST :: n-degree = 7 : e-degree = 2 + 1.9839348020e-35,1.9214332316e-40,2.7771816013e-45, + +# Poly EAST :: n-degree = 8 : e-degree = 1 + 6.6045465312e-41,2.5205909964e-45, + +# Poly EAST :: n-degree = 9 : e-degree = 0 + -6.6096428142e-46 + +# static double C_stt[] = { +# s34s -> tc32_ed50 +# m_lim_gen: 0.101 red = 0 OBS = 8106 +# my = 1.26 cm my_loss = +6 y_enp = +9.9 +# mx = 1.19 cm mx_loss = +5 x_enp = +10.1 + +fwd_v= + +# Poly NORTH :: e-degree = 0 : n-degree = 9 + 6.1425176260e+06,9.9982642270e-01,-1.3168917417e-10, + -3.9708041280e-17,5.6146952745e-21,5.8802311638e-26, + -6.7090237676e-31,-7.2703800574e-36,3.5399175335e-41, + 1.1362194189e-46, + +# Poly NORTH :: e-degree = 1 : n-degree = 8 + -1.9603123674e-02,-4.3603758981e-09,8.3991514570e-17, + 1.6432988768e-20,-3.0087468049e-25,-6.7642087335e-30, + 8.2029047097e-35,5.6678762622e-40,-4.6707562910e-45, + +# Poly NORTH :: e-degree = 2 : n-degree = 7 + 1.2169460553e-10,6.7593802589e-16,-3.8294951950e-20, + -8.7128023349e-26,1.5384275104e-29,-4.3441068759e-35, + -1.5686253766e-39,7.8385297914e-45, + +# Poly NORTH :: e-degree = 3 : n-degree = 6 + -8.5249457247e-16,-4.4243649688e-21,4.7595992589e-25, + 7.6204541165e-30,-1.2731004573e-36,-1.3997953545e-39, + 7.7759642704e-46, + +# Poly NORTH :: e-degree = 4 : n-degree = 5 + -1.1411170819e-20,3.0175854442e-25,6.2771815369e-30, + -1.2594682090e-34,-2.1552562679e-39,2.2003142841e-44, + +# Poly NORTH :: e-degree = 5 : n-degree = 4 + 3.1748967872e-25,-1.8957154350e-30,-1.8300542516e-34, + -6.1875394978e-40,1.6039178559e-44, + +# Poly NORTH :: e-degree = 6 : n-degree = 3 + 6.2809773680e-31,-6.7941076998e-35,3.8963958677e-40, + 8.2691774223e-45, + +# Poly NORTH :: e-degree = 7 : n-degree = 2 + -3.6073724771e-35,5.0311388471e-40,8.7585934010e-45, + +# Poly NORTH :: e-degree = 8 : n-degree = 1 + 2.2831508241e-41,2.5353252434e-45, + +# Poly NORTH :: e-degree = 9 : n-degree = 0 + 1.0289124711e-45 + +fwd_u= + +# Poly EAST :: n-degree = 0 : e-degree = 9 + 6.8016404556e+05,-9.9982733281e-01,2.1740820158e-09, + 1.2382715255e-15,-2.9662643366e-21,-3.6554059502e-25, + 1.7496545569e-31,4.5411700623e-35,2.4479315571e-41, + -2.0352589996e-45, + +# Poly EAST :: n-degree = 1 : e-degree = 8 + -1.9606267471e-02,2.5792993170e-10,9.4490902015e-16, + -7.8536713147e-21,-6.8369046954e-25,-5.6559633520e-30, + 1.9646594761e-34,5.3776287501e-40,-1.6069390003e-44, + +# Poly EAST :: n-degree = 2 : e-degree = 7 + -2.1687704677e-09,2.2871505147e-15,1.7552494613e-20, + -1.0379793993e-24,-1.1511364558e-29,3.4746687004e-34, + 1.4031897593e-39,-3.5537902330e-44, + +# Poly EAST :: n-degree = 3 : e-degree = 6 + 1.0525312560e-15,-2.2976407795e-20,-5.0233954159e-25, + -3.1489303440e-30,2.1953774943e-34,2.4133571832e-39, + -3.7003949066e-44, + +# Poly EAST :: n-degree = 4 : e-degree = 5 + -6.4478340743e-22,-7.6951221900e-25,-6.0207896532e-31, + 1.5126843484e-34,2.3400992651e-39,-3.5469421836e-44, + +# Poly EAST :: n-degree = 5 : e-degree = 4 + -2.1846335209e-25,3.3565726508e-30,3.0201171366e-35, + 6.0281731944e-40,-1.7776719148e-44, + +# Poly EAST :: n-degree = 6 : e-degree = 3 + -5.9548204246e-31,7.9350728807e-35,-2.4731347203e-40, + -4.4774264707e-45, + +# Poly EAST :: n-degree = 7 : e-degree = 2 + 2.1601953120e-35,-2.2482835957e-40,2.7797554420e-45, + +# Poly EAST :: n-degree = 8 : e-degree = 1 + 6.1447196093e-41,-2.1967616472e-45, + +# Poly EAST :: n-degree = 9 : e-degree = 0 + -7.1115410472e-46 + +################################################################################ +# +# These are the polynomial coefficients used for transforming to and from +# the Koebenhavns Kommunes mapping system +# S 3 4 S -> K K +# +# Forward: +# in: S34S_S34, out: KK_KK +# +################################################################################ +<KK> +proj=horner +ellps=danish +range=100000 + +# tcx,tcy pairs +fwd_origin=72000.0,140000.0 +inv_origin=-137000.0,77000.0 +tol=0.005 + +deg=4 + +fwd_c= +# static double C34kk[] = s34s -> kk + 7.693586910e+04,-1.379401748e+05, + 9.999741493e-01,-3.210304882e-05, + -6.390451712e-10,-1.133610356e-09, + 4.949851810e-15,2.548578925e-14, + 9.257340940e-18,-1.247871289e-18 + +inv_c= +# static double Ckk34[] = kk -> s34s + 1.400641017e+05,7.294020022e+04, + 1.000023833e+00,3.354660075e-05, + 7.578997888e-10,1.101628590e-09, + -1.200882360e-14,-5.998822689e-14, + -9.258611225e-18,1.246673174e-18 diff --git a/dk_sdfe/FO b/dk_sdfe/FO new file mode 100644 index 0000000..095d869 --- /dev/null +++ b/dk_sdfe/FO @@ -0,0 +1,42 @@ +#------------------------------------------------------------------------------ +# +# PROJ implementations of current and legacy Faroese coordinate systems +# +#------------------------------------------------------------------------------ +# +# This file is Work-In-Progress, and should not be used without great testing care. It is +# currently provided for informational and testing purposes, but will in due course become +# the official definition and implementation of transformations to and from Faroese systems. +# +# Revision history: +# ----------------- +# +# 2017-10-03 Initial setup. +# Kristian Evers <kreve@sdfe.dk> +# +# 2018-02-19 Added FVR09. +# Kristian Evers <kreve@sdfe.dk> +# +# 2018-08-29 Added FK89 +# Kristian Evers <kreve@sdfe.dk>,Thomas Knudsen <thokn@sdfe.dk> +# +<FVR09> +proj=vgridshift +grids=fvr09.gtx + +<UTM29N> +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs +<UTM29N_FVR09> +proj=pipeline +step +init=FO:FVR09 +step +init=FO:UTM29N + +<FOTM> +proj=etmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +y_0=-6000000 +ellps=GRS80 +units=m +no_defs +<FOTM_FVR09> +proj=pipeline +step +init=FO:FVR09 +step +init=FO:FOTM + +<FD54> +proj=utm +zone=29 +ellps=intl +units=m +no_defs + +<FK89> proj=pipeline + step proj=utm ellps=GRS80 zone=29 + step init=FO_fk89.pol:UTM29_FK89 + +<gie> +operation init=FO:FK89 +tolerance 50 mm +accept -7 62 0 0 +expect 594919.9029294271 701535.25742737006 0.0 0.0 +</gie> diff --git a/dk_sdfe/FO_fk89.pol b/dk_sdfe/FO_fk89.pol new file mode 100644 index 0000000..62dde11 --- /dev/null +++ b/dk_sdfe/FO_fk89.pol @@ -0,0 +1,242 @@ +################################################################################ +# +# U 2 9 -> F K 8 9 +# +# Forward: +# in: UTM29_ETRS89, out: FK89_FD89 +# +# Datum shift + reprojection (UTM to LCC), directly in plane coordinates, +# using a polynomium +# +################################################################################ +<UTM29_FK89> + +proj=horner +ellps=intl +range=200000 +deg=10 +tol=0.080 + +fwd_origin=615628.465396,6884892.302740 +inv_origin=584030.416203,710635.000077 + +# static double U29_FK89[] = { +# Y&X-generelt pol. resultater +# utm29_etrs89 -> fk89 +# grad: 10 pass: 4 +# my = 1.51 cm my_loss = +8 y_enp = +9.9 +# mx = 1.48 cm mx_loss = +8 x_enp = +9.9 +# OBS = 715 red = 0 m_lim_gen: 0.075 + +fwd_v=\ + +# Poly NORTH :: e-degree = 0 : n-degree = 10 + 7.1063527934e+05,1.0002446975e+00,1.7560781371e-10,\ + 8.1535974297e-15,-5.1940724317e-19,-9.0777540994e-24,\ + 6.4757592819e-28,1.2219920950e-32,-1.9569041620e-37,\ + -5.7047296845e-42,-3.3497506237e-47,\ + +# Poly NORTH :: e-degree = 1 : n-degree = 9 + -3.1697572706e-05,-2.7540312029e-09,3.7450132806e-14,\ + -4.0931436162e-19,-7.5059633565e-23,-2.0037941581e-29,\ + 5.2629402314e-32,4.0212499323e-37,-1.0055840726e-41,\ + -1.0901509459e-46,\ + +# Poly NORTH :: e-degree = 2 : n-degree = 8 + -8.9069244655e-10,1.6759690651e-14,3.7938673309e-18,\ + -2.8721477191e-24,-6.1328392039e-27,-7.0937969439e-32,\ + 2.5658100193e-36,4.8343746366e-41,1.7172167215e-46,\ + +# Poly NORTH :: e-degree = 3 : n-degree = 7 + 1.2093995115e-14,-4.2669495351e-18,2.7490613686e-23,\ + 1.0633053170e-26,-4.1557678337e-32,-5.6572254446e-36,\ + -2.1889789784e-41,2.5704307349e-46,\ + +# Poly NORTH :: e-degree = 4 : n-degree = 6 + 7.3986334428e-18,-7.8592544167e-22,1.3925969661e-27,\ + 9.6441957785e-31,-4.3301458566e-37,-3.5315326561e-40,\ + -2.7231680821e-45,\ + +# Poly NORTH :: e-degree = 5 : n-degree = 5 + 3.5853169295e-22,-2.3899417474e-26,-2.3594385620e-31,\ + 2.0473422329e-35,9.9407383094e-41,-3.7660948496e-45,\ + +# Poly NORTH :: e-degree = 6 : n-degree = 4 + -1.5256010582e-27,1.2490115018e-30,-7.2927376677e-35,\ + 3.7076541649e-40,2.3125315048e-44,\ + +# Poly NORTH :: e-degree = 7 : n-degree = 3 + -6.0595941382e-31,8.7299916970e-35,-3.0539826700e-39,\ + 2.4672920636e-44,\ + +# Poly NORTH :: e-degree = 8 : n-degree = 2 + -2.0594629710e-35,1.7679512049e-39,-3.1835432669e-44,\ + +# Poly NORTH :: e-degree = 9 : n-degree = 1 + -3.0626227592e-40,1.2140756108e-44,\ + +# Poly NORTH :: e-degree = 10 : n-degree = 0 + -1.7883993198e-45 +#tcy 6884892.302740, + +fwd_u=\ + +# Poly EAST :: n-degree = 0 : e-degree = 10 + 5.8403112397e+05,-1.0002499735e+00,1.0462114095e-09,\ + 3.8346137186e-14,4.3986548477e-18,9.0532119046e-23,\ + -1.0852456692e-26,-9.9252193443e-31,-3.6483144897e-35,\ + -6.2888233249e-40,-4.1205998134e-45,\ + +# Poly EAST :: n-degree = 1 : e-degree = 9 + -3.1566686661e-05,1.8619775436e-10,7.6946790684e-14,\ + -2.1967618318e-18,-6.4738161333e-22,-1.0527565092e-26,\ + 2.1706843207e-30,1.2651155145e-34,2.6515296921e-39,\ + 2.0086843573e-44,\ + +# Poly EAST :: n-degree = 2 : e-degree = 8 + -1.4225235867e-09,-1.1979510783e-15,3.0666429588e-19,\ + -1.3921407511e-22,1.8823362834e-26,5.8411863903e-31,\ + -9.7656931223e-35,-4.0203746801e-39,-3.2932159319e-44,\ + +# Poly EAST :: n-degree = 3 : e-degree = 7 + 1.3002111796e-14,-7.5400222811e-19,-2.3442223060e-22,\ + 6.6119208292e-27,9.3227269299e-31,-1.7210772752e-35,\ + -7.9921934523e-40,2.3877924864e-44,\ + +# Poly EAST :: n-degree = 4 : e-degree = 6 + 1.0855966850e-19,-3.1077967933e-23,-2.2260680109e-27,\ + 1.4992828827e-31,-1.8979443242e-35,-4.3114588292e-41,\ + 5.6162351145e-44,\ + +# Poly EAST :: n-degree = 5 : e-degree = 5 + -1.2831699156e-23,3.6220155506e-28,1.8210135015e-31,\ + -2.7449314450e-36,-3.5250339861e-40,1.3174426980e-44,\ + +# Poly EAST :: n-degree = 6 : e-degree = 4 + -1.9352574291e-28,3.0009791050e-32,2.7867762934e-36,\ + -9.4615259849e-41,2.6156032197e-46,\ + +# Poly EAST :: n-degree = 7 : e-degree = 3 + 3.5480723428e-33,1.0163897413e-37,-2.8228270991e-41,\ + -9.0085491626e-46,\ + +# Poly EAST :: n-degree = 8 : e-degree = 2 + 7.6386153586e-38,-8.8135276081e-42,-4.9942257324e-46,\ + +# Poly EAST :: n-degree = 9 : e-degree = 1 + 9.5336253070e-44,-8.6186874629e-47,\ + +# Poly EAST :: n-degree = 10 : e-degree = 0 + -2.9093981205e-48 +#tcx 615628.465396 + + +# static double U29_FK89[] = { +# Y&X-generelt pol. resultater +# fk89 -> utm29_etrs89 +# grad: 10 pass: 4 +# my = 1.51 cm my_loss = +8 y_enp = +9.9 +# mx = 1.48 cm mx_loss = +8 x_enp = +10.2 +# OBS = 715 red = 0 m_lim_gen: 0.075 + +inv_v=\ + +# Poly NORTH :: e-degree = 0 : n-degree = 10 + 6.8848920236e+06,9.9975536348e-01,-1.7565123284e-10,\ + -8.1499580415e-15,5.1897975698e-19,9.0679187278e-24,\ + -6.4669979487e-28,-1.2201603287e-32,1.9531821520e-37,\ + 5.6932211917e-42,3.3424129498e-47,\ + +# Poly NORTH :: e-degree = 1 : n-degree = 9 + -3.1682520901e-05,-2.7520561017e-09,3.7426462292e-14,\ + -4.0820779859e-19,-7.4975337739e-23,-2.1109825851e-29,\ + 5.2539369747e-32,4.0199517383e-37,-1.0025516186e-41,\ + -1.0873045625e-46,\ + +# Poly NORTH :: e-degree = 2 : n-degree = 8 + 8.9002292674e-10,-1.6698011234e-14,-3.7900266164e-18,\ + 2.7930587309e-24,6.1229612251e-27,7.0849075920e-32,\ + -2.5597755505e-36,-4.8219668659e-41,-1.7114845218e-46,\ + +# Poly NORTH :: e-degree = 3 : n-degree = 7 + 1.2117485546e-14,-4.2647429713e-18,2.7355378949e-23,\ + 1.0620059703e-26,-4.1264367505e-32,-5.6458018213e-36,\ + -2.1976705146e-41,2.5478883026e-46,\ + +# Poly NORTH :: e-degree = 4 : n-degree = 6 + -7.3903665045e-18,7.8456276445e-22,-1.3669049859e-27,\ + -9.6254035413e-31,4.1145052610e-37,3.5220243249e-40,\ + 2.7191179708e-45,\ + +# Poly NORTH :: e-degree = 5 : n-degree = 5 + 3.5784726125e-22,-2.3830757291e-26,-2.3608203487e-31,\ + 2.0390039133e-35,9.9726785338e-41,-3.7435501658e-45,\ + +# Poly NORTH :: e-degree = 6 : n-degree = 4 + 1.5318148003e-27,-1.2469246238e-30,7.2711825515e-35,\ + -3.6763739770e-40,-2.3067346627e-44,\ + +# Poly NORTH :: e-degree = 7 : n-degree = 3 + -6.0479653547e-31,8.7068978212e-35,-3.0436446950e-39,\ + 2.4567717767e-44,\ + +# Poly NORTH :: e-degree = 8 : n-degree = 2 + 2.0540707435e-35,-1.7622447337e-39,3.1714212236e-44,\ + +# Poly NORTH :: e-degree = 9 : n-degree = 1 + -3.0529222290e-40,1.2095243092e-44,\ + +# Poly NORTH :: e-degree = 10 : n-degree = 0 + 1.7818748571e-45 +#tcy 710635.000077, + +inv_u=\ + +# Poly EAST :: n-degree = 0 : e-degree = 10 + 6.1562917300e+05,-9.9975008896e-01,1.0454602153e-09,\ + -3.8334505700e-14,4.3939317783e-18,-9.0279545687e-23,\ + -1.0841282557e-26,9.9051421445e-31,-3.6387986798e-35,\ + 6.2695359772e-40,-4.1063117302e-45,\ + +# Poly EAST :: n-degree = 1 : e-degree = 9 + -3.1550319972e-05,-1.8591469839e-10,7.6867846597e-14,\ + 2.1955732364e-18,-6.4646242284e-22,1.0498280118e-26,\ + 2.1668136514e-30,-1.2621290301e-34,2.6440281600e-39,\ + -2.0021749962e-44,\ + +# Poly EAST :: n-degree = 2 : e-degree = 8 + -1.4214894799e-09,1.2013339307e-15,3.0590585535e-19,\ + 1.3903244994e-22,1.8792909210e-26,-5.8303620062e-31,\ + -9.7437798894e-35,4.0104512619e-39,-3.2844872806e-44,\ + +# Poly EAST :: n-degree = 3 : e-degree = 7 + 1.2990993709e-14,7.5343880340e-19,-2.3408635630e-22,\ + -6.6026822824e-27,9.3034218508e-31,1.7179326496e-35,\ + -7.9678165149e-40,-2.3835709264e-44,\ + +# Poly EAST :: n-degree = 4 : e-degree = 6 + 1.0849564933e-19,3.1053351775e-23,-2.2211809228e-27,\ + -1.4961343732e-31,-1.8947162818e-35,4.3344996503e-41,\ + 5.6003853506e-44,\ + +# Poly EAST :: n-degree = 5 : e-degree = 5 + -1.2816130783e-23,-3.6214734660e-28,1.8178829355e-31,\ + 2.7407242690e-36,-3.5159353694e-40,-1.3142026225e-44,\ + +# Poly EAST :: n-degree = 6 : e-degree = 4 + -1.9328588243e-28,-2.9979475719e-32,2.7803525486e-36,\ + 9.4330351796e-41,2.6544691330e-46,\ + +# Poly EAST :: n-degree = 7 : e-degree = 3 + 3.5432021920e-33,-1.0127420419e-37,-2.8190264363e-41,\ + 8.9747789172e-46,\ + +# Poly EAST :: n-degree = 8 : e-degree = 2 + 7.6289299510e-38,8.8060514967e-42,-4.9842644311e-46,\ + +# Poly EAST :: n-degree = 9 : e-degree = 1 + 9.5516807669e-44,8.6079232774e-47,\ + +# Poly EAST :: n-degree = 10 : e-degree = 0 + -2.9025701465e-48 +#tcx 584030.416203 diff --git a/dk_sdfe/NKG b/dk_sdfe/NKG new file mode 100644 index 0000000..080779a --- /dev/null +++ b/dk_sdfe/NKG @@ -0,0 +1,195 @@ +################################################################################ +# +# +# NKG Common Nordic Reference Frame +# +# Transformations to and from the common Nordic referenc frame NKG_ETRF00. +# This init-file describes transformations between global reference frames +# and NKG_ETRF00 as well as transformations from NKG_ERTF00 to the local +# realisations of ETRS89 in each of the countries involved with NKG. +# +# All transformations in this init-file uses the common Nordic frame as a +# pivot datum. Exempt from this dogma are transformations with labels +# starting with "_". Those transformations are "private" to this file and are +# only used as steps in more complicated transformations. +# +# Sources: +# +# [0] Häkli, P. et al, 2016, The NKG2008 GPS Campaign - final transformation +# results and a new common Nordic reference frame. +# https://www.degruyter.com/downloadpdf/j/jogs.2016.6.issue-1/jogs-2016-0001/jogs-2016-0001.pdf +# +# [1] Häkli, P., 2019, ETRS89 Transformations in Fennoscandia (NKG transformation), +# EUREF2019 Tutorial. +# http://www.euref.eu/documentation/Tutorial2019/t-03-Hakli.pdf +############################################################################### + +############################################################################### +# +# Global Frames +# +# Input: Cartesian coordinates +# Output: Cartesian coordinates +# +############################################################################### + +# NKG_ETRF00 -> ITRF2008 +<ITRF2008> proj = pipeline ellps = GRS80 + + # NKG_ETRF00@2000.0 -> ETRF00@t_obs + step proj = deformation t_epoch = 2000.0 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + + # ETRF00@t_obs -> ITRF2000@t_obs + step init = NKG:ITRF2000_ETRF2000 inv + + # ITRF2000@t_obs -> ITRF2008@t_obs + step init = ITRF2008:ITRF2000 inv + + +# NKG_ETRF00 -> ITRF2014 +<ITRF2014> proj = pipeline ellps = GRS80 + + # NKG_ETRF00@2000.0 -> ETRF00@t_obs + step proj = deformation t_epoch = 2000.0 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + # ETRF00@t_obs -> ITRF2000@t_obs + step init = NKG:ITRF2000_ETRF2000 inv + + # ITRF2000@t_obs -> ITRF2014@t_obs + step init = ITRF2014:ITRF2000 inv + +# ITRF2000 -> ETRF2000 +# Source: Specifications for reference frame fixing in the analysis of a +# EUREF GPS campaign - http://etrs89.ensg.ign.fr/memo-V8.pdf +<ITRF2000_ETRF2000> proj=helmert x=0.054 +y=0.051 z=-0.048 rx=0.000891 ry=0.00539 rz=-0.008712 + drx=8.1e-05 dry=0.00049 drz=-0.000792 t_epoch=2000.0 convention=position_vector + + +############################################################################### +# +# National ETRS89 Realizations +# +# Input: Cartesian coordinates +# Output: Geodetic coordinates +# +############################################################################### + +# NKG_ETRF00 -> ETRS89(DK) [ETRF92@1994.704] +<DK> proj = pipeline ellps=GRS80 + + step init = NKG:_P1DK + + step proj = deformation dt = -5.296 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj=cart inv + +# NKG_ETRF00 -> ETRS89(EE) [ETRF96@1997.56] +<EE> proj = pipeline ellps = GRS80 + + step init = NKG:_P1EE + + step proj = deformation dt = -2.44 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj = cart inv + +# The Faroese Islands are outside the defined area for the uplift model and +# should be treated accordingly. +# # NKG_ETRF00 -> ETRS89(FO) [ETRS2000@2008.75] +# <FO> + +# NKG_ETRF00 -> ETRS89(FI) [ETRF96@1997.0] +<FI> proj = pipeline ellps = GRS80 + + step init = NKG:_P1FI + + step proj = deformation dt = -3 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj=cart inv + +# NKG_ETRF00 -> ETRS89(LV) [ETRF89@1992.75] +<LV> proj = pipeline ellps = GRS80 + + step init = NKG:_P1LV + + step proj = deformation dt = -7.25 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj = cart inv + +# NKG_ETRF00 -> ETRS89(LT) [ETRF2000@2003.75] +<LT> proj = pipeline ellps = GRS80 + + step init = NKG:_P1LT + + step proj = deformation dt = 3.75 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj=cart inv + +# NKG_ETRF00 -> ETRS89(NO) [ETRF93@1995.0] +<NO> proj = pipeline ellps = GRS80 + + step init = NKG:_P1NO + + step proj = deformation dt = -5 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj=cart inv + +# NKG_ETRF00 -> ETRS89(SE) [ETRF97@1999.5] +<SE> proj = pipeline ellps = GRS80 + + step init = NKG:_P1SE + + step proj = deformation -0.5 + xy_grids = nkgrf03vel_realigned_xy.ct2 + z_grids = nkgrf03vel_realigned_z.gtx + + step proj = cart inv + + +############################################################################### +# +# "Private" transformations +# +############################################################################### + +# The Helmert definitions below are taken from table 8 in [0]. The table lists +# parameters for Helmert transformations between NKG_ERTF00@2000.0 and the +# local realisation of ETRS89 at epoch 2000.0. Transformations starting with +# "_P1" are only to be used with the realigned velocity model, whereas +# transformations starting with "_P2" are to be used with the original velocity +# model of 2003. + +<_P1DK> proj=helmert convention=position_vector x= 0.03863 y= 0.147 z= 0.02776 s=-0.009420 rx= 0.00617753 ry= 5.064e-05 rz= 4.729e-05 +<_P1EE> proj=helmert convention=position_vector x= 0.12194 y= 0.02225 z=-0.03541 s=-0.005626 rx= 0.00227196 ry=-0.00323934 rz= 0.00247008 +<_P1FO> proj=helmert convention=position_vector x=-0.10947 y= 0.235 z= 0.09432 s=-0.002626 rx= 0.00734019 ry= 0.00454595 rz=-0.00253141 +<_P1FI> proj=helmert convention=position_vector x= 0.07251 y=-0.13019 z=-0.11323 s= 0.013012 rx=-0.00157399 ry=-0.00308833 rz= 0.00410332 +<_P1LV> proj=helmert convention=position_vector x= 0.41812 y=-0.78105 z=-0.01335 s= 0.000757 rx=-0.0216436 ry=-0.0115184 rz= 0.01719911 +<_P1LT> proj=helmert convention=position_vector x= 0.05692 y= 0.11549 z=-0.00078 s=-0.006182 rx= 0.00314291 ry=-0.00147975 rz=-0.00134758 +<_P1NO> proj=helmert convention=position_vector x=-0.13116 y=-0.02817 z=0.02036 s= 0.006569 rx=-0.00038674 ry= 0.00408947 rz= 0.00103588 +<_P1SE> proj=helmert convention=position_vector x=-0.01642 y=-0.00064 z=-0.0305 s= 0.001861 rx= 0.00187431 ry= 0.00046382 rz= 0.00228487 + + +<_P2DK> proj=helmert convention=position_vector x= 0.02746 y= 0.14404 z= 0.02104 s=-0.006958 rx= 0.00609221 ry= 0.00021292 rz=-2.866e-05 +<_P2EE> proj=helmert convention=position_vector x= 0.1168 y= 0.02088 z=-0.03851 s= 0.004492 rx= 0.00223263 ry=-0.00316453 rz= 0.00243507 +<_P2FO> proj=helmert convention=position_vector x=-0.10947 y= 0.235 z= 0.09432 s=-0.002626 rx= 0.00734019 ry= 0.00454595 rz=-0.00253141 +<_P2FI> proj=helmert convention=position_vector x= 0.06618 y=-0.13187 z=-0.11704 s= 0.14407 rx=-0.00162235 ry=-0.00299635 rz= 0.00406027 +<_P2LV> proj=helmert convention=position_vector x= 0.40283 y=-0.78511 z=-0.02256 s= 0.004128 rx=-0.02176047 ry=-0.01129611 rz= 0.01709507 +<_P2LT> proj=helmert convention=position_vector x= 0.06483 y= 0.11759 z= 0.00398 s=-0.007925 rx= 0.00320336 ry=-0.00159472 rz=-0.00129376 +<_P2NO> proj=helmert convention=position_vector x=-0.14171 y=-0.03097 z= 0.01401 s= 0.008894 rx=-0.00046734 ry= 0.00424277 rz= 0.00096413 +<_P2SE> proj=helmert convention=position_vector x=-0.01748 y=-0.00092 z=-0.03114 s= 2.093 rx= 0.00186625 ry= 0.00047915 rz= 0.00227769 |
