相关疑难解决方法(0)

地理空间坐标和以千米为单位的距离

这是这个问题的后续内容.

我似乎被困在这上面了.基本上,我需要能够在标准度系统中来回转换为参考坐标,或者通过沿着国际日期线测量从南极向北的距离,然后从该日期的那个点开始向东的距离线.要做到这一点(以及一些更常见的距离测量的东西),我有一种方法来确定两个纬度/经度点之间的距离,另一种方法是采用纬度/经度点,航向和距离,并返回该课程结束时的纬度/经度点.

以下是我定义的两种静态方法:

/* Takes two lon/lat pairs and returns the distance between them in kilometers.
*/
public static double distance (double lat1, double lon1, double lat2, double lon2) {
    double theta = toRadians(lon1-lon2);
    lat1 = toRadians(lat1);
    lon1 = toRadians(lon1);
    lat2 = toRadians(lat2);
    lon2 = toRadians(lon2);

    double dist = sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2)*cos(theta);
    dist = toDegrees(acos(dist)) * 60 * 1.1515 * 1.609344 * 1000;

    return dist;
}

/* endOfCourse takes a lat/lon pair, a heading (in degrees clockwise from …
Run Code Online (Sandbox Code Playgroud)

geography distance geolocation geospatial

14
推荐指数
2
解决办法
2万
查看次数

PHP/MySQL:从DB中选择靠近给定位置的位置

在PHP中,我有以下代码来计算两个位置之间的距离:

<?php
function distance($lat1, $long1, $lat2, $long2) {
    // DEGREE TO RADIAN
    $latitude1 = $lat1/180*pi();
    $longitude1 = $long1/180*pi();
    $latitude2 = $lat2/180*pi();
    $longitude2 = $long2/180*pi();
    // FORMULA: e = ARCCOS ( SIN(Latitude1) * SIN(Latitude2) + COS(Latitude1) * COS(Latitude2) * COS(Longitude2-Longitude1) ) * EARTH_RADIUS
    $distance = acos(sin($latitude1)*sin($latitude2)+cos($latitude1)*cos($latitude2)*cos($longitude2-$longitude1))*6371;
    return $distance;
}
echo distance(9.9921962, 53.5534074, 9.1807688, 48.7771056); // Hamburg, DE - Stuttgart, DE
?>
Run Code Online (Sandbox Code Playgroud)

但是现在,我想从我的MySQL数据库中通过PHP选择靠近给定位置的位置:

  • 用户进入他的家乡
  • 我的脚本通过Google API获取纬度/经度值
  • 在我的数据库中,我有大约200个位置,其中包含纬度值的字段和经度值的字段
  • 我需要一个PHP和MySQL代码来选择最接近用户家乡的10个位置

我希望你能帮助我.提前致谢!

php mysql geography distance geolocation

8
推荐指数
1
解决办法
1万
查看次数

PHP中的邮政编码邻近度计算

我在网上看过各种各样的"商店定位器"式解决方案,例如在特定邮政编码的给定半径范围内查找商店,并且他们有精美的地图显示最近的商店等等.许多使用Google地图或其他数据库,但许多还依赖于精确的纬度和经度转换等.但这对我的项目来说太过分了.

就我而言,我只是在后端处理订单(使用PHP),我已经有了所有供应商仓库的所有邮政编码列表.

我只是希望我的客户提供他们的邮政编码,并且只需一个电话我就可以找到离我的客户最近的仓库的分类清单.邮编很好 - 我不想打扰纬度和经度.

有任何想法吗?

php zipcode proximity

2
推荐指数
1
解决办法
3903
查看次数

数学相关的PHP问题+纬度

我在PHP页面中找到了一个函数来计算2点之间的里程数,但是它有问题.它应该与谷歌地图一起使用,但距离的差异在谷歌地图中的范围从1.3到1.65倍(更准确).

这是功能:

$M =  69.09 * rad2deg(acos(sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($lon1 - $lon2))));
Run Code Online (Sandbox Code Playgroud)

我发现它有点复杂,我不知道几何要知道这是否正确.

有更多专业知识的人可以看看这个,看看它有什么问题吗?

php google-maps distance geolocation

0
推荐指数
1
解决办法
1030
查看次数