Mysql
 sql >> база данни >  >> RDS >> Mysql

Радиус от 40 километра с използване на географска ширина и дължина

Използвам тази заявка, за да получа всички точки в рамките на $radius около $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 е радиусът на Земята в km. И не съм го измислил аз:http:/ /code.google.com/intl/en/apis/maps/articles/phpsqlsearch.html https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql (редактиране:URL адресът е променен)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP модел на свързване с единична база данни

  2. Причини за MySQL грешка 2014 Не може да се изпълняват заявки, докато други небуферирани заявки са активни

  3. Колко по-бърз е MyISAM в сравнение с InnoDB?

  4. mysql централна/кръстосана заявка

  5. Хеш MySQL схема на база данни