【问题标题】:Are geolocation apps based on latitude and longitude data?地理定位应用程序是否基于纬度和经度数据?
【发布时间】:2013-12-01 22:53:05
【问题描述】:

大多数网络和智能手机应用程序是否主要根据用户的纬度和经度向您显示其他用户与您的距离?也就是说,这些应用程序是否基本上从用户的国家和邮政编码中获取用户的纬度和经度,然后使用算法创建一个排序列表,列出他们附近的所有用户,最接近的优先?我相信答案是“是”,但我想在将此功能构建到我的 Django 应用程序之前确定。

对于那些不使用邮政编码的国家,我想纬度和经度是从他们居住的城市/地区/国家元组中得出的。

【问题讨论】:

    标签: geolocation geocoding geo


    【解决方案1】:

    是的,他们将 IP 映射到纬度/经度,将纬度/经度映射到城市,以及城市到国家/地区,除非他们可以访问 GPS 设备/传感器以获取准确位置 (+/- 1m)。

    问题是,如果你有一个 ip,你可以把它转换成一个数字(大整数)

    74.88.21.55  ==> (a.b.c.d) ==> d * 255^0 + c * 255^1 + b * 255^2 +a * 255^3 = x
    

    然后你就可以查询数据库了。
    您只需要一个查找表:

    T_Lookup

    IP_Range_Start   IP_Range_End    Latitute     Longitue
    

    然后你可以这样查询:

    SELECT Latitude, Longitude FROM T_Lookup
    WHERE x BETWEEN IP_Range_Start AND IP_Range_End
    

    然后您可以使用haversine formula 计算两点之间的距离。

    您可以在此处获取 C 代码: http://aimbots.net/tutorials/7680-getting-country-ip-address.html

    您可以在此处找到国家/地区 csv 的 IP:
    http://ip-to-country.webhosting.info/node/view/6

    【讨论】:

      【解决方案2】:

      显示用户相对于其他用户位置的应用程序通常从 GPS 数据或 IP 地址位置数据中收集他们的数据。

      This Wiki article 很好地解释了地理位置。

      【讨论】:

        【解决方案3】:

        他们使用银河坐标系,实际上它使用经度 l 和纬度 b。

        http://en.wikipedia.org/wiki/Galactic_coordinate_system

        【讨论】:

        • 哈哈,不错。顺便说一句,GPS 使用 WGS84(世界大地测量系统‎ 1984)。
        • 是的,我也笑了——他的回答是针对外太空的物体。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多