You are on page 1of 11

opyright 2009-2010 ANCPI

TransDatRO_code_source

Introducere
Programul TransDatRO_code_source constituie modulul final al programului
TransDatRO care asigur, pe baza unor griduri de distorsiuni, transformarea coordonatelor din
sistemul de referin European ETRS89 n sistemele de referin naionale Krasovski 1942 (S42) cu proiecia Stereografic 1970 (pentru ntreg teritoriul Romniei), Hayford 1910 cu
proiecia Stereografic 1930 (pentru municipiul Bucureti) i n sistemul de altitudini normale
Marea Neagr 1975.
Codul surs ofer un model pentru realizatorii de software care poate fi adaptat i
implementat att n receptoarele GNSS pentru determinrile de tip RTK, ct i n Sistemele
Informatice Geografice pentru reprezentrile datelor spaiale la scri mari. De asemenea,
algoritmul prezentat n continuare clarific aspectele referitoare la particularitile conversiilor
i transformrilor utilizate n program.
Forma executabil a programului (TransDatRO_code_source.jar) poate fi lansat n
execuie cu urmtoarea linie de comand (dac pachetul programului aflat n directorul
TransDatRO_code_source a fost dezarhivat/copiat n directorul C:\Projects):
java -jar "C:\Projects\TransDatRO_code_source\dist\TransDatRO_code_source.jar"

n acest caz, codul surs al programului TransDatRO_code_source se afl n urmtorul


fiier tip text :
C:\Projects\TransDatRO_code_source\src\transdatro_code_source\Main.txt

Observaie important: Gridul cu anomalii EGG97_QGRJ.GRD (EGG97_QGR.GRT) nu este n


form final definitiv datorit numrului de puncte comune insuficiente din sistemele de referin i
coordonate europene i cele naionale. n aceast situaie, realizatorii de software ar trebui s
prevad o soluie pentru introducerea acestor date ulterior dup completarea i actualizarea lor.

Algoritmul transformrii directe i inverse a coordonatelor (B, L, hel ) din sistemul


european ETRS89 la coordonatele (X, Y, HMN75) din proiecia Stereografic 1970 (1930)
i sistemul de altitudini normale Marea Neagr 1975

I. Transformarea coordonatelor (B, L, hel ) din sistemul european ETRS89 la coordonatele


(X, Y, HMN75) din proiecia Stereografic 1970 (1930) i sistemul de altitudini normale
Marea Neagr 1975
Aceast transformare este prezentat schematic astfel:

B, L ETRS 89 1 X , Y ObliqueStereographic _ GRS 80 2 X ' , Y 'Stereografic1970 3


X , Y Stereografic1970 ;
hel ETRS 89 4 H MN 75 .
Unde:

1 / 11

opyright 2009-2010 ANCPI


[1]
Conversia de la coordonatele elipsoidale din sistemul ETRS89 (elipsoidul GRS80) la
coordonatele rectangulare din proiecia stereografic oblic de pe elipsoidul GRS80 (v. Anexa
1);
[2]
Transformarea Helmert cu 4 parametri de la coordonatele rectangulare din proiecia
stereografic oblic de pe elipsoidul GRS80 la coordonatele rectangulare transformate n
proiecia Stereografic 1970 (v. Anexa 2);
[3]
Interpolarea coreciilor (distorsiunilor) din gridul de distorsiuni din fisierul binar
ETRS89_KRASOVSKI42_2DJ.GRD
(fiierul
tip
text
corespondent
este
ETRS89_KRASOVSKI42_2D.GRT) i obinerea coordonatelor rectangulare n proiecia
Stereografic 1970 prin adunarea coreciilor la coordonatele transformate din pasul precedent
(v. Anexa 3);
[4]
Interpolarea anomaliilor cvasigeoidului corespondent sistemului de altitudini Marea
Neagr 1975 din gridul cu anomalii din fiierul EGG97_QGRJ.GRD (fiierul tip text
corespondent este EGG97_QGR.GRT) i obinerea cotelor normale n sistemul Marea Neagr
1975 prin scderea anomaliilor din cotele elipsoidale n sistemul ETRS89 (v. Anexa 4).
II. Transformarea coordonatelor (X, Y, HMN75) din proiecia Stereografic 1970 (1930) i
sistemul de altitudini normale Marea Neagr 1975 la coordonatele (B, L, hel ) din sistemul
european ETRS89
Similar ca la punctul I, se reprezint schematic i transformarea invers, innd cont de de
aceleai etape parcurse anterior:

