sql根据两个点的经纬度计算距离

-- Hive计算两个经纬度坐标直线距离(单位:公里)

-- 公式

-- ASIN(

-- SQRT(

-- POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) +

-- COS(lat1*ACOS(-1)/180)*COS(lat2*ACOS(-1)/180)

-- *POWER(SIN((lon1-lon2)*ACOS(-1)/360),2)

-- )

-- )*6378137*2/1000 as distance

-- example

select

-- exam1(人民广场/东方明珠广播电视塔,121.481318,31.235056/121.506379,31.245414)

ASIN(

SQRT(

POWER(SIN((31.235056-31.245414)*ACOS(-1)/360),2) +

COS(31.235056*ACOS(-1)/180)*COS(31.245414*ACOS(-1)/180)

*POWER(SIN((121.481318-121.506379)*ACOS(-1)/360),2)

)

) *6378137*2/1000 as distance1

-- exam2(上海虹桥国际机场/上海浦东国际机场,121.346817,31.203347/121.81509,31.157478)

,

ASIN(

SQRT(

POWER(SIN((31.203347-31.157478)*ACOS(-1)/360),2) +

COS(31.203347*ACOS(-1)/180)*COS(31.157478*ACOS(-1)/180)

*POWER(SIN((121.346817-121.81509)*ACOS(-1)/360),2)

)

) *6378137*2/1000 as distance2

相关推荐
灯澜忆梦3 分钟前
【MySQL7】多表查询
数据库·sql
Qlittleboy14 分钟前
tp5网站链接不上slqserver,计算机积极拒绝了链接
数据库·sql
snow@li21 小时前
MyBatis:动态 SQL 全景梳理
数据库·sql·mybatis
z落落1 天前
T-SQL 事务(Transaction)
java·数据库·sql
ClouGence1 天前
MySQL迁移到达梦怎么做?信创数据库低停机迁移实战
数据库·sql·mysql
NineData1 天前
Oracle 长事务正在消耗 undo 空间,ChatDBA 能提前发现
数据库·sql·oracle·agent·ninedata·回滚·长事务
风曦Kisaki1 天前
MySql常用命令速查表
数据库·sql·mysql
北冥you鱼1 天前
Go语言 sql.Null 类型详解:处理数据库 NULL 值的正确姿势
数据库·sql·golang
北冥you鱼1 天前
Go语言 database/sql 包常见方法解析与最佳实践
数据库·sql·golang