Mysql 的空间几何对象数据

一、使用

  • 存放:st_geomfromtext(‘POINT(longitude latitude)’)
-- 用于将几何数据从可读的`文本类型`转换成`内部存储`的`二进制类型`。
INSERT INTO gxdc_company_park (location) VALUES(ST_GeomFromText(#{location,jdbcType=VARCHAR}));
  • 获取:st_astext(column_name)
-- 将几何数据转换成可读的文本类型
SELECT ST_ASTEXT(linestring_1) from t_geo_test2;
  • 其他:
-- ST_GEOHASH;可以将一个地理位置(Point)转换为一个指定长度的字符串,只有Point中存储的是经纬度即第一第二坐标范围分别在(-180,180)与[-90,90]内时才可以转换成功。`SELECT ST_GeoHash(geometry_1,8)  FROM  t_geo_test2 where  id =1;`
-- ST_PolygonFromText;

二、数据类型

类型 含义 说明 示例
Geometry 间数据 任意一种空间类型 img
Point 坐标值 POINT(121.474 31.2329)
LineString 线 线,由一系列点连接而成 LINESTRING(3 0, 3 3, 3 5)
Polygon 多边形 由多条线组成 POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))
MultiPoint 点集合 集合类,包含多个点 MULTIPOINT(0 0, 20 20, 60 60)
MultiLineString 线集合 集合类,包含多条线 MULTILINESTRING((10 10, 20 20), (15 15, 30 15))
MultiPolygon 多边形集合 集合类,包含多个多边形 MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((5 5, 7 5, 7 7, 5 7, 5 5)))
GeometryCollection 空间数据集合 集合类,可以包括多个点、线、多边形 GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20))

三、Mysql 中存放的结构

最初由Open Geospatial Consortium(OGC)组织定义,遵循该标准,MYSQL对其中SQL with Geomtry Types环境下的一个子集实现了空间扩展

  • WKT (Well-known text, WKT) 空间几何对象坐标文本表示
  • WKB (Well-known Binary, WKB) 二进制格式
  • MYSQLSELF 数据库内部存储的几何格式

在这里插入图片描述

POINT (30 10)
LINESTRING (30 10, 10 30, 40 40)
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10), (20 30, 35 35, 30 20, 20 30))

在这里插入图片描述

PS: 度格式 =度+分/60 +秒/3600;(数据为度分秒)
CASE: 30°33.1786(度分格式) = (度格式) 30 +33.1786/60= 30.552976666666666666666666666667(度格式);

猜你喜欢

转载自blog.csdn.net/howeres/article/details/109449571