• MySQL空间数据函数


    MySQL空间数据函数

    以下列出常用MySQL数据函数,更多的函数查阅MySQL官方文档

    数据插入

    INSERT into 表明(字段名) VALUES(ST_GeomFromText('wkt数据格式'))
    
    • 1

    空间数据函数

    点要素相关函数

    ST_StartPoint(A)

    获取要素开始点

    ST_EndPoint(A)

    获取要素结束点

    ST_X(A)

    获取点要素A的X坐标

    ST_Y(A)

    获取点要素A的Y坐标

    ST_ConvexHull(A)

    获取多点的凸外包

    ST_MakeEnvelope(A,B)

    返回以 A、B为对角点的矩形

    线要素相关函数

    ST_IsClosed(A)

    线是否闭合

    ST_NumPoints(A)

    获取线中点数量

    ST_PointN(A,n)

    获取线中第n个点

    ST_Envelope(A)

    生成矩形, A只有两个点,且不是水平或竖直线

    面要素相关函数

    ST_ExteriorRing(A)

    获取A面外环边界,返回值为LineString

    ST_InteriorRingN(A,num)

    获取面A中第num个内环边界,返回值为LineString,num从1开始。

    ST_NumInteriorRings(A)

    获取A面内环数量(5.7.8后添加ST_NumInteriorRing,效果一样)

    几何关系函数

    包含相关函数

    MBRContains(A,B)

    A包含B,B在A中

    包含在内返回true,不包含在内返回false

    MBRWithin(A,B)

    B包含A,A在B中

    包含在内返回true,不包含在内返回false

    覆盖相关函数

    MBRCoveredBy(A,B)

    A被B覆盖

    MBRCovers(A,B)

    B被A覆盖

    相交相关函数

    MBRDisjoint(A,B)

    A、B不相交

    MBRIntersects(A,B)

    A、B相交

    接触(相切)相关函数

    MBRTouches(A,B)

    A、B接触,接触的概念类似于相切

    重叠相关函数

    MBROverlaps(A,B)

    A、B重叠

    相同函数

    MBREquals(A,B)

    A、B相同

    几何关系计算函数

    ST_Intersection(A,B)

    返回要素A和要素B相交的部分,返回WKT格式要素

    ST_SymDifference(A,B)

    返回要素A和要素B相交部分以外的部分,A、B中独有的,返回WKT格式要素

    ST_Union(A,B)

    返回要素A和要素B合并的并集,返回WKT格式要素

    ST_Difference(A,B)

    返回要素A中有要素B中没有的

    几何计算函数

    ST_Length(A)

    获取线的长度

    ST_Area(A)

    获取面的面积

    ST_Centroid(A)

    获取要素质心

    ST_Distance(A,B)

    获取要素A和要素B的直线距离

    ST_Distance_Sphere(A,B)

    获取要素A和要素B的球面距离

    ST_Simplify(A,mix_distance)

    要素抽稀,将A抽稀,简化A中两点距离小于max的值

    ST_Buffer(A,length)

    通过A要素,生成周边范围为length距离的面

    5.7.7后可以添加策略影响缓冲区的计算,设置的语句是ST_Buffer_Strategy()

    • point策略
      • point_circle –> 点的缓冲区是一个圆(默认)
      • point_square –> 点的缓冲区是一个正方形,length是点到其中一边的距离
    • join策略
      • join_round –> 连接处缓冲区边界为圆弧(默认)
      • join_miter –> 连接处缓冲区边界为尖角
    • end策略
      • end_round –> 在结束处缓冲区为圆弧(默认)
      • end_flat –> 在结束处缓冲区为平坦的直线

    示例:

    ST_Buffer(point,10, ST_Buffer_Strategy('point_square'))
    
    ST_Buffer(line, 10, ST_Buffer_Strategy('join_miter', 10), ST_Buffer_Strategy('end_flat'))
    
    • 1
    • 2
    • 3

    验证数据是否合法

    ST_IsValid(A)

    STValidate(A)

    数据格式函数

    数据输入函数

    ST_GeometryFromText(wkt格式数据)

    将wkt格式数据转换成Geometry数据

    st_geomfromgeojson(geoJson格式数据)

    将geoJson格式数据转换成Geometry数据

    数据输出函数

    st_aswkt(字段名)

    返回wkt数据

    st_asgeojson(字段名)

    返回geoJson格式数据

    ST_AsBinary(字段名)

    返回二进制格式数据

  • 相关阅读:
    开源网安受邀参加网络空间安全合作与发展论坛,为软件开发安全建设献计献策
    编程老司机的笔记,带你系统学Python
    数据资产到底如何入表?
    硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart Search”功能
    稳定版正式发布 | 用 Flutter 构建 Windows 桌面应用程序
    NoSQL之Redis配置与优化
    Java代码审计——URL 跳转漏洞
    文件用手机拍照片打印时,打印出来总是有黑阴影,如何去掉黑色阴影打印清晰的图片
    高效面试之贪心算法
    k8s集群-7 service
  • 原文地址:https://blog.csdn.net/qq_36213352/article/details/128140979