当前位置: 首页 > article >正文

clickhouse计算前后两点间经纬度距离

问题

在这里插入图片描述
计算如图所示前后两点经纬度的距离?

方法

1、用开窗函数将如图所示数据下移一行

select
	longitude lon1,
	latitude lat1,
	min(longitude) over(
	order by time1 asc rows between 1 PRECEDING and 1 PRECEDING) lon2,
	min(latitude) over(
	order by time1 asc rows between 1 PRECEDING and 1 PRECEDING) lat2
from
	table1

在这里插入图片描述
完整sql

select
	time1 ,
	lon1,
	lat1,
	lon2,
	lat2,
	greatCircleDistance(a.lon1,
	a.lat1,
	a.lon2,
	a.lat2) distance
from
	(
	select
		time1,
		longitude lon1,
		latitude lat1,
		min(longitude) over(
		order by time1 asc rows between 1 PRECEDING and 1 PRECEDING) lon2,
		min(latitude) over(
		order by time1 asc rows between 1 PRECEDING and 1 PRECEDING) lat2
	from
		table1

3、简化版sql

select
	time1 ,
	longitude,
	latitude,
	greatCircleDistance(longitude , latitude ,
	min(longitude) over(
	order by time1 asc rows between 1 PRECEDING and 1 PRECEDING),
	min(latitude) over(
	order by time1 asc rows between 1 PRECEDING and 1 PRECEDING)) distance
from
	table1

http://www.kler.cn/a/229435.html

相关文章:

  • java项目之智慧农贸信息化管理平台(ssm+mybatis+mysql)
  • git 提交命令记录
  • Jira用例自动去除summary重复用例
  • RTDETR融合[WACV 2024]的MetaSeg中的gmb模块
  • 2 XDMA IP中断
  • 计算机网络(四)——网络层
  • C++结构化绑定
  • GEDepth:Ground Embedding for Monocular Depth Estimation
  • 函数的连续与间断【高数笔记】
  • CAEX 学习记录
  • MATLAB语音去噪系统
  • docker自定义镜像并使用
  • Node.js+Express+Mysql服务添加环境变量
  • git 的基本概念
  • KY114 Coincidence
  • Unity接入GVoice腾讯实时语音
  • 【安卓跨程序共享数据,探究ContentProvider】
  • 动态规划01 三步问题[C++]
  • HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)
  • 正点原子-STM32通用定时器学习笔记(1)
  • 防范恶意勒索攻击!亚信安全发布《勒索家族和勒索事件监控报告》
  • 深度学习(12)--Mnist分类任务
  • 阿里云游戏服务器租用费用价格组成,费用详单
  • 跟着pink老师前端入门教程-day17
  • linker list
  • 计组学习笔记2024/2/5