Mysql-几何类型-POINT

在MySQL中,地理空间数据类型和功能被称为GIS(Geographic Information System,地理信息系统)。MySQL支持几种不同的空间数据类型,包括点(POINT)、线(LINESTRING)、多边形(POLYGON)等。以下是如何在MySQL中使用这些地理空间数据类型的一些示例。

创建包含地理空间数据类型和SPATIAL索引的表

-- 创建表
CREATE TABLE locations (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100),location POINT NOT NULL,SPATIAL INDEX(location) -- 创建空间索引以提高查询性能
);

插入地理空间数据

可以使用ST_GeomFromText函数插入地理空间数据, 插入数据时,需要确保经度和纬度的顺序正确(经度在前,纬度在后):

-- 插入地理空间数据
INSERT INTO locations (name, location) 
VALUES ('潍坊站', ST_GeomFromText('POINT(119.10461 36.703028)')),  -- New York City (经度 -74.0060, 纬度 40.7128)('潍坊北站', ST_GeomFromText('POINT(119.202107 36.803533)'));  -- Los Angeles (经度 -118.2437, 纬度 34.0522)

查询地理空间数据

以下是一些常见的查询示例:

查询所有点数据
-- 查询所有点数据
SELECT id, name, ST_AsText(location) AS location 
FROM locations;
查找在某个范围内的点

假设你想找到距离某个点(例如 119.027859 36.720155)在 10 公里范围内的所有点,可以使用以下查询:

-- 查找在10公里范围内的点
SELECT id, name, ST_Distance_Sphere(location, ST_GeomFromText('POINT(119.027859 36.720155)')) AS distance 
FROM locations 
WHERE ST_Distance_Sphere(location, ST_GeomFromText('POINT(119.027859 36.720155)')) <= 10000;

更新地理空间数据

可以使用 ST_GeomFromText 函数更新地理空间数据。例如:

-- 更新地理空间数据
UPDATE locations 
SET location = ST_GeomFromText('POINT(119.134322 36.703954)') 
WHERE id = 5;

删除地理空间数据

删除操作与普通的 SQL 删除操作相同。例如:

-- 删除地理空间数据
DELETE FROM locations 
WHERE id = 5;

示例:综合使用

以下是一个完整的示例,包括创建表、插入数据、查询数据、更新数据和删除数据:

-- 创建表
CREATE TABLE locations (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100),location POINT NOT NULL,SPATIAL INDEX(location)
);-- 插入地理空间数据
INSERT INTO locations (name, location) 
VALUES ('潍坊站', ST_GeomFromText('POINT(119.10461 36.703028)')),  ('潍坊北站', ST_GeomFromText('POINT(119.202107 36.803533)'));  -- 查询所有点数据
SELECT id, name, ST_AsText(location) AS location 
FROM locations;-- 查找在10公里范围内的点
SELECT id, name, ST_Distance_Sphere(location, ST_GeomFromText('POINT(119.027859 36.720155)')) AS distance 
FROM locations 
WHERE ST_Distance_Sphere(location, ST_GeomFromText('POINT(119.027859 36.720155)')) <= 10000;-- 更新地理空间数据
UPDATE locations 
SET location = ST_GeomFromText('POINT(119.134322 36.703954)') 
WHERE id = 1;-- 删除地理空间数据
DELETE FROM locations 
WHERE id = 1;
数据截图

在这里插入图片描述

查询结果

经纬度: 119.027859 36.720155
在这里插入图片描述

在线平台测试结果:

结果1:

在这里插入图片描述

结果2:
在这里插入图片描述

基本准确

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/702157.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何安全高效地进行4S店文件分发,保护核心资产?

4S店与总部之间的文件分发是确保双方沟通顺畅、信息共享和决策支持的重要环节。4S店文件分发涉及到以下文件类型&#xff1a; 销售报告&#xff1a;4S店需要定期向总部提交销售报告&#xff0c;包括销售数量、销售额、市场份额等关键指标。 库存管理文件&#xff1a;包括车辆库…