X , Y Stereografic1970 3' X ' , Y 'Stereografic1970 2' X , Y ObliqueStereographic _ GRS 80 1'


B, L ETRS 89 ;
H MN 75 4' hel ETRS 89 .
Unde:
[3]
Interpolarea coreciilor (distorsiunilor) din gridul de distorsiuni din fisierul
ETRS89_KRASOVSKI42_2DJ.GRD i obinerea coordonatelor rectangulare transformate n
proiecia Stereografic 1970 prin scderea coreciilor din coordonatele rectangulare n
proiecia Stereografic 1970;
[2]
Transformarea Helmert cu 4 parametri de la coordonatele rectangulare transformate
din proiecia Stereografic 1970 la coordonatele rectangulare n proiecia stereografic oblic
de pe elipsoidul GRS80;
[1]
Conversia de la coordonatele rectangulare din proiecia stereografic oblic de pe
elipsoidul GRS80 la coordonatele elipsoidale din sistemul ETRS89 (elipsoidul GRS80);
[4]
Interpolarea anomaliilor cvasigeoidului corespondent sistemului de altitudini Marea
Neagr 1975 din gridul cu anomalii din fiierul EGG97_QGRJ.GRD i obinerea cotelor
elipsoidale n sistemul ETRS89 prin adunarea anomaliilor la cotele normale din sistemul
Marea Neagr 1975.

2 / 11

opyright 2009-2010 ANCPI


Seturile de coordonate pentru testarea programului TransDatRO_code_source
Programul trebuie s fie testat cu seturile de coordonate n ambele sensuri ale fiecrei
transformri individuale. Diferenele dintre coordonatele obinute n program i cele listate n
tabelele urmtoare trebuie s fie mai mici sau egale cu urmtoarele valori:
- pentru East, North, hel, H_MN75 <= 0.003 metri;
- pentru , <= 0.00003".
Test coordinates for transformation ETRS89 to Stereografic 1970 + Marea Neagra 1975
Point
P1
P2
P3
P4
P5
P6
P7
OutsideGrid
OutsideBorder

_ ETRS 89

_ ETRS 89
22 28 32.00000
26 53 26.70000
20 40 11.60000
27 42 24.00000
22 54 09.30000
25 13 48.10000
23 50 46.10000
23 08 15.35121
20 35 01.23026

47 42 56.40000
47 58 33.20000
46 03 57.40000
45 05 18.20000
44 26 51.30000
43 44 37.20000
46 14 47.60000
43 11 07.00414
47 56 25.22432

h _ ETRS89
162.000
251.000
129.000
55.000
302.000
129.000
536.000
0.000
0.000

North _ St 70
693771.731
721361.806
516470.189
402327.815
329703.378
249343.594
528076.247
None
None

East _ St70
310723.518
641283.450
165265.572
713143.130
333185.413
518651.464
411159.899
None
None

H _ MN 75
122.751
217.437
86.062
22.987
260.489
89.524
495.102
None
None

Test coordinates for transformation Stereografic 1970 + Marea Neagra 1975 to ETRS89
Point
P1
P2
P3
P4
P5
P6
P7
OutsideGrid
OutsideBorder

North _ St 70
693771.731
721361.806
516470.189
402327.815
329703.378
249343.594
528076.247
188993.152
725005.421

