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:

<?php
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 (
  • h=EOV H (balti magasság)

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

<?php
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:

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

vagy:

<?php
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:

<?php
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.

Hozzászólások

Hasznosnak tűnik, de szerintem nagyon szűkös a felhasználási területe. Ha már múltkor úgyis a Pythonról írtál, akor miért nem abban készítetted?

Azért nem Pythonban készült, mert

  1. a szerveren ahol a dolog működik nincs Python, viszont php-t mindenhol lehet futtatni,
  2. a Pythonhoz még annyira sem értek mint a php-hoz.

Egyébként valóban egy nagyon szűk rétegnek szól a dolog, de ott akár népszerű is lehet.

Szia!

Nekem nagyon kellene az algoritmusa az átszámításnak. Konkrétan PHP-ban kellene írnom holnapra egy átszámító progit.
Tudsz segíteni?

Üdv: Gábor

Lenne pár kérdésem. Küldtem egy mailt.

Szervusz egy projekten dolgozok, ahol nagy szükségünk lenne egy EOV átalakító program, hogy tudjunk Google Map-en ábrázolni pontokat. Tudnál segíteni? Elküldeni az api-t vagy forráskódot, de bármi (akármilyen kis segítség is lenne nagy segítség lenne.

Előre is köszönöm,
Török Károly

Kicsit bővebb információt tudsz adni a projektről?

  • platform, fejlesztőkörnyezet, programnyelv(ek), stb?
  • transzformáció elvárt pontossága [cm|dm|m]?

Kiinduási alapnak szerintem ez is jó lehet: bajnok5

Hello!

Gratulálok ehhez a kis programhoz,földmérő vagyok és sokszor van olyan problémám ,hogy gyorsan kellene megtalálnom egy EOV koordinátával ellátott pontot pl:alappont.Ez sokszor elég nehéz művelet,de most ez megszűnhetne mivel szert tettem egy iphonra viszont programot nem találtam amivel átszámíthatom a gps által adott adatokat.egy geocaching programba beütve az átszámolt koordinátákat igencsak megkönnyítené a munkámat.Tehát ha megtennéd ,hogy elküldöd a valódi url-t az nagy segítség lenne.
Előre is köszönöm!

Szabó Gábor

Köszönöm nagyon használható

Találtam én is egy hasonló alkalmazást. Ez Google Maps-szel van kombinálva. Hátha érdekel valakit:

http://geo.ramones.hu/gps2eov

Alacsonyabb pontosságú átszámításokhoz megfelelő lehet, és a magasságokat sem számítja át. Ha pontosabb megoldásra van szükség akkor nézz körül itt: http://freegeo.info/cimke/wgseov

Szia,

most épp feladatom lenne egy EOV koorináta adatbázist (pár tízezer koordináta) átkonvertálni. Tudnál segíteni?
PHP kód, vagy api url is jó volna.
Köszönöm!

Üdv!

Átszámító progit kellene írnom Java-ban... Le tudnád írni és el tudnád küldeni az átszámítás menetét/elméletét ( hogy milyen számolásokat kell elvégezni a programnak... tulajdonképpen a dolog logikája és a pontos képletek kellenének) ?
Nagyon fontos és sürgős lenne! Segítséged előre is köszi!
watchati@freemail.hu

A program forrása az év vége felé lesz közzétéve, addig használhatod a publikus API-t: http://freegeo.info/cimke/wgseov

Régi kérdés volt, akkor sürgős, de a probléma fontos és "örök".
http://vit.bme.hu/tdk/2003/zaletnyikp.pdf