dongpa5277 2012-09-21 09:10
浏览 13
已采纳

在没有15英里半径的情况下定位最近的lng / lat位置的方法?

Project: I have a MySQL database of alumni home address locations stored as lng/lat. I want to be able to identify groups of 15 members or more of alumni that live within a 15 mile radius of each other.

Given a lng/lat, how do I select the other lng/lat locations that are within a 15 mile radius? I've installed on Linux the PHP geonames package from PEAR. It isn't clear to me if I can use this package for aid in this function. It contains radius routines, but they appear to be for returning information such as postal codes within a lng/lat radius. Thanks!

  • 写回答

2条回答 默认 最新

  • doudanglang5826 2012-09-21 09:11
    关注

    You'll need to look into using the Haversine Formula. You'll find plenty of online examples showing you how to implement the formula in both PHP and SQL.

    Google has a nice example for MySQL:

    SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance 
    FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