Go to content Go to navigation Go to search

geo-spatial.org: An elegant place for sharing geoKnowledge & geoData

Căutare



RSS / Atom / WMS / WFS


Contact


Lista de discuții / Forum


Publicat cu Textpattern


Comunitatea:

Conferința FOSS4G-Europe 2017
Conferința FOSS4G 2017

Transformarea coordonatelor între sistemele de coordonate ETRS89 și Stereografic 1970 sau Stereografic 1930 cu altitudini în sistemul Marea Neagră 1975

de Bogdan Moroșanu

Publicat la 18 Sep 2010 | Secţiunea: Articole | Categoria: Cartografie/

Odată cu introducerea tehnologiei GNSS (Global Navigation Satellite Systems) în măsuratorile terestre de precizie efectuate pe teritoriul României cererea pentru transformările directe și inverse între sistemele naționale/locale de coordonate și cele internaționale (WGS 84, ETRS89) a devenit din ce în ce mai acută. Pentru a veni în întimpinarea cererii enunțate anterior considerăm utile, pe lângă aplicația TransDatRO (aplicație lansată oficial de ANCPI în decembrie 2009), existența unei aplicații online și a unui serviciu web care sa permită efectuarea transformărilor de coordonate directe și inverse între sistemele ETRS89 și Stereografic 1970 sau Stereografic 1930. În acest scop am realizat aplicația online TransLT Online și serviciul web TransLT Web Service. Articolul de față își propune să prezinte cele două alternative referindu-se atât la la algoritmul transformărilor cât și la modul de utilizare.

Algoritmul transformărilor

Transformările de coordonate la care se referă aplicațiile enumerate mai sus sunt:

  • din sistemul ETRS89 în sistemul Stereografic 1970 cu cote în sistemul Marea Neagră 1975 (notată în continuare ETRS89Stereo70);
  • din sistemul ETRS89 în sistemul Stereografic 1930 cu cote în sistemul Marea Neagră 1975 (notată în continuare ETRS89Stereo30);
  • din sistemul Stereografic 1970 cu cote în sistemul Marea Neagră 1975 în sistemul ETRS98 (notată în continuare Stereo70ETRS89);
  • din sistemul Stereografic 1930 cu cote în sistemul Marea Neagră 1975 în sistemul ETRS98 (notată în continuare Stereo30ETRS89).

Schema generală pentru algoritmul de calcul al celor patru transformări este prezentată în figura următoare:

Schema generală a transformărilor de coordonate între sistemele ETRS89 și Stereografic 1970 sau Stereografic1930

Figura 1 – Schema generală a transformărilor de coordonate între sistemele ETRS89 și Stereografic 1970 sau Stereografic1930

Fiecare dintre pașii modelului de transformare este aplicat cu parametrii corespunzători în funcție de transformarea aplicată și de sensul ei (direct sau invers).

1. Proiecția stereografică se aplică pe elipsoidul GRS80 cu parametrii proiecției Stereografice 1970:

  • Punctului central al proiecției: 46°lat N, 25° long E;
  • Coordonatele rectangulare ale punctului central al proiecției: (N, E) = (500.000 m, 500.000 m);
  • Factorul de scară: k = 0.99975.

Formulele de calcul sunt prezentate în detaliu în documentul Guidance Note Number 7, part 2: Coordinate Conversions and Transformations including Formula (pag. 42), publicat de OGP .

2. Transformarea Helmert cu 4 parametri (rotație 2D) se aplică ca un caz particular al transformării Helmert cu 7 parametri . Formulele utilizate pentru a transforma un set de coordinate (X,Y) în (X’, Y’) sunt:

  • X’ = X 0 + X × m × cosRz – Y × m × sinRz,
  • Y’ = Y 0 + X × m × sinRz + Y × m × cosRz.

Valorile coeficienților transformării, X 0 (translație pe X), Y 0 (translație pe Y), m (factor de scară), respectiv Rz (rotație în jurul axei Z), au fost publicate de ANCPI și sunt prezentate în continuare pentru fiecare transformare în parte:

  • ETRS89Stereo70: -119.7358, -31.8051, -0.11559991, 0°0’0.22739706’’;
  • Stereo70ETRS89: 119.7358, 31.8051, 0.11559991, -0°0’0.22739706’’;
  • ETRS89Stereo30: -32701.3610, 13962.1632, 13.97707176, -0°0’-1006.26886396’’;
  • Stereo30ETRS89: 32768.6284, -13802.2702 -13.97689927, -0°0’ 1006.26886393.

3. Aplicarea corecțiilor pentru coordonatele rectangulare plane se face folosind un grid de corecții (distorsiuni) determinat apriori. Valoarea corecțiilor care urmează a fi aplicate se calculează prin interpolare bicubică spline. În cazul transformării inverse aplicarea corecțiilor se face cu semn schimbat. Pentru a vizualiza mărimea, orientarea și distribuția corecțiilor pe teritoriul României s-au realizat hărți tematice pentru transformările ETRS89Stereo70 și Stereo70ETRS89 după cum urmează:

Harta corecțiilor pe direcția nordului pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

Figura 2 – Harta corecțiilor pe direcția nordului pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

Harta corecțiilor pe direcția estului pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

Figura 3 – Harta corecțiilor pe direcția estului pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

Harta corecțiilor 2D pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

Figura 4 – Harta corecțiilor 2D (nord + est) pentru transformarea între sistemele de coordonate Stereografic 1970 și ETRS89

4. Aplicarea corecțiilor pentru cote se face folosind un grid de corecții (anomalii ale cvasigeoidului corespondent sistemului de altitudini Marea Neagră 1975) determinat apropri. Această operație se face în mod analog cu aplicarea corecțiilor pentru coordonatele rectangulare plane prezentată anterior.

Harta corecțiilor pe cote aplicate pentru transformarea între cotele elipsoidale ETRS89 și cotele normale în sistemul marea Neagra 1975

Figura 5 – Harta corecțiilor pe cote aplicate pentru transformarea între cotele elipsoidale ETRS89 și cotele normale în sistemul marea Neagra 1975

Aplicație online pentru efectuarea transformărilor de coordonate

Prima alternativă menționată în introducere este o aplicație online care se numește TransLT Online. Interfața (fig. 6) și modul de utilizare al acesteia sunt destul de simple și intuitive deci vom considera secțiunea Ajutor a aplicației suficientă pentru descriere.

Interfața aplicației TransLT Online

Figura 5 – Interfața aplicației TransLT Online

Serviciu web pentru efectuarea transformărilor de coordonate

Cea de-a doua alternativă menționată în introducere este serviciul web TransLT Web Service. Accesarea se face la adresa http://www.geo-spatial.org/transdatonline/cooOpService folosind metodele HTTP Get și Post cu parametrii:

  • cooOp (coordinate operation) care poate lua valorile: Stereo70ToETRS89, Stereo30ToETRS89, ETRS89ToStereo70 sau ETRS89ToStereo70. Acest parametru specifică transformarea care se va aplica. Cele patru valori menționate anterior corespund transformărilor: Stereo70ETRS89, Stereo30ETRS89, ETRS89Stereo70, respectiv ETRS89Stereo70;
  • coos (coordinates) pentru Get si coosArray (coordinates array) pentru Post. Coos reprezintă un set de coordonate despărțite prin caracterul „;”, iar coosArray reprezintă un vector de coordonate în format JSON (v. ex.).

Pentru a putea folosi serviciul cu succes este necesar ca următoarele mențiuni să fie luate în considerare:

  • răspunsul pentru ambele metode este în format JSON (v. ex.). Un set de coordonate este reprezentat sub următoarea formă: {"coos":[],"warning":""}. Apelarea metodei Post va returna un vector de astfel de seturi de coordonate, iar reprezentarea lui va fi: [{"coos":[],"warning":""}]. Atributul “warning” apare doar în situația în care au fost probleme la procesarea coordonatelor și ca atare coordonatele returnate trebuie ignorate;
  • coordonatele, atât la cerere cât și la răspuns, sunt exprimate în metri sau radiani după cum coordonatele sunt rectangulare sau unghiulare;
  • ordinea coordonatelor, atât la cerere cât și la răspuns, este NE(H) pentru coordonate rectangulare și BL(h) pentru coordonate unghiulare.

Exemple pentru metoda Get:

Exemplul 1:

  • cerere:
    http://www.geo-spatial.org/transdatonline/cooOpService?cooOp=Stereo70ToETRS89&coos=500000;500000;100
  • răspuns:
    {"coos":[0.8028465450500996,0.43630521911977493,139.7825537763764]}

Exemplul 2 (punct în afara gridului):

  • cerere:
    http://www.geo-spatial.org/transdatonline/cooOpService?cooOp=Stereo70ToETRS89&coos=5;1;1
  • răspuns:
    {"coos":[5,1,1],"warning":"Out of grid"}

Exemplul 3 (coordonate invalide):

  • cerere:
    http://www.geo-spatial.org/transdatonline/cooOpService?cooOp=Stereo70ToETRS89&coos=a;b;c
  • răspuns:
    {"coos":[],"warning":"Invalid coordinate data"}

Exemplu pentru metoda Post:

  • cerere:
    cooOp = ETRS89ToStereo70
    coosArray =
    [{"coos":[0.8028465450500996,0.43630521911977493,89.43911984920247]},
    {"coos":[0.9028465450500996,0.53630521911977493,90.43911984920247]}]
  • răspuns:
    [{"coos":[500000.0001279788,499999.9999533656,49.65656607282608]},
    {"coos":[51.72929657933866,30.728025586401927,90.43911984920247], "warning":"Out of grid"}]
Discută articolul (2 comentarii)

Categorii