| FAQ |
| Kalender |
|
|
|
|
#1 | ||
|
|||
|
Mycket flitig postare
|
Absolut!
I grova drag handlar problemet om att jag vill ha ut närliggande koordinater utifrån en fast punkt. Jag började med att räkna ut hur stor en kvadrat blir som precis omger cirkeln med samma radie som jag är ute efter (ex 20 miles). En av sidorna på kvadraten är därmed 40 miles. Det längsta avståndet inom kvadraten mätt ifrån mittpunkten är till ett av hörnen och blir i detta fallet ca 28,3 miles (pythagoras sats). Andra delen i lösningen är att hitta rätt felmarginal i koordinaterna som motsvarar max 28,3 miles (jag landade på ca 29 miles enl. nedanstående exempel). Exempel (koordinaten är tagen ur luften): $lat: 30.1234 $long: -63.5552 $p: 0.35 (kom jag fram till via trial & error) ($p är "felmarginalskoordinat") Så jag körde en SELECT med dom data jag ville ha ut och körde med villkoren $sql = "SELECT LAT,LONG FROM tabellen WHERE (LAT BETWEEN ".($lat-$p)." AND ".($lat+$p).") AND (LONG BETWEEN ".($long-$p)." AND ".($long+$p).")"; Därefter kör jag en avståndsberäkning mellan svaren och min fasta punkt och sorterar med PHP enl. tex: http://www.web-max.ca/PHP/misc_2.php Efter sorteringen kan jag enkelt sortera bort dom som ligger utanför cirkelradien. Ungefär så... Citat:
Senast redigerad av gregoff den 2011-12-02 klockan 09:16 |
||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|