PHP:如何使用一组坐标的距离创建地理围栏(边界框)

标签 php latitude-longitude geofencing coords

我将如何使用经纬度和距离创建地理围栏(边界框)的点。

我有中心点的纬度和经度 我有地理围栏距离。

围绕这些多个点创建地理围栏的逻辑是什么?

感谢您的帮助。

最佳答案

1 将中心纬度/经度转换为以米为单位的笛卡尔坐标 (x,y)。
然后你可以像在学校学到的那样做所有的几何:

2 创建正方形的一个角点,使用极坐标公式

phi = 45 * TO_RADIANS;
corner.x = tcenter.x + r * sin(phi);
corner.y = tcenter.y + r * cos(phi);

其中 r 是边界框正方形的半对角线长度(以米为单位)

使用 phi =(90*i + 45), i= 0..3 对其他点执行相同操作

3 使用逆变换将角 (x/y) 转换回纬度/经度

关于PHP:如何使用一组坐标的距离创建地理围栏(边界框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519322/

相关文章:

php - 为什么 array_walk() 没有按预期工作?

php - 如何使用 PHP 从字符串中删除前 n 个数字字符?

python - 将纬度和经度转换为 3D 空间中的点

python - 将平面 x/y 转换为纬度/经度

android - 在 Android 中使用预览绘制圆形 GeoFence

php - 我如何在php中获取 "yyyy-MM-ddTHH:mm:ss.fffZ"的格式?

PHP/MYSQL : How to create image galleries that rotate/change during each page refresh/load

javascript - 使用 Javascript,我如何随机偏移经度和纬度数字

ios - 如果应用程序在 iOS 11 中终止,是否会调用地理围栏事件?

ios - 对于长时间任务,如何从终止状态重新启动我的 iOS 应用程序?