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

mysql 空间查询 多边形内的点

在这里插入图片描述

数据库查询

# 1新增空间point类型坐标字段
ALTER TABLE `gaoxin_isdp`.`business_master` 
ADD COLUMN `location2` point NULL AFTER `location`;# 2从原字段更新点位字段,原字段poi1是字符串106.474596,29.464360
UPDATE business_master SET location = POINT(substr(poi1, 1,10), substr(poi1, 12));# 3传入多边形坐标查询内部点位数据
SELECT SUM(a.qd28) AS 'zjrs', SUM(a.qj09) AS 'yfrs', SUM(a.qd27) AS 'glrs' 
FROM business_division03 a 
where sid in (SELECT sidFROM business_masterWHERE ST_Within(location, ST_GeomFromText('POLYGON((106.479029 29.487577, 106.476155 29.48044, 106.492216 29.485124, 106.483772 29.48525, 106.479029 29.487577))'))
)

接口查询示例

调试时可以在百度地图上取点测试 : https://api.map.baidu.com/lbsapi/getpoint/index.html
== 测试用的多边形点位需要首尾相同 ==
前端构造成POLYGON格式字符串调用即可,如果使用magic-api,接口控制台代码如下:

var sql = "select sum(qd28) as 'zjrs',sum(qj09) as 'yfrs',sum(qd27) as 'glrs' from business_division03";
if(sid!=null && sid!='') {sql+=" where sid = #{sid}";
}else if(polygon!=null && polygon!=''){sql+=" where sid in (SELECT sid FROM business_master WHERE ST_Within(location, ST_GeomFromText(#{polygon})))"
}
return db.select(sql);

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/322978.html

相关文章:

  • 实际开发中,git版本切换操作
  • 线程池实现“线程复用”的原理
  • [Linux开发工具]——make/Makefile的使用
  • C++中的动态数组vector的基本操作
  • vsc ctrl+. 无效的问题
  • 科大讯飞开放平台-python语音转文字教程
  • 【LeetCode: 433. 最小基因变化 + BFS】
  • Python 安装目录及虚拟环境详解
  • linux sh脚本编写
  • 代码随想录笔记|C++数据结构与算法学习笔记-字符串(二)|28. 实现 strStr()、459.重复的子字符串、KMP算法
  • 【复杂网络建模】——建模工具Matlab入门
  • JVM面试篇
  • openEuler 22.03(华为欧拉)一键安装 Oracle 19C RAC(19.22) 数据库
  • 蓝桥杯刷题记录之数字王国之军训排队
  • Go语言学习Day1:什么是Go?
  • C语言内存函数之 memcmp函数
  • 3. C++ 常见的段错误及对策
  • 推荐的Kubernetes 学习资料
  • MySQL之索引与事务
  • Linux的基本使用
  • 亚信安慧AntDB全景观察:数据库领域的创新者
  • Linux 系统是如何收发⽹络包的
  • 飞跃前端瓶颈:技术进阶指南精华篇
  • Jenkins安装 Linux 更换镜像 安装插件
  • (一)基于IDEA的JAVA基础1
  • FPGA开源项目分享——基于FPGA加速的热扩散模拟器
  • 【ARM 嵌入式 C 入门及渐进 12 --寄存器位清0和置位函数实现】
  • Java实现10万,并发去重,优雅地处理重复请求!
  • 《深入解析 C#》—— C# 3 部分
  • Redis 的5种数据类型的基本命令