Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:使用lat/lng/信号强度数据查找信标的位置_Php_Geolocation_Latitude Longitude - Fatal编程技术网

PHP:使用lat/lng/信号强度数据查找信标的位置

PHP:使用lat/lng/信号强度数据查找信标的位置,php,geolocation,latitude-longitude,Php,Geolocation,Latitude Longitude,让我们假设,隐藏在森林里,有一个灯塔。我驾驶直升机飞越森林,每隔一段随机的时间敲响灯塔。对于每一个ping,我得到一个lat/lng对和该点(但没有方向)的信标信号强度 如何在PHP中计算信标的位置 如果在以后的某个时间,我会得到另一个读数,我将如何将其添加到我目前对信标位置的估计中 注意:我们不知道森林是如何影响信号强度的,但我们可以假设效果是一致的-信标可能在空地上,或者埋在石头下面。我假设您得到的是ping的纬度和经度 在一个2 X 2的正方形网格中,您将需要至少4次ping(尽可能接近此

让我们假设,隐藏在森林里,有一个灯塔。我驾驶直升机飞越森林,每隔一段随机的时间敲响灯塔。对于每一个ping,我得到一个lat/lng对和该点(但没有方向)的信标信号强度

  • 如何在PHP中计算信标的位置

  • 如果在以后的某个时间,我会得到另一个读数,我将如何将其添加到我目前对信标位置的估计中


  • 注意:我们不知道森林是如何影响信号强度的,但我们可以假设效果是一致的-信标可能在空地上,或者埋在石头下面。

    我假设您得到的是ping的纬度和经度

    在一个2 X 2的正方形网格中,您将需要至少4次ping(尽可能接近此网格)。更多的ping可能会有所帮助,但您必须处理测量错误

    这是一个很差的Ascii图形,带有虚构的强度值。假设北方在上升

    X (6 strength)             X (4 strength)
    .
    .
    .
    X (5 strength)             X (3 strength)
    
    不做任何数学运算,你就可以确定信标在你测量的中心西北偏西的某个地方

    如果可以通过信号强度(近似)计算距离,则可以猜测地图上的某个点

    如果你无法计算距离,只需在你认为可能存在的位置再点击一个2 x 2的正方形网格。在某一点上,强度将接近相等,你可以假设灯塔在你的广场中心附近

    我希望这会有所帮助,而且在直升机上也不会太费时

    编辑添加:信标的信号强度与距离的平方成反比
    (距离=sqrt(x因子/信号强度))
    假设您已经确定了x因子
    (12)
    ,因此您知道9的信号强度表示地图上半径为1.1英寸的圆,3的信号强度表示地图上半径为2.0英寸的圆

    因此,当你在左下角得到ping时,你可以把ping放在地图上,然后画一个半径为1.5英寸的圆。当在左上角获得ping时,可以将ping放置在地图上,并绘制一个半径为1.4英寸的圆

    现在,这两个圆将在地图上的某个地方相交。在十字路口的某个地方将是信标的位置

    现在直升机掉头,右上角有“砰”的一声。你画一个半径为1.7英寸的圆。然后你在右下角得到ping,然后你 画一个半径为2英寸的圆

    四个圆的交点应构成一个小的粗糙四边形


    你飞到四边形的中心,再拍一次平。你应该得到相当高的信号强度。沿着绳子垂下,找到信标和搁浅的徒步旅行者,回到绳子上,让直升机把你和搁浅的徒步旅行者拉到安全的地方。

    我假设你得到了ping的纬度和经度

    在一个2 X 2的正方形网格中,您将需要至少4次ping(尽可能接近此网格)。更多的ping可能会有所帮助,但您必须处理测量错误

    这是一个很差的Ascii图形,带有虚构的强度值。假设北方在上升

    X (6 strength)             X (4 strength)
    .
    .
    .
    X (5 strength)             X (3 strength)
    
    不做任何数学运算,你就可以确定信标在你测量的中心西北偏西的某个地方

    如果可以通过信号强度(近似)计算距离,则可以猜测地图上的某个点

    如果你无法计算距离,只需在你认为可能存在的位置再点击一个2 x 2的正方形网格。在某一点上,强度将接近相等,你可以假设灯塔在你的广场中心附近

    我希望这会有所帮助,而且在直升机上也不会太费时

    编辑添加:信标的信号强度与距离的平方成反比
    (距离=sqrt(x因子/信号强度))
    假设您已经确定了x因子
    (12)
    ,因此您知道9的信号强度表示地图上半径为1.1英寸的圆,3的信号强度表示地图上半径为2.0英寸的圆

    因此,当你在左下角得到ping时,你可以把ping放在地图上,然后画一个半径为1.5英寸的圆。当在左上角获得ping时,可以将ping放置在地图上,并绘制一个半径为1.4英寸的圆

    现在,这两个圆将在地图上的某个地方相交。在十字路口的某个地方将是信标的位置

    现在直升机掉头,右上角有“砰”的一声。你画一个半径为1.7英寸的圆。然后你在右下角得到ping,然后你 画一个半径为2英寸的圆

    四个圆的交点应构成一个小的粗糙四边形


    你飞到四边形的中心,再拍一次平。你应该得到相当高的信号强度。顺着绳子往下拉,找到灯塔和搁浅的徒步旅行者,回到绳子上,让直升机把你和搁浅的徒步旅行者拉到安全的地方。

    hmm。。。闻起来像是我的家庭作业。你不能。最初提供的值都不是向量。2.即使有两个值对,也不能。你必须要有一张桌子,让你知道相对于灯塔强度的距离。@Brian,不是家庭作业,相信我。这是真实的生活application@John,让我们假设我可以猜出距离与信号强度之比。这有帮助吗?嗯。。。闻起来像是我的家庭作业。你不能。最初提供的值都不是向量。2.即使有两个值对,也不能。你必须要有一张桌子