Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upit za sortiranje po udaljenosti

[es] :: MySQL :: Upit za sortiranje po udaljenosti

[ Pregleda: 2016 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

turshija
Boris Vujicic
KGB Hosting
Novi Sad

Član broj: 240915
Poruke: 27
*.dynamic.isp.telekom.rs.

Sajt: www.turshija.com


+1 Profil

icon Upit za sortiranje po udaljenosti11.05.2011. u 14:29 - pre 156 meseci
Pozdrav,
pokusavam po Googlu da nadjem resenje za ovo, ali ne uspevam ... Nije nepoznata i nova stvar, tako da verujem da se neko susretao vec sa istim ...

Prica je sledeca:
Imam sajt sa bazom podataka i Android aplikaciju. Android poziva XML fajl na sajtu (koji je zapravo dinamicka PHP stranica sa XML headerom), koji uzima podatke koje su aplikaciji na telefonu potrebne i ispisuje ih, pa telefon ucita i parsira ...
U bazi na web-u imam tabelu mesta koja izmedju ostalog sadrzi longitude i latitude svakog mesta.

Moj problem:
Zelim da posaljem trenutnu lokaciju korisnika (telefona), znaci lng i lat korisnika i na osnovu toga da izlistam mesta u okolini, sortirana po udaljenosti od najblizeg do najudaljenijeg (limit XX km ili XX mesta)...

Da li je to moguce odraditi preko SQL upita, ili mora neka dodatna magija da se koristi ? :)
Kako bi uopste to izgledalo ?
Da li je moguce sortirati po nekoj funkciji ?

mysql_query("DELETE stupidity FROM earth") or die("Stupidity");
 
Odgovor na temu

namesnik
Nikola Boričić
Niš

Član broj: 165677
Poruke: 33
*.dsl.teksavvy.com.



Profil

icon Re: Upit za sortiranje po udaljenosti11.05.2011. u 20:08 - pre 156 meseci
mozda i proradi

Code:

select m.naziv from mesto as m where abs(m.lat - $lat) < $latlimit and abs(m.lng - $lng) < $lnglimit order by sqrt(pow(m.lat - $lat, 2) + pow(m.lng - $lng, 2))
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 05:24 - pre 156 meseci
nista te nisam skontao .. kome zelis da posaljes lat i long ?!

elem .. ono sto te zanima se nalazi ovde :D ... ceka te jedno ozbiljno citanje tako da savetujem da pocnes odma. A onda kad skontas kako to radi, budi cool pa podeli sa ostalima.
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.static.isp.telekom.rs.

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 07:38 - pre 156 meseci
Ako praviš aplikaciju od nule, pogledaj PostgreSQL jer ima mnogo bolje spatial funkcije i spatial indexe.
"Common sense is not so common." - Voltaire
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 07:42 - pre 156 meseci
cuj bolje ... 1000000000000000000000000 puta bolje :D i brze i (navodno) lakse za koristenje ..
 
Odgovor na temu

turshija
Boris Vujicic
KGB Hosting
Novi Sad

Član broj: 240915
Poruke: 27
*.dynamic.isp.telekom.rs.

Sajt: www.turshija.com


+1 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 12:29 - pre 156 meseci
Hvala na odgovorima :)

Aplikaciju pravimo vec nekoliko meseci (prvobitno za VIP izazov, ali smo nastavili da je unapredjujemo), tako da bi prebacivanje na PostgreSQL zahtevalo previse vremena ...
Sve u svemu, mislim da sam nasao resenje za moj problem na sledecem linku: http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL pa ako nekog zanima moze da vidi, ja cu ovih dana istraziti ;)

Ako nekog interesuje aplikacija, a ima Android telefon (1.6+), samo kucajte Gradoid u marketu ;)
Ova verzija na Marketu jos uvek nema mnogo opcija, ali sledeca i malo vise user friendly izlazi uskoro, sa dosta fancy opcijama :)
mysql_query("DELETE stupidity FROM earth") or die("Stupidity");
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 13:22 - pre 156 meseci
saletova prezentacija pokazuje koliko su spatial indexi brzi od ostalih resenja, ali i dalje ti savetujem da ozbiljno procitas dokumentaciju pre nego krenes u avanturu ...

obrati paznju da spatial postoji samo u MyISAM!!! dakle ne mozes u innodb, dakle nista transakcije etc, ako se resetuje server - mozda korupcija i slicno ... dakle REDOVAN BEKAP !!

pgsql ti daje mogucnost da imas spatial indexe (mislim da se kod njih to malo drugacije zove) plus dodatne funkcije za rad a sve u transakcionoj tabeli tako da .. razmisli jos jednom, mozda nije toliko veliki problem da se prebacite tamo ... no .. dao bog spatial prica ce uskoro i u innodb kao i fts .. tako da .. verovatno ce raditi bolje nego kako sada radi u myisam-u.... da sam na tvom mestu, ja bi presao na pgsl bez obzira na potrosenih par meseci sa mysql-om .. ne verujem da vam treba vise od 5-6 dana da prespete to u pgsql
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 17:16 - pre 156 meseci
Svaka čast Bogdane na nepristrasnosti
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Upit za sortiranje po udaljenosti12.05.2011. u 21:54 - pre 156 meseci
pa to sto radim za mysql ne znaci da je mysql "silver bullet" ... za nesto je dobar, ali za neke stvari postoje mnogo bolja resenja ... time sto neki software ljudi pokusavaju koristiti "za sve" i prodaju ga kao silver bullet samo stete istom proizvodu ... ovo je tipican primer gde je mysql "jedva dobro" resenje i gde u istoj klasi (dzabe, open source ..) ima resnje koje je odlicno ..
 
Odgovor na temu

[es] :: MySQL :: Upit za sortiranje po udaljenosti

[ Pregleda: 2016 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.