East _ St70
310723.518
641283.450
165265.572
713143.130
333185.413
518651.464
411159.899
348668.167
170257.544

_ ETRS 89

H _ MN 75
122.751
217.437
86.062
22.987
260.489
89.524
495.102
0.000
0.000

47 42 56.40000
47 58 33.20000
46 03 57.40000
45 05 18.20000
44 26 51.30000
43 44 37.20000
46 14 47.60000
None
None

_ ETRS 89
22 28 32.00000
26 53 26.70000
20 40 11.60000
27 42 24.00000
22 54 09.30000
25 13 48.10000
23 50 46.10000
None
None

h _ ETRS89
162.000
251.000
129.000
55.000
302.000
129.000
536.000
None
None

Test coordinates for transformation ETRS89 to Stereografic 1930 + Marea Neagra 1975
Point

_ ETRS 89

B1
B2
B3
B4
B5
OutsideGrid
OutsideBorder

44 33 07.00000
44 19 32.80000
44 24 21.30000
44 30 11.90000
44 21 47.90000
44 13 26.43938
44 34 45.88279

_ ETRS 89
25 56 17.50000
26 12 38.30000
26 06 38.70000
26 12 41.50000
25 50 37.70000
26 01 00.75490
25 51 18.00864

h _ ETRS89
142.000
104.000
120.000
117.000
132.000
0.000
0.000

East _ St30
543496.555
565397.499
557350.864
565268.634
536113.846
None
None

North _ St 30
350692.549
325744.598
334573.918
345471.544
329685.299
None
None

H _ MN 75
106.863
67.932
84.168
81.980
95.545
None
None

Test coordinates for transformation Stereografic 1930 + Marea Neagra 1975 to ETRS89
Point
B1
B2
B3
B4
B5
OutsideGrid
OutsideBorder

East _ St30
543496.555
565397.499
557350.864
565268.634
536113.846
550029.245
536869.164

North _ St30
350692.549
325744.598
334573.918
345471.544
329685.299
314298.906
353703.293

H _ MN 75
106.863
67.932
84.168
81.980
95.545
0.000
0.000

_ ETRS 89
44 33 07.00000
44 19 32.80000
44 24 21.30000
44 30 11.90000
44 21 47.90000
None
None

_ ETRS 89
25 56 17.50000
26 12 38.30000
26 06 38.70000
26 12 41.50000
25 50 37.70000
None
None

h _ ETRS89
142.000
104.000
120.000
117.000
132.000
None
None

Observatie: Valorile scrise cu culoarea rosu sunt modificate fata de editia precedenta a programului.

3 / 11

opyright 2009-2010 ANCPI


ANEXA 1
Conversia direct i invers de la coordonatele elipsoidale din sistemul ETRS89 (elipsoidul
GRS80) la coordonatele rectangulare din proiecia stereografic oblic de pe elipsoidul GRS80
A. Conversia direct B, L ETRS 89 X , Y ObliqueStereographic _ GRS 80
Se dau:
-

Polul proieciei Q0 ( 0 46 0 , 0 25 0 ) care are coordonatele rectangulare plane (false) x


(Nord) = 500000 m i y (Est) = 500000 m;
Coeficientul de scar k 0 = 0,99975 pentru conversia coordonatelor din planul tangent n polul

Q0 n planul secant paralel cu acesta;


-

Parametrii elipsoidului GRS80:


o semiaxa mare = 6378137 m;
o turtirea f = 1:298.257222101;
Parametrii care definesc sfera conform:

R M 0 N0
e 2 cos 4 0
n 1
(1 e 2 )
c

(n sin 0 )(1 sin 0 )


(n sin 0 )(1 sin 0 )

unde:

M0

N0

a (1 e 2 )
(1 e 2 sin 2 0 )

a
2

1 e sin 2 0

b a(1 f )

a2 b2
a2

sin 0 ( w1 1) /( w1 1)

w1 ( S1 S 2e ) n
S1 (1 sin 0 ) /(1 sin 0 )

