Pagina 1 van 1

positie naar qth-locator

Geplaatst: 13 nov 2016, 15:07
door Ton_O_E
ik wil een scripje maken, dat je huidige positie omzet naar een qth locator (in php) gewoon omdat het kan/zou moeten kunnen
Dit heb ik gemaakt:
De dec_lat en dec_lon komen straks natuurlijk uit een post
(ik heb dit niet zelf bedacht, maar omgezet vanuit een python-script)

Code: Selecteer alles

<?php
$upper = "ABCDEFGHIJKLMNOPQRSTUVWX";
$lower = "abcdefghijklmnopqrstuvwx";

$dec_lat = 52.32127;
$dec_lon = 6.93308;

    $adj_lat = $dec_lat + 90.0;
    $adj_lon = $dec_lon + 180.0;

    $grid_lat_sq = substr($upper,round(($adj_lat/10),0),1);
    $grid_lon_sq = substr($upper,round(($adj_lon/20),0),1);

    $grid_lat_field =$adj_lat%10;
    $grid_lon_field =($adj_lon/2)%10;

    $adj_lat_remainder = ($adj_lat - round($adj_lat,0)) * 60;
    $adj_lon_remainder = ($adj_lon - round(($adj_lon/2),0)*2) * 60;

    $grid_lat_subsq = substr($lower,round(($adj_lat_remainder/2.5),0),1);
    $grid_lon_subsq = substr($lower,round(($adj_lon_remainder/5),0),1);

    echo $grid_lon_sq.$grid_lat_sq.$grid_lon_field.$grid_lat_field.$grid_lon_subsq.$grid_lat_subsq."\n";
Dit is de output (met tussen stappen)

Code: Selecteer alles

dec_lat: 52.32127
dec_lon: 6.93308

adj_lat: 142.32127
adj_lon: 186.93308

grid_lat_sq: O
grid_lon_sq: J

grid_lat_field: 2
grid_lon_field: 3

adj_lat_remainder: 19.2762
adj_lon_remainder: 55.984799999999

grid_lat_subsq: i
grid_lon_subsq: l

JO32li 
JO32li ipv JO32lh
Ziet iemand waar het mis gaat?
Het is niet, dat ik net op de grens zit of zo

ik heb ipv INT(x) (in python) round(x,0) gebruikt, zou het daar mis kunnen gaan?

Re: positie naar qth-locator

Geplaatst: 13 nov 2016, 17:41
door PE4WJ
ik heb ipv INT(x) (in python) round(x,0) gebruikt, zou het daar mis kunnen gaan?
Dat zou goed kunnen. Ik ben geen PHP expert maar ik zou even kijken hoe INT(x) (dit wordt ook wel een ¨cast¨ genoemd) werkt t.o.v. de round(x,0) functie, m.a.w. wordt er bij een cast afgerond of wordt er simpelweg ¨getrunceerd¨, d.w.z. dat het ¨fractional¨ deel er wordt afgehakt.
Overigens, de berekening van de remainder kan eleganter mbv de modulus operator (google maar even), maar ik weet niet of PHP die ondersteunt.

Succes ermee en 73,

Wouter Jan PE4WJ

Re: positie naar qth-locator

Geplaatst: 14 nov 2016, 09:08
door PA3CQN
Wouter heeft gelijk. Gebruik intval(x), niet round(x,n)

Code: Selecteer alles

<?php
$upper = "ABCDEFGHIJKLMNOPQRSTUVWX";
$lower = "abcdefghijklmnopqrstuvwx";

$dec_lat = 52.32127;
$dec_lon = 6.93308;

    $adj_lat = $dec_lat + 90.0;
    $adj_lon = $dec_lon + 180.0;

    $grid_lat_sq = substr($upper,intval(($adj_lat/10)),1);
    $grid_lon_sq = substr($upper,intval(($adj_lon/20)),1);

    $grid_lat_field =$adj_lat%10;
    $grid_lon_field =($adj_lon/2)%10;

    $adj_lat_remainder = ($adj_lat - intval($adj_lat)) * 60;
    $adj_lon_remainder = ($adj_lon - intval($adj_lon)) * 60;

    $grid_lat_subsq = substr($lower,intval($adj_lat_remainder/2.5),1);
    $grid_lon_subsq = substr($lower,intval($adj_lon_remainder/5),1);

    echo $grid_lon_sq.$grid_lat_sq.$grid_lon_field.$grid_lat_field.$grid_lon_subsq.$grid_lat_subsq."\n";

	?>

