Geolocation 地理定位应用程序是否基于纬度和经度数据?

Geolocation 地理定位应用程序是否基于纬度和经度数据?,geolocation,geocoding,geo,Geolocation,Geocoding,Geo,大多数网络和智能手机应用程序都是根据用户的纬度和经度来显示其他用户与您的距离的吗?也就是说,这些应用程序基本上是从用户的国家和邮政编码中提取出用户的纬度和经度,然后使用算法创建一个排序列表,列出离他们最近的所有用户,首先是最近的用户吗?我相信答案是“是”,但在我将此功能构建到Django应用程序之前,我想确定一下 对于那些不使用邮政编码的国家,我可以想象纬度和经度是从它们所在的城市/地区/国家元组中推导出来的。是的,它们将IP映射到lat/long,将lat/long映射到城市,将城市映射到国家

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


对于那些不使用邮政编码的国家,我可以想象纬度和经度是从它们所在的城市/地区/国家元组中推导出来的。

是的,它们将IP映射到lat/long,将lat/long映射到城市,将城市映射到国家,除非它们能够访问GPS设备/传感器以获得准确的位置(+/-1m)

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

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

T_查找

IP_Range_Start   IP_Range_End    Latitute     Longitue
然后您可以这样查询:

SELECT Latitude, Longitude FROM T_Lookup
WHERE x BETWEEN IP_Range_Start AND IP_Range_End
然后,可以使用计算公式计算两点之间的距离

您可以在此处获取C代码:

以及您在此处找到的国家/地区csv的IP:

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


提供了一个很好的地理位置解释。

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


哈哈,不错。顺便说一句,GPS使用WGS84(世界大地测量系统‎ 是的,我也笑了——他的答案是关于外层空间的物体。
SELECT Latitude, Longitude FROM T_Lookup
WHERE x BETWEEN IP_Range_Start AND IP_Range_End