/**
* 根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围
* @param float $lng 经度
* @param float $lat 纬度
* @param float $distance 距离(km)
* @return array
*/
function getSquarePoint($lng, $lat, $distance)
{
$earthRadius = ; //地球半径,km
$d_lng = * asin(sin($distance / ( * $earthRadius)) / cos(deg2rad($lat)));
$d_lng = rad2deg($d_lng);
$d_lat = $distance / $earthRadius;
$d_lat = rad2deg($d_lat);
return array(
'lng_start' => $lng - $d_lng,//经度开始
'lng_end' => $lng + $d_lng, //经度结束
'lat_start' => $lat - $d_lat,//纬度开始
'lat_end' => $lat + $d_lat,//纬度结束
);
}
/**
* 计算两个已知经纬度之间的距离
* @param float $lng1 经度1
* @param float $lat1 纬度1
* @param float $lng2 经度2
* @param float $lat2 纬度2
* @return float 距离(单位米)
*/
function getPointDistance($lng1, $lat1, $lng2, $lat2)
{
$earthRadius = ; //地球平均半径,km //deg2rad()函数将角度转为弧度
$radLat1 = deg2rad($lat1);
$radLat2 = deg2rad($lat2);
$radLng1 = deg2rad($lng1);
$radLng2 = deg2rad($lng2);
$d_lat = $radLat1 - $radLat2;
$d_lng = $radLng1 - $radLng2;
$distance = * asin(sqrt(pow(sin($d_lat / ), ) + cos($radLat1) * cos($radLat2) * pow(sin($d_lng / ), ))) * $earthRadius * ;
return intval($distance / );
}

PHP根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围的更多相关文章

  1. Atitti knn实现的具体四个距离算法 欧氏距离、余弦距离、汉明距离、曼哈顿距离

    Atitti knn实现的具体四个距离算法  欧氏距离.余弦距离.汉明距离.曼哈顿距离 1. Knn算法实质就是相似度的关系1 1.1. 文本相似度计算在信息检索.数据挖掘.机器翻译.文档复制检测等领 ...

  2. web接入层 传入参数的格式化及web返回值传出数据的参数格式化,都要统一

    1.web接入层 传入参数的格式化及web返回值传出数据的参数格式化,都要统一. 比如acSpace中, 传入层参数@RequestBody javaBean对象.统一转换为javabean传入参数. ...

  3. js获取页面元素距离浏览器工作区顶端的距离

    先介绍几个属性:(暂时只测了IE和firefox,实际上我工作中用到的最多的是chrome)  网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度) (javascript)       ...

  4. [转]JAVA 根据经纬度算出附近的正方形的四个角的经纬度

    csv文件转化为geojson文件中,涉及到路测图的打点生成,打点是由一个个正方形组成,而正方形是由四个点组成的,这四个点根据经纬度和范围生成,具体的实现代码是从网上找来的: /** * * @par ...

  5. 同一个Activity先后加载2个Layout,从layout1取值传入layout2

    同一个Activity先后加载2个Layout,从layout1取值传入layout2 没啥技术含量,就权当丰富下mono for android的小代码. Main.xaml <?xml ve ...

  6. 后端model传入前端JSP页面中的值判断后再取值

    所遇到的问题后端model传入前端JSP页面中的值通过foreach循环内要满足条件才能取值给Div中,我们知道jsp页面中可以直接用EL表达式取值,格式就是${"model中传来的数据&q ...

  7. 利用JS实现的根据经纬度计算地球上两点之间的距离

      最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距 ...

  8. Javascript判断两个点(经纬度)的距离,以及是否在某个区域内(经纬度字符串)

    JS计算两个点(经纬度)的距离 function getGreatCircleDistance(lat1, lng1, lat2, lng2) { var EARTH_RADIUS = 6378137 ...

  9. PHP根据经纬度,计算2点之间的距离的2种方法

    计算地球表面2点之间的球面距离 /** * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return int */ fun ...

随机推荐

  1. java中javamail收发邮件实现方法

    概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮 ...

  2. HTML手写课程表,练基础

    <html> <head> <title>表格table元素综合练习--课程表</title> </head> <body> & ...

  3. YUSS Round 1

    YUSS Round 1 A. 国庆快乐 签到题. #include<bits/stdc++.h> using namespace std; int main() { printf(&qu ...

  4. jquery基础知识2

    1.js和jquery对象的转换 js==>jquery对象 $(js对象) jquery==>js jq对象[index] jq对象.get(index) <!DOCTYPE ht ...

  5. archlinux 蓝牙耳机没有声音

    前提 蓝牙已开,并且连接成功,但是蓝牙耳机没有声音. 安装 pacman -S pulseaudio-bluetooth pulsemixer 切换设备输出为蓝牙耳机

  6. javascript动态合并表格相同的单元格

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...

  7. Laravel 项目架构 弹性、可维护性

    公司项目可能需要对架构进行重建,老大给了我一个视频让我学习里面的思想,看完后觉得收获很大,主讲人对laravel项目各个层次有很清晰的理解,力求做到职责单一分明,提高可维护性.下面是我看完视频对其内容 ...

  8. LOJ P10118 打鼹鼠 题解

    每日一题 day17 打卡 Analysis 二维树状数组的单点修改和区间查询,和一维的差不多 #include<iostream> #include<cstdio> #inc ...

  9. HashMap,HashTable,ConcurrentHashMap的实现原理及区别

    http://youzhixueyuan.com/concurrenthashmap.html 一.哈希表 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即 ...

  10. C# 使用递归获取所有下属、所有子部门……

    本例中获取的是所有的晚辈!首先定义家庭成员类: public class FamilyMember { /// <summary> /// 身份 /// </summary> ...