Re: positie naar qth-locator

Geplaatst: 14 nov 2016, 20:52
door Ton_O_E
Dank u, dat was het inderdaad.
http://www.tonteupen.nl/test/positie.php
klik [try it] wacht 5 sec

Re: positie naar qth-locator

Geplaatst: 14 nov 2016, 21:13
door pe5jw
Waar haal je de coordinaten vandaan ?
die van mij klopt namelijk niet.

Ik zit in jo32bl en hij geeft jo32bm.
Dat is wel de locator waar deze laptop tijdens de jota gebruikt is.

Longitude : 6.12063 E (6° 7' 14'' E)
Latitude : 52.48573 N (52° 29' 9'' N)
QTH locator : JO32BL
(http://qthlocator.free.fr/index.php)

Re: positie naar qth-locator

Geplaatst: 15 nov 2016, 09:06
door PA3CQN
pe5jw schreef:Waar haal je de coordinaten vandaan ?
die van mij klopt namelijk niet.

Ik zit in jo32bl en hij geeft jo32bm.
Dat is wel de locator waar deze laptop tijdens de jota gebruikt is.

Longitude : 6.12063 E (6° 7' 14'' E)
Latitude : 52.48573 N (52° 29' 9'' N)
QTH locator : JO32BL
(http://qthlocator.free.fr/index.php)
De positie komt van je browser/laptop. Die stuurt in eerste instantie de laatst bekende positie,
dan de ruwe positie (ip) en dan de gps positie ( als aanwezig ).
Test hier om te zien wat je browser werkelijk doorgeeft.

Re: positie naar qth-locator

Geplaatst: 15 nov 2016, 21:27
door pe5jw
Positie de je pc doorgeeft:
6.0858,52.5058
Locator van deze positie:
JO32bm

Mmm geen heel betrouwbare methode

Re: positie naar qth-locator

Geplaatst: 16 nov 2016, 09:56
door PA3RIS
Positie de je pc doorgeeft:
lat,lon
Locator van deze positie:
locator

:)

Re: positie naar qth-locator

Geplaatst: 16 nov 2016, 10:39
door PA3CQN
pe5jw schreef:Positie de je pc doorgeeft:
6.0858,52.5058
Locator van deze positie:
JO32bm

Mmm geen heel betrouwbare methode
Waarom niet? De omrekening klopt toch?
Dat je laptop een andere coordinaat doorgeeft, of zoals in het geval van
PA3RIS geen cooordinaat, ligt niet aan de rekenmethode.
Test het eens op https://developers.google.com/maps/docu ... eolocation
Er zijn bv bekende problemen met IE10 op W8.
Kortom: de methode is betrouwbaar, Windows niet .....

Re: positie naar qth-locator

Geplaatst: 16 nov 2016, 18:42
door pe5jw
Ik zeg ook niet dat het aan de reken methode ligt die lijkt het prima te doen.
Het is alleen geen betrouwbare methode om te bepalen waar de "browser" is.
Dat blijkt uit de urls die je gaf.

Re: positie naar qth-locator

Geplaatst: 16 nov 2016, 21:22
door Ton_O_E
Met je smartfoon is het redelijk betrouwbaar. Misschien handig voor al die Jota organisatoren die geen idee hebben wat een qth-locator is
het gaat ook eigenlijk om de formule. ik moest alleen coordinaten hebben om te testen

Re: positie naar qth-locator

Geplaatst: 17 nov 2016, 11:58
door PA0VRA
PA3TON schreef:Met je smartfoon is het redelijk betrouwbaar. Misschien handig voor al die Jota organisatoren die geen idee hebben wat een qth-locator is
het gaat ook eigenlijk om de formule. ik moest alleen coordinaten hebben om te testen
Hallo Ton, leuk programma, werkte op mijn samsung tablet in 1 keer goed. Dus je hebt het goed gedaan , maar je eigen computergegevens moeten wel kloppen natuurlijk. 73 Eddy PA0VRA