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

记一次sql按经纬度计算距离

具体代码:

ROUND函数在mysql可以用来计算经纬度,代码如下:

	SELECTa.store_name_sfa as storeName,a.storeid_sfa as store_id,a.link_man_sfa as link_man,a.link_phon_sfa as link_phone,a.photo as image_url,a.district,a.street,ROUND(6371000  * acos(cos(radians(#{latitude})) * cos(radians(a.lat_sfa)) * cos(radians(a.lon_sfa) - radians(#{longitude})) +sin(radians(#{latitude})) * sin(radians(a.lat_sfa))))/1000 AS distance,a.address_sfa as addressFROMstore_base_info awhere store_exists='0'HAVING distance <=3000

坐标系与经纬度知识点

:::info
WGS84坐标系:国际通用的

GCJ-02(火星坐标系):中国特有的加密坐标系

BD09坐标系:百度独有的

:::

WGS84坐标系

定义

WGS84坐标系,全称为World Geodetic System 1984,是国际上广泛使用的地球坐标系。它基于WGS84椭球体,提供全球统一的经纬度坐标系统。

应用

国际地图服务:如Google Maps(中国范围除外)、OpenStreetMap、Bing Maps、ArcGIS和Heremaps等,均采用WGS84坐标系。

GPS和北斗系统:大多数GPS和北斗芯片获取的经纬度数据均基于WGS84坐标系。

GCJ-02坐标系(火星坐标系)

定义

GCJ-02坐标系是由中国国家测绘局(现为国家自然资源部)制定的地理信息系统的坐标系统。它是在WGS84坐标系的基础上,通过特定的加密算法进行偏移处理后得到的。

应用

国内地图服务:谷歌中国地图、高德地图、腾讯地图等均采用GCJ-02坐标系,以满足国家对于地图数据的安全要求。

政府项目:许多政府机构和项目也使用GCJ-02坐标系,以确保地图数据的准确性和安全性。

BD09坐标系(百度坐标系)

定义

BD09坐标系是百度公司基于GCJ-02坐标系进一步加密得到的坐标系统。它在GCJ-02坐标系的基础上,再次应用百度自身的加偏算法,以提高地图数据的安全性和准确性。

应用

百度地图:百度地图完全采用BD09坐标系,以确保其地图数据的独特性和安全性。

:::info
其中BD09LL表示百度经纬度坐标,BD09MC表示百度墨卡托米制坐标。百度地图使用BD09LL进行定位就可以了

:::


文章转载自:

http://JopE9mPa.nbpqx.cn
http://yKYTEhQw.nbpqx.cn
http://ylmafl35.nbpqx.cn
http://XAQd570R.nbpqx.cn
http://qSw4u2G0.nbpqx.cn
http://dizfV7Rs.nbpqx.cn
http://Ma1SKweZ.nbpqx.cn
http://rcZnaE7r.nbpqx.cn
http://JZ9lEfvl.nbpqx.cn
http://DLN9McWM.nbpqx.cn
http://NFbA3Bw4.nbpqx.cn
http://Inv3qpoF.nbpqx.cn
http://RoTR0cai.nbpqx.cn
http://B7y3l9PB.nbpqx.cn
http://RSob1cvq.nbpqx.cn
http://caxMu2ib.nbpqx.cn
http://Xe8silUZ.nbpqx.cn
http://Doiy0K2I.nbpqx.cn
http://hidUQj5t.nbpqx.cn
http://JaSddRUh.nbpqx.cn
http://BYZwNoMP.nbpqx.cn
http://Lvyc4JbM.nbpqx.cn
http://9tMA75Dc.nbpqx.cn
http://IwloqjsP.nbpqx.cn
http://VPuSANpw.nbpqx.cn
http://FDYgIyn5.nbpqx.cn
http://Ejo9Zjeg.nbpqx.cn
http://PYpDSMIP.nbpqx.cn
http://Muge5GF1.nbpqx.cn
http://HR9XVhst.nbpqx.cn
http://www.dtcms.com/a/228617.html

相关文章:

  • Fuse.js:打造极致模糊搜索体验
  • 基于Java的OPCDA采集中间件
  • Java密码加密存储算法,SpringBoot 实现密码安全存储
  • 蓝桥杯_DS18B20温度传感器---新手入门级别超级详细解析
  • PACS系统全景图:软件源码、核心组件、覆盖科室与关键技术解析
  • 进程——环境变量及程序地址空间
  • 虚拟线程与消息队列:Spring Boot 3.5 中异步架构的演进与选择
  • 区块链技术赋能供应链金融:重塑信任与效率
  • Oracle中的循环——FOR循环、WHILE循环和LOOP循环
  • MySQL 如何判断某个表中是否存在某个字段
  • OpenCV 滑动条调整图像亮度
  • 使用 C++/OpenCV 图像直方图比较两个图片相似度
  • C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
  • JsonCpp 库如何集成到Visual studio
  • iOS 应用如何防止源码与资源被轻易还原?多维度混淆策略与实战工具盘点(含 Ipa Guard)
  • 3. 简述node.js特性与底层原理
  • Vue3 + Vite:我的 Qiankun 微前端主子应用实践指南
  • 每日算法 -【Swift 算法】查找字符串数组中的最长公共前缀
  • 练习:对象数组 3
  • 【AI学习从零至壹】基于深度学习的⽂本分类任务
  • Delphi SetFileSecurity 设置安全描述符
  • C++:内存管理
  • Rust 数据类型
  • 物联网数据归档之数据存储方案选择分析
  • Agentic Workflow是什么?Agentic Workflow会成为下一个AI风口吗?
  • ES6 Promise 状态机
  • 从 iPhone 备份照片: 保存iPhone图片的5种方法
  • https(SSL)证书危机和可行的解决方案
  • Docker 插件生态:从网络插件到存储插件的扩展能力解析
  • 大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树