Zadejte hledaný výraz...

Vypsat nejbližší další místo dle uložené GPS v mySQL

V databázi hotelů mám i GPS (latitude a longitude) ve tvaru: 43.368493000000 a -8.408942000000
Jak mohu vypsat nebližší hotely k daným souřadnicím?
19. 7. 2011 18:35:33
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657229
Ahoj, já používám tento mysql dotaz, snad ti to pomůže
SELECT *,
( 6371 * acos( cos( radians($center->latitude) )
* cos( radians( latitude ) )
* cos( radians( longitude )
- radians($center->longitude) )
+ sin( radians($center->latitude) )
* sin( radians( latitude ) )
)
) AS distance
FROM `table`
HAVING distance < 25
ORDER BY distance;
19. 7. 2011 18:41:48
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657228
Popravdě moc nepomůže.
19. 7. 2011 18:47:13
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657227
Co jste už zkoušel? Vypočítat vzdálenost dvou bodů je jednoduché
Abyste nemusel počítat vzdálenost všech se všemi, můžete to předomezit jen na body ve čtverci se středem v aktuálním bodě.
Jinak existují prostorové databáze, které tohle řeší samy. MySQL má taky prostorové rozšíření
http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html
19. 7. 2011 19:29:29
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657226
Pavel Kumpán
verified
rating uzivatele
27. 7. 2011 14:10:04
Zajímavý návod je na http://nerddinnerbook.s3.amazonaws.com/Part11.htm, hlavně část asi ve 3/4. Je to sice trochu jiná technologie (MS SQL), ale zápis SQL funkce bude skoro stejný.
27. 7. 2011 14:10:04
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657225
Napsal Martin Schlemmer;678953
Co jste už zkoušel? Vypočítat vzdálenost dvou bodů je jednoduché
...
Tady jsme ale na povrchu skorokoule a zeměpisná výška i šířka jsou úhly, takže by bylo asi rozumnější spočítat úhel mezi těmi dvěma vektory v radiánech a přenásobit to poloměrem země.
Což zřejmě dělá SQL od HarkIV (nekontroluji)...
3. 11. 2011 15:52:17
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657224
Dobrá připomínka, díky za postřeh po měsících. :)
Na malých vzdálenostech by to mohlo pro určité aplikace být přijatelné zjednodušení, ale je lepší to udělat správně.
3. 11. 2011 15:59:54
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657223
Jé aha pardon, já si nevšiml, že je to starší :)
3. 11. 2011 16:09:18
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657222
To nevadí, lidé se sem dostanou i v budoucnosti, takže je lepší, abychom je nezaváděli.
3. 11. 2011 16:12:56
https://webtrh.cz/diskuse/vypsat-nejblizsi-dalsi-misto-dle-ulozene-gps-v-mysql#reply657221
Pro odpověď se přihlašte.
Přihlásit