首页 > 数据库 >mysql存储与计算地理位置信息

mysql存储与计算地理位置信息

时间:2023-09-17 21:32:17浏览次数:38  
标签:返回 10 存储 20 地理位置 对象 Point mysql line

● Geometry ○ Geometry是集合对象的基类,也就是说Point、lineString、polygon都是Geometry的子类 ● Point ○ 点对象,有一个坐标值,没有长度、面积、边界。数据格式为:经度longitude在前,纬度latitude在后,用空格分割,例如:POINT(116.4163528578841 39.870942749660706) ● LingString ○ 线对象,由一系列点连接而成。 ○ 如果线从头至尾没有交叉,那就是简单的simple;如果起点和终点重叠,那就是封闭的closed。 ○ 数据格式为:点与点之间逗号隔开,例如:LINESTRING (116.419444978 39.871422705, 116.419443261 39.871427365, 116.419440766 39.87143595, 116.419438923 39.871444627, 116.419438166 39.871450283) ● Polygon ○ 多边形对象。可以是一个实心平面形,即没有内部边界,也可以有空洞,类似纽扣。 ○ 数据格式为: ■ 实心型:POLYGON((121.342423 31.542423,121.345664 31.246790,121.453178 31.456862),(121.563633 31.566652,121.233565 31.234565,121.568756 31.454367)) ■ 纽扣型:POLYGON((0 0,10 0, 10 10, 0 10)) ● MultiPoint、MultiLingString、MultiPolygon、GeometryCollection为上面对象的集合 数据格式为下例 MULTIPOINT(0 0, 20 20, 60 60) MULTILINESTRING((10 10, 20 20), (15 15, 30 15)) MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5))) GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20))

常用几何对象属性查询函数

  1. Geometry:为基类函数,点线面都可以用 a. dimension(g):返回集合对象g的维数,点为0,线为1,多边形为2 b. Envelope(g):返回集合对象g的最小边界矩形(xy的极值点)。如果对象为点责返回该点对象,如果对象为线或者多边形则返回极值坐标xy坐标构造成的矩形polygon c. isClosed(g):返回集合对象g是否封闭,条件为该线对象首位点point重合则为封闭,封闭为1,不封闭为0,如果集合对象不为线对象的话,则返回为null d. isSimple(g):返回集合对象g是否为简单,条件为该线对象没有交叉则为简单,简单为1,不简单为0,如果几何对象不为线对象的话,返回为null
  2. Point:点 a. X(p):返回p点的X坐标 b. Y(p):返回p点的Y坐标
  3. LineString:线 a. EndPoint(line):返回对象line的最后一个点Point b. StartPoint(line):返回对象line的第一个点Point c. Point(line,N):返回对象line中的第N个点,N从1开始
  4. Polygon:面 a. ExteriorRing(Poly):返回多边形对象poly的外轮廓线,类型为LineString b. InteriorRingN(poly, N):返回对象poly的第N个空洞轮廓线,N从1开始 c. NumInteriorRings(poly):返回对象polygon的空洞个数

返回新的几何对象

  1. st_union(g1, g2):返回面1和面2的并集
  2. st_difference(g1, g2):返回面1 - (面1和面2的交集)
  3. st_intersection(g1, g2): 返回面1和面2的交集

标签:返回,10,存储,20,地理位置,对象,Point,mysql,line
From: https://blog.51cto.com/u_15927490/7504054

相关文章

  • MySQL 索引、事务与存储引擎
     一、索引1.索引的概念●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。●使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,......
  • 8-MySQL查询高级用法,数据表的关联关系
    1.分组groupby详情见,发布的第七篇博客文章,7-MySQL函数2.排序orderby说明:在MySQL中,ORDERBY是一种用于对查询结果进行排序的关键字。它可以根据一列或多列的值,以升序或降序的方式对查询结果进行排序,使得查询者可以更加方便地查看、分析和处理数据。使用ORDERBY时,需要指......
  • MySQL数据库管理
    1.MySQL数据库管理数据库-->数据表-->行(记录):用来描述一个对象的信息                   列(字段):用来描述对象的一个属性1.2常用的数据类型:int:整型  无符号[0,2^32-1],有符号[-2^31,2^31-1]float:单精度浮点   4字节32位double:双精度浮点......
  • MySQL笔记目录
    MySQL目录本视频学习自尚硅谷的MySQL教程,原地址在这笔记源自官方提供笔记,根据自己的理解重新排版修改、并增添了一些内容初级篇第一章MySQL概述第二章MySQL环境搭建(mysql环境安装、配置、卸载、登录)第三章SQL介绍DDL数据库和表的操作第四章MySQL数据类型......
  • 7-MySQL函数
    1.分组groupby在MySQL中,GROUPBY的意思是“分组查询”,它可以根据一个或多个字段对查询结果进行分组。GROUPBY的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。这可以理解为将数据按照某个字段或者多个字段进行分组。使用GROUPBY......
  • MySQL数据库管理
    MySQL数据库管理数据库-->数据表-->行(记录):用来描述一个对象的信息列(字段):用来描述对象的一个属性常用的数据类型:int:整型无符号[0,2^32-1],有符号[-2^31,2^31-1]float:单精度浮点4字节32位double:双精度浮点8字节64位char:固定长度的字符类型varchar:可变长度的字符类型......
  • MyCLI :易于使用的 MySQL/MariaDB 客户端
    MyCLI的特性当你第一次使用它的时候,将会自动创建一个文件~/.myclirc。当输入SQL的关键词和数据库中的表、视图和列时,支持自动补全。默认情况下也支持智能补全,能根据上下文的相关性提供补全建议。比如:SELECT*FROM<Tab>-这将显示出数据库中的表名。SELECT*FROMu......
  • 如何在第一个查询没有结果时执行第二个查询 - MYSQL
    在MySQL中,您可以使用IFNULL()函数和UNION操作符来实现在第一个查询没有结果时执行第二个查询。下面是一个示例:SELECTcolumn1,column2FROMtable1WHEREconditionUNIONSELECTcolumn1,column2FROMtable2WHEREconditionANDNOTEXISTS(SELECTcolumn1,column2......
  • mysql中的锁
    记录下mysql中的各种锁这些锁的效果的验证要在linux上安装mysql进行测试,如果在本地windows上装mysql有可能不会出现锁的互斥效果。本文使用的mysql版本是5.6一、全局锁全局锁锁的是整个数据库实例,加上全局锁后整个数据库实例下的所有数据库中的所有表都只能进行查询,包括当前......
  • 在MySQL 5.7中使用DECLARE语句的注意事项
    在MySQL执行以下SQL报错DELIMITER//CREATEPROCEDUREgenerate_and_insert_data()BEGINDECLAREiINTDEFAULT1;DECLAREjINTDEFAULT1;DECLAREtotal_iterationsINTDEFAULT1000;WHILEi<=total_iterationsDO--创建临时表用于存储生成......