php经度 纬度距离计算 , php 二维数组排序
来源:互联网 发布:crossover linux 16.2 编辑:程序博客网 时间:2024/05/05 13:28
/**
* 对二维数组进行排序
* 模拟 数据表记录按字段排序
*
* <code>
* @list_order($list, $get['orderKey'], $get['orderType']);
* </code>
* @param array $array 要排序的数组
* @param string $orderKey 排序关键字/字段
* @param string $orderType 排序方式,'asc':升序,'desc':降序
* @param string $orderValueType 排序字段值类型,'number':数字,'string':字符串
*/
function list_order(&$array, $orderKey, $orderType = 'asc', $orderValueType = 'string') {
if (is_array($array)) {
$orderArr = array();
foreach ($array as $val) {
$orderArr[] = $val[$orderKey];
}
$orderType = ($orderType == 'asc') ? SORT_ASC : SORT_DESC;
$orderValueType = ($orderValueType == 'string') ? SORT_STRING : SORT_NUMERIC;
array_multisort($orderArr, $orderType, $orderValueType, $array);
}
}
/**
* 求两个已知经纬度之间的距离,单位为米
*
* @param lng1 $ ,lng2 经度
* @param lat1 $ ,lat2 纬度
* @return float 距离,单位米
* @author
*/
function getdistance($lng1, $lat1, $lng2, $lat2) {
// 将角度转为狐度
$radLat1 = deg2rad($lat1); //deg2rad()函数将角度转换为弧度
$radLat2 = deg2rad($lat2);
$radLng1 = deg2rad($lng1);
$radLng2 = deg2rad($lng2);
$a = $radLat1 - $radLat2;
$b = $radLng1 - $radLng2;
$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000;
return ceil($s);
}
* 对二维数组进行排序
* 模拟 数据表记录按字段排序
*
* <code>
* @list_order($list, $get['orderKey'], $get['orderType']);
* </code>
* @param array $array 要排序的数组
* @param string $orderKey 排序关键字/字段
* @param string $orderType 排序方式,'asc':升序,'desc':降序
* @param string $orderValueType 排序字段值类型,'number':数字,'string':字符串
*/
function list_order(&$array, $orderKey, $orderType = 'asc', $orderValueType = 'string') {
if (is_array($array)) {
$orderArr = array();
foreach ($array as $val) {
$orderArr[] = $val[$orderKey];
}
$orderType = ($orderType == 'asc') ? SORT_ASC : SORT_DESC;
$orderValueType = ($orderValueType == 'string') ? SORT_STRING : SORT_NUMERIC;
array_multisort($orderArr, $orderType, $orderValueType, $array);
}
}
/**
* 求两个已知经纬度之间的距离,单位为米
*
* @param lng1 $ ,lng2 经度
* @param lat1 $ ,lat2 纬度
* @return float 距离,单位米
* @author
*/
function getdistance($lng1, $lat1, $lng2, $lat2) {
// 将角度转为狐度
$radLat1 = deg2rad($lat1); //deg2rad()函数将角度转换为弧度
$radLat2 = deg2rad($lat2);
$radLng1 = deg2rad($lng1);
$radLng2 = deg2rad($lng2);
$a = $radLat1 - $radLat2;
$b = $radLng1 - $radLng2;
$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000;
return ceil($s);
}
阅读全文
0 0
- php经度 纬度距离计算 , php 二维数组排序
- java 计算经度纬度之间的距离
- C# 根据经度纬度计算两点的距离
- 已知两点的经度、纬度,计算两点的距离
- C# 根据经度纬度计算两点的距离
- Object-c 根据经度纬度计算两点间的距离
- Object-c 根据经度纬度计算两点间的距离
- PHP 二维数组排序
- PHP二维数组排序
- php二维数组排序
- PHP 二维数组排序
- php 二维数组排序
- php二维数组排序
- php二维数组排序
- php 二维数组排序
- PHP 二维数组排序
- php二维数组排序
- PHP 二维数组排序
- Java基础语法篇(4)
- cocos2dx : 世界坐标和模型坐标.
- 决策树原理与python实现
- caffe 入门(1)
- 最大匹配 人员分配
- php经度 纬度距离计算 , php 二维数组排序
- 凸包的某些用处
- AJAX
- 数据库设计——第一第二第三范式
- 网络编程TCP协议
- HDU
- Linux 配置tensorflow
- git常用指令整理
- SQL LINK