探索设计模式的魅力:机器学习赋能,引领“去中心化”模式新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 探索设计模式的魅力&#xff1a;机器学习赋能&#xff0c;引领“去中心化”模式新纪元 ✨欢迎加入…

合合信息:TextIn文档解析技术与高精度文本向量化模型再加速

文章目录 前言现有大模型文档解析问题表格无法解析无法按照阅读顺序解析文档编码错误 诉求文档解析技术技术难点技术架构关键技术回根溯源 文本向量化模型结语 前言 随着人工智能技术的持续演进&#xff0c;大语言模型在我们日常生活中正逐渐占据举足轻重的地位。大模型语言通…

Go-Zero定义API实战:探索API语法规范与最佳实践(五)

前言 上一篇文章带你实现了Go-Zero模板定制化&#xff0c;本文将继续分享如何使用GO-ZERO进行业务开发。 通过编写API层&#xff0c;我们能够对外进行接口的暴露&#xff0c;因此学习规范的API层编写姿势是很重要的。 通过本文的分享&#xff0c;你将能够学习到Go-Zero的API…

数据库学习之select语句练习

目录 素材 练习 1、显示所有职工的基本信息。 结果 2、查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 结果 3、求出所有职工的人数。 结果 4、列出最高工和最低工资。 结果 5、列出职工的平均工资和总工资。 结果 6、创建一个只有职…

直流无刷电机控制(一)六步换相(有感霍尔)

直流无刷电机概述 直流无刷电机的转子为永磁铁&#xff0c;定子为换相线圈&#xff0c;有别于有刷电机通过电刷或者换向器换相&#xff0c;无刷电机通过控制器电子换相。 极对数 直流无刷电机采用永磁铁作为转子&#xff0c;一对NS磁极为一极对&#xff0c;为了使电机运转更…

写一个类ChatGPT应用,前后端数据交互有哪几种

❝ 对世界的态度&#xff0c;本质都是对自己的态度 ❞ 大家好&#xff0c;我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder 前言 最近&#xff0c;公司有一个AI项目&#xff0c;要做一个文档问答的AI产品。前端部分呢&#xff0c;还是「友好借鉴」Cha…

HarmonyOS NEXT 阅读翻页方式案例

介绍 本示例展示手机阅读时左右翻页&#xff0c;上下翻页&#xff0c;覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮&#xff0c;弹出翻页方式切换按钮&#xff0c;点击可切换翻页方式。左右翻页方式可点击翻…

Springboot3 链接Redis遇到的报错(本文仅记录保存,优质文章移步springboot专栏)

出现的报错&#xff1a; cannot connect to Redisedis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is setredis wrong number of arguments for ‘auth’ command 其实上面的三个报错是不同界面显示的&#xff0c;后面两个是通过Ide…

CentOS 安装 SeaweedFS

1. SeaweedFS 介绍 SeaweedFS 是一个简单且高度可扩展的分布式文件系统。有两个目标&#xff1a; to store billions of files! (存储数十亿个文件&#xff01;)to serve the files fast! (快速提供文件&#xff01;) Seaweedfs的中心节点&#xff08;center master&#xff09…

【Mac】如何解决打开PD虚拟机后Mac无法上网的问题?

问题描述 部分用户在运行Parallels Desktop并打开Windows 11后&#xff0c;发现Windows上网没有问题&#xff0c;但是Mac主机不能访问带域名的网站&#xff0c;而访问带IP的网站没问题&#xff0c;退出Parallels虚拟机以后&#xff0c;Mac网络又恢复正常。 解决办法 退出 Pa…

华为昇腾310B1平台视频解码失败[ERROR] Send frame to vdec failed, errorno:507018

目录 1 [ERROR] Send frame to vdec failed, errorno:507018 2 bug解决尝试1 3 bug解决尝试2 4 最终解决方法 参考文献&#xff1a; 1 [ERROR] Send frame to vdec failed, errorno:507018 某项目中的代码运行报错 [ERROR] Send frame to vdec failed, errorno:507018 Ac…