sql >> Databasteknik >  >> RDS >> Mysql

Radie på 40 kilometer med latitud och longitud

Jag använder den här frågan för att få alla poäng inom en $radius runt $lat /$lng :

SELECT
    *,
    ( 6371 * acos( cos( radians({$lat}) ) * cos( radians( `lat` ) ) * cos( radians( `lng` ) - radians({$lng}) ) + sin( radians({$lat}) ) * sin( radians( `lat` ) ) ) ) AS distance
FROM `positions`
HAVING distance <= {$radius}
ORDER BY distance ASC

6371 är jordens radie im km. Och jag har inte uppfunnit det:http:/ /code.google.com/intl/en/apis/maps/articles/phpsqlsearch.html https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql a> (redigera:URL ändrad)




  1. Index och primärnycklar med flera kolumner

  2. Kan Hibernate fungera med MySQL:s ON DUPLICATE KEY UPDATE-syntax?

  3. Filtrera data med JDBC RowSet

  4. MySQL hur man sammanfogar tabeller på två fält