S2

1 e sin 0
1 e sin 0
4 / 11

opyright 2009-2010 ANCPI


-

Latitudinea i longitudinea conform a originii, Q0 ( 0 , 0 )

w 1
, unde w2 c ( S1 S 2e ) n c w1
0 arcsin 2
w

1
2

0 0
Se calculeaz:
-

Latitudinea i longitudinea conform a unui punct P( , ) pentru care se efectuaz


conversia, care are coordonatele geodezice P( , )

n( 0 ) 0

w 1
arcsin

w 1
unde:

w c S a S be

Sa

1 sin
1 sin

Sb

1 e sin
1 e sin

Valoarea

1 sin sin 0 cos cos 0 cos 0


-

Coordonatele rectangulare x (N) i y (E) n planul proieciei stereografice oblice aferent


elipsoidului GRS80

N FN 2 R k 0 sin cos 0 cos sin 0 cos( 0 ) /


E FE 2 R k 0 cos sin( 0 ) /
unde:
FN (Nord fals) = 500000
FE (Est fals) = 500000

B. Conversia invers X , Y ObliqueStereographic _ GRS 80 B, L ETRS 89


Se dau aceleai date iniiale ca la punctul I.
Se calculeaz:

5 / 11

opyright 2009-2010 ANCPI


-

Latitudinea i longitudinea conform a unui punct P( , ) pentru care se efectuaz


conversia, care are coordonatele rectangulare n proiecia stereografic oblic P( N , E )

( N FN ) ( E FE ) tan j / 2
0 2 arctan

2 R k0

j 2i 0
unde:

g 2 R k 0 tan / 4 0 / 2

h 4 R k 0 tan 0 g
E FE

i arctan
h ( N FN )
E FE
i
j arctan
g ( N FN )
-

Longitudinea geodezic

0 0 / n
-

Latitudinea izometric

1 sin
0.5 ln
/ n
c
(
1

sin

- Latitudinea geodezic
Prima aproximaie a latitudinii geodezice este dat de relaia:

1 2 arctan(e ) / 2 , n care e este baza logaritmilor naturali


Latitudinea izometric i n iteraia i corespunztoare latitudinii geodezice i este:

1 e sin i
i ln tan( i / 2 / 4)

1 e sin i

e/2

Latitudinea geodezic se calculeaz iterativ cu relaia

i 1 i ( i ) cos i (1 e 2 sin 2 i ) /(1 e 2 )


pn cnd i 1 i suficient

de mic 0.000001" .
6 / 11

opyright 2009-2010 ANCPI


ANEXA 2
Transformarea Helmert cu 4 parametri direct i invers de la coordonatele rectangulare din
proiecia stereografic oblic de pe elipsoidul GRS80 la coordonatele rectangulare transformate
n proiecia Stereografic 1970
A. Transformarea direct X , Y ObliqueStereographic _ GRS 80 X ' , Y 'Stereografic1970
Se dau parametrii transformrii
TransDatRO_code_source.

Helmert

2D

ca

valori

constante

programul

Se calculeaz coordonatele transformate n proiecia naional Stereografic 1970 cu relaiile:

X ' X 0 X * m * cos RZ Y * m * sin RZ


Y ' Y0 X * m * sin RZ Y * m * cos RZ
unde X=Est i Y=Nord, m=coeficient de scar, RZ =rotaie n jurul axei Z, iar X0=Translaie Est i
Y0=Translaie Nord.
B. Transformarea invers X ' , Y 'Stereographic1970 X , Y ObliqueStereographic _ GRS 80
Se dau parametrii transformrii Helmert 2D ca valori constante n programul
TransDatRO_code_source.
Se calculeaz coordonatele n proiecia stereografic oblic de pe elipsoidul GRS80 cu relaiile:

X X '0 X '*m'* cos R'Z Y '*m'*sin R'Z


Y Y '0 X '*m'*sin R'Z Y '*m'* cos R'Z
unde X'=Est i Y'=Nord, m' =coeficient de scar, RZ' =rotaie n jurul axei Z', iar X'0=Translaie Est i
Y'0=Translaie Nord.

7 / 11

opyright 2009-2010 ANCPI


ANEXA 3
Interpolarea
coreciilor
(distorsiunilor)
din
gridul
de
distorsiuni
ETRS89_KRASOVSKI42_2DJ.GRD i obinerea coordonatelor rectangulare transformate,

X ' ,Y 'Stereografic1970 X , Y Stereografic1970


Interpolarea distorsiunilor se efectueaz separat pentru fiecare coordonat (separat pe X i separat
pe Y).
Se dau:
-

gridul de distorsiuni sub forma unui fiier de tip text (pe baza cruia se genereaz fiierul binar
corespunztor) care are urmtoarea structur:

SUBGRID: SISTEMUL 1: ETRS89 SISTEMUL 2: Krasovski42


GRID PARINTE: NU
CREAT: 04/07/2006
ACTUALIZAT: 01/04/2009
Minimum East (minE):
109783.040
Maximum East (maxE):
904783.040
Minimum North (minN):
213634.564
Maximum North (maxN):
783634.564
East grid interval (stepE):
15000.000
North grid interval (stepN):
15000.000
Number of grid shift values (rows x columns):
2106
Number of dimensions (2 for dEast and dNorth - grid shift values):
2
Grid shift values (dEast dNorth) (columns: minE-->maxE; rows: minN-->maxN):
999.000000 999.000000
999.000000 999.000000
999.000000 999.000000

-0.218430 1.274732
-0.203549 0.803709
-0.204519 0.181353

Distorsiunile n nodurile gridului sunt scrise succesiv n secvena dEast1, dNorth1, dEast2,
dNorth2, , ncepnd cu colul stnga jos al gridului i continund pe fiecare rnd de la stnga la
dreapta i de jos n sus pn la colul dreapta sus al gridului.
Valoarea 999.000000 semnific faptul c nodul gridului se afl n afara graniei Romniei, iar
valoarea lui este testat de program pentru a semnala utilizatorului c punctul de interpolat nu se afl
n spaiul util de transformare.
Pe baza acestui fiier de tip text, se genereaz fiierul binar corespondent cu acces direct la fiecare
nod de grid.
-

relaiile pentru interpolarea distorsiunilor din grid

8 / 11

opyright 2009-2010 ANCPI


n acest algoritm se utilizeaz interpolarea bicubic spline care are ca principal caracteristic
utilizarea unor suprafee netede de interpolare.
Fie o celul mare din grid, compus din 16 noduri, ilustrat n figura 3:

Fig. 3. Celul compus (cu 16 noduri) pentru interpolarea punctului P


Pentru interpolare, se utilizeaz urmtoarea relaie care descrie o suprafa bicubic spline:
3

p( x, y ) i 0 j 0 aij x i y j
Se consider funcia f ( x, y ) p( x, y ) care are derivatele pariale fx, fy i fxy cunoscute n
colurile ptratului unitar (cu latura h=1) definit de punctele 6, 7, 11, 10 de coordonate: 6(0,0), 7(1,0),
10(0,1) i 11(1,1).
Coeficienii aij se determin din urmtorul sistem de ecuaii de condiie ale funciei f :
1. f(0,0) = p(0,0) = a00
2. f(1,0) = p(1,0) = a00 + a10 + a20 + a30
3. f(0,1) = p(0,1) = a00 + a01 + a02 + a03
4.

f (1,1) p(1,1) i 0 j 0 aij

5. fx(0,0) = px(0,0) = a10


6. fx(1,0) = px(1,0) = a10 + 2a20 + 3a30
7. fx(0,1) = px(0,1) = a10 + a11 + a12 + a13
8.

f x (1,1) p x (1,1) i 1 j 0 aij i

9. fy(0,0) = py(0,0) = a01


10. fy(1,0) = py(1,0) = a01 + a11 + a21 + a31
11. fy(0,1) = py(0,1) = a01 + 2a02 + 3a03
12. f y (1,1) p y (1,1)

i 0

j 1

aij j

13. fxy(0,0) = pxy(0,0) = a11


14. fxy(1,0) = pxy(1,0) = a11 + 2a21 + 3a31

9 / 11

opyright 2009-2010 ANCPI


15. fxy(0,1) = pxy(0,1) = a11 + 2a12 + 3a13
16. f xy (1,1) p xy (1,1)

i 1

j 1

aij ij

unde expresiile p x , p y , p xy se calculeaz cu urmtoarele identiti:


3

p x ( x, y ) i 1 j 0 aij ix i 1 y j
p y ( x, y ) i 0 j 1 a ij x i jy j 1
3

p xy ( x, y ) i 1 j 1 aij ix i 1 jy j 1
Valorile derivatelor f x , f y , f xy se calculeaz n colurile ptratului unitar 6, 7, 11, 10 cu
ajutorul valorilor nodurilor nvecinate, utiliznd metoda difereneelor finite.
Pentru fiecare col al ptratului unitar se consider separat un sistem local cu originea (i, j ) n
nodul considerat, ca n figura 4:

Fig. 4. Sistemul de coordonate relativ (i, j ) pentru calculul derivatelor


Derivatele funciei f se calculeaz cu urmtoarele relaii:

p (i 2, j ) 4 * p (i 1, j ) 3 * p (i, j )
2
3
*
p
(
i
,
j
)

4
*
p
(
i

1, j ) p(i 2, j )
f xi
2
p (i, j 2) 4 * p (i, j 1) 3 * p (i, j )
f yd
2
3 * p (i, j ) 4 * p (i, j 1) p(i, j 2)
f yi
2
p
(
i

1
,
j

1
)

p
(i 2, j 2) p (i 1, j 1) p(i 1, j 1)
f xym
4
f xd

Se calculeaz:
- distorsiunea prezis p( x, y ) ntr-un punct nou P;
- coordonatele finale corectate cu o relaie de tipul X X ' p ( x, y )
Similar se interpoleaz corecia i pentru coordonata Y, utiliznd aceeai relaie a suprafeei
bicubice spline dar cu ali coeficieni calculai care depind de distorsiunile pe Y din jurul punctului de
interpolat.

10 / 11

opyright 2009-2010 ANCPI


ANEXA 4
Interpolarea anomaliilor cvasigeoidului corespondent sistemului de altitudini Marea Neagr
1975 din gridul cu anomalii din fiierul EGG97_QGRJ.GRD i obinerea cotelor normale n
sistemul Marea Neagr 1975, hel ETRS 89 H MN 75 .
Se dau:
-

gridul de distorsiuni sub forma unui fiier de tip text (pe baza cruia se genereaz fiierul binar
corespunztor EGG97_QGRJ.GRD) care are urmtoarea structur:

SUBGRID: EGG97 - QGeoid Romania


GRID PARINTE: NU
CREAT: 14/11/2007
ACTUALIZAT: 09/07/2009
Minimum East (minE):
19.945609
Maximum East (maxE):
30.057000
Minimum North (minN):
43.421744
Maximum North (maxN):
48.533000
East grid interval (stepE):
0.111111113
North grid interval (stepN):
0.111111113
Number of grid shift values (rows x columns):
4324
Number of dimensions (1 for dZita - grid shift value):
1
Grid shift values (dEast dNorth) (columns: minE-->maxE; rows: minN-->maxN):
999.000000
999.000000
999.000000
...
41.977842
41.784944
41.561786
...
Se calculeaz:
- anomalia prezis z ( , ) ntr-un punct nou P similar ca n anexa 3;
-

cota final cu o relaie de tipul H MN 75 hel z ( , )

11 / 11

You might also like