Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:906b:4b...–

peter
MySQL › GPS rádius
23. 5. 2014   #190388

A nebylo by jednodussi, nez to slozite pocitat, vzit proste ctverec o neco vetsi? Pres css se ten zbytek da schovat. Pokud to chces prepocitavat, tak bych to nechal az na javascriptu nebo php (google na to ma jiste funkce v maps enginu). A nebo to udelat pres dvojity dotaz, kdy prvni vybere ctverec, pac to bude rychlejsi a druhy to prepocita na oval zeme.

http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL

 set @orig_lat=122.4058; set @orig_lon=37.7907;set @dist=10;
SELECT *,
 
3956 * 2 * ASIN(SQRT( POWER(SIN((@orig_lat -
abs( 
dest.lat)) * pi()/180 / 2),2) + COS(@orig_lat * pi()/180 ) * COS( 
abs
(dest.lat) *  pi()/180) * POWER(SIN((@orig_lon – dest.lon) *  pi()/180 / 2), 2) ))
 
as distanceFROM hotels desthaving distance < @distORDER BY distance limit 10;
Lat can be negative!

4s, na dalsi strankach provadi upravy na 0.6-1s pro 800.000 zaznamu pres procedury. Tez to filtruje treba nejdriv pomoci ZIP kod oblasti. Mno, a pak je tu moznost si proste predem vypocitat ctverce a ulozit do db pri insertu. Pak si vyberes vsechno, co odpovida ctvercum z okoli a odfiltrujes tim slozitym vypoctem, co nechces. Rzhodne je rychlejsi najit cislo 5678 nez 49.3567842.
google = gps counting radius formula
(Calculate distance, bearing and more between Latitude/Longitude points)
http://www.movable-type.co.uk/…latlong.html

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý