【Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)】教程文章相关的互联网学习教程文章

MYSQL 查询指定范围内的经纬度【代码】

select*from `location` where ( acos( sin(([#latitude#]*3.1415)/180) *sin((latitude*3.1415)/180) +cos(([#latitude#]*3.1415)/180) *cos((latitude*3.1415)/180) *cos(([#longitude#]*3.1415)/180- (longitude*3.1415)/180) )*6370.996 )<=1; 原文:https://www.cnblogs.com/banywl/p/9528868.html

[整理] MySQL 使用空间函数 st_distance_sphere ,通过经纬度查询最近的地点【代码】

目录创建数据表插入数据函数st_distance_sphere 和 st_distance查询距离成都最近的5个地方创建数据表create table data_point (ID int auto_increment primary key,city varchar(64) not null,pt geometry not null ) 插入数据INSERT INTO data_point (city, pt) VALUES (‘成都‘,ST_GeomFromText(‘POINT(104.040 30.400)‘)); INSERT INTO data_point (city, pt) VALUES (‘巴中‘,ST_GeomFromText(‘POINT(106.43 31.51...

MySQL根据经纬度按距离排序【代码】

1、新建表DROPTABLEIFEXISTS `customer`; CREATETABLE `customer` (`id` int(11) unsigned NOTNULL auto_increment COMMENT ‘自增主键‘,`name` varchar(50) NOTNULL COMMENT ‘名称‘,`lon` double(9,6) NOTNULL COMMENT ‘经度‘,`lat` double(8,6) NOTNULL COMMENT ‘纬度‘,PRIMARYKEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8DEFAULT CHARSET=utf8 COMMENT=‘商户表‘; 2、插入数据INSERTINTO `customer` VALUES (‘1‘, ‘...

mysql计算经纬度两点之间的距离(转载)

DELIMITER $$DROP FUNCTION IF EXISTS `fun_distance`$$ CREATE FUNCTION `fun_distance`(lat1 float,lng1 float,lat2 float,lng2 float) RETURNS floatBEGINset @num=2 * 6378137*ASIN(SQRT(POW(SIN(PI()*(lat1-(lat2))/360),2)+ COS(PI()*lat1/180)*COS(lat2*PI()/180)*POW(SIN(PI()*(lng1-(lng2))/360),2)));RETURN @num;END$$ DELIMITER ; 返回的是2点之间的距离以米为单位mysql计算经纬度两点之间的距离(转载)标签:本文...

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)【代码】

公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000) 例如: SELECT store_id,lng,lat, ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173...

mysql 下 计算 两点 经纬度 之间的距离【代码】【图】

转载▼标签: 杂谈分类: PHP 公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000) 例如: SELECT store_id,lng,lat, ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*...

mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句【代码】【图】

首先新建一张表,里面包含经纬度SET FOREIGN_KEY_CHECKS=0;-- ---------------------------- -- Table structure for customer -- ---------------------------- DROP TABLE IF EXISTS `customer`; CREATE TABLE `customer` (`id` int(11) unsigned NOT NULL auto_increment COMMENT ‘自增主键‘,`name` varchar(50) NOT NULL COMMENT ‘名称‘,`lon` double(9,6) NOT NULL COMMENT ‘经度‘,`lat` double(8,6) NOT NULL COMMENT ...

Mysql 地区经纬度 查询【代码】

id, pt,city from locationpoint where 0.5 >= GLength(LineStringFromWKB(LineString(pt, point(113.4 ,34.46)))) 附上表结构数据: CREATE TABLE `locationPoint` (`id` int(11) NOT NULL,pt point not null,`province` varchar(20) NOT NULL,`city` varchar(20) NOT NULL,`longitude` double(10,3) NOT NULL,`latitude` double(10,3) NOT NULL,PRIMARY KEY (`id`) )engine=Myisam;INSERT INTO `locationPoint` VALUES (‘1147...

根据经纬度求两点之间距离(mysql 函数)

DROP FUNCTION IF EXISTS `getDistance`;2 DELIMITER ;;3 CREATE FUNCTION `getDistance`(4 lon1 float(10,7) 5 ,lat1 float(10,7)6 ,lon2 float(10,7) 7 ,lat2 float(10,7)8 ) RETURNS double9 begin 10 declare d double; 11 declare radius int; 12 set radius = 6378140; 13 set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2) 14 *SIN((lat1-lat2)*PI()/180/2)+ 15 ...

mysql实现地球地理位置经纬度坐标排序

(POWER(MOD(ABS(lon - x),360),2) + POWER(ABS(lat - y),2)) AS distance FROM `eyanghu_location` ORDER BY distance LIMIT 1000x,y替换成你当前坐标的经纬度就行。本文出自 “12571026” 博客,请务必保留此出处http://12581026.blog.51cto.com/12571026/1931654mysql实现地球地理位置经纬度坐标排序标签:mysql 地理位置排序本文系统来源:http://12581026.blog.51cto.com/12571026/1931654

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算【代码】

公式例如以下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)比如: SELECT store_id,lng,lat, ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.17388...

mysql实现经纬度计算两个坐标之间的距离

DELIMITER $$CREATE DEFINER = CURRENT_USER FUNCTION `getDistance`(`lon1` float,`lat1` float,`lon2` float,`lat2` float) RETURNS doublebegin declare d double; declare radius int; set radius = 6378140; #假设地球为正球形,直径为6378140米 set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2) *SIN((lat1-lat2)*PI()/180/2)+ COS(lat2*PI()/180)*COS(lat1*PI()/180) *SIN((lon1-lon2)...

mysql实现经纬度计算两个坐标之间的距离sql语句

select *,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(111.86141967773438-latitude)/360),2)+COS(PI()*33.07078170776367/180)* COS(latitude * PI()/180)*POW(SIN(PI()*(33.07078170776367-longitude)/360),2)))) as juli from school_base_infoorder by juli asc limit 0,20mysql实现经纬度计算两个坐标之间的距离sql语句标签:pow sql语句 info cos base select div ase mysq 本文系统来源:https://www.cnblog...

mysql 计算经纬度函数(米)

DEFINER=`root`@`%` FUNCTION `latlon`(lat1 DOUBLE,lon1 DOUBLE,lat2 DOUBLE,lon2 DOUBLE) RETURNS varchar(200) CHARSET utf8mb4 begin return ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((lat1 * PI() / 180 - lat2 * PI() / 180) / 2),2) + COS(lat1 * PI() / 180) * COS(lat2 * PI() / 180) * POW(SIN((lon1 * PI() / 180 - lon2 * PI() / 180) / 2),2))) * 1000); end mysql 计算经纬度函数(米)标签:经纬 pow roo col...

mysql 下 计算 两点 经纬度 之间的距离 计算结果排序【代码】

* 2 * ASIN(SQRT(POW(SIN((‘.$lat.‘ * PI() / 180 - lat * PI() / 180) / 2), 2) + COS(‘.$lat.‘ * PI() / 180) * COS(lat * PI() / 180) * POW(SIN((‘.$lng.‘ * PI() / 180 - lng * PI() / 180) / 2), 2))) *1000 AS distance FROMdistance ORDER BYdistance ASCphp计算距离 /*** 根据两点间的经纬度计算距离* @param $lng1* @param $lat1* @param $lng2* @param $lat2* @return int*/ public static function getDistance(...