Archívum - november 30, 2009

WGS84 - EOV transzformáció online

Szinte az egész hétvégén ezzel küzdöttem, de megérte. Sikerült készítenem egy online WGS84 - EOV átszámító szoftvert, ami mindkét irányban képes elvégezni a számításokat cm pontosan.

A szoftver hamarosan elérhető lesz webes felületről is, de egyelőre még "csak" API szinten működik. Valahogy így:

Átszámítás EOV-ból WGS84-be:

Az API hívása egy megfelelően formázott URL-el történik:

http://valami.domain.hu/api.php?mode=ew&y=584000&x=85000&h=120

paraméterek:

  • mode=ew transzformáció iránya: EOV->WGS84
  • y=EOV Y (>400000)
  • x=EOV X (<400000)
  • h=EOV H (balti magasság)

Erre a program a következő választ adja:

4208450.956;1383170.662;4573570.165;46.106351597;18.193885992;164.862

WGS84 koordinátákat tartalmazó pontosvesszővel elválasztott szöveg, X;Y;Z;Fi,La;h formátumban.

Átszámítás WGS84-ből EOV-ba:

Az API hívása egy megfelelően formázott URL-el történik:

http://valami.domain.hu/api.php?mode=we&x=4208450.956&y=1383170.662&z=4573570.165

vagy:

http://valami.domain.hu/api.php?mode=we&x=47&y=18&z=150

paraméterek:

  • mode=we transzformáció iránya: WGS84->EOV
  • x=WGS84 geocentrikus X koordináta, vagy Fi ellipszoidi szélesség fokban
  • y=WGS84 geocentrikus Y koordináta, vagy La ellipszoidi hosszúság fokban
  • z=WGS84 geocentrikus Z koordináta, vagy h ellipszoid feletti magasság

Erre a program a következő választ adja:

584000.003;85000.005;120.023

EOV koordinátákat tartalmazó pontosvesszővel elválasztott szöveg, Y;X;H formátumban.

Az API egy lehetséges felhasználása

php mintaprogram:

<?php

$url="http://valami.domain.hu/api.php?mode=we&x=47&y=18&z=120";
$arr=explode(';',file_get_contents($url));
echo "<pre>";
var_dump($arr);
echo "</pre>";

$url="http://valami.domain.hu/api.php?mode=ew&y=584000&x=85000&z=120";
$arr=explode(';',file_get_contents($url));
echo "<pre>";
var_dump($arr);
echo "</pre>";

?>

Ezt akár ki is lehet próbálni.

Háttér

A szoftver jelenleg nem publikus, de akit komolyan érdekel, annak szívesen elküldöm az API valódi URL-jét. A kódolás egy hétvégét vett igénybe, komolyabb előzetes php ismeret nélkül.

De mire jó? Szerintem bármilyen olyan online szolgáltatás hasznát veheti, ahol EOV-s adatokat kell megjeleníteni WGS84-ben (pl. Google Maps) vagy éppen fordítva. Hasznos lehet pl. földmérőknek, akik gyorsan át szeretnének számítani egy pontot, mert csak egy internet elérésre és böngészésre alkalmas telefonra van szükség.