• PostGreSQL(八)PostGIS-图形有效性和简单性


    图形有效性和简单性

    • ST_IsValid(geometry),检查图形有效性

      • 可以通过添加CHECK约束(即用户定义的完整性约束)来手动对表强制执行这样的有效性检查

      ALTER TABLE mytable ADD CONSTRAINT geometry_valid_check CHECK (ST_IsValid(the_geom));
    • ST_IsValidReason(geometry),查找无效的原因

    • ST_MakeValid,函数尝试在不对输入几何图形进行更改的情况下修复缺陷。不会删除或移动任何顶点,只需重新排列对象的结构即可。对于清晰但无效的数据来说,这个函数非常适用,对于杂乱无章且无效的数据来说,这个函数可能并不适用

    • ST_IsSimple(),检查图形的简单性

      • 几何图形的简单性可以理解为几何图形比较简单整齐,不会自己与自己重叠,不繁杂

    点的简单性与有效性

    单点

    单个点(Point)肯定是简单的且有效的,因为一个点孤零零的肯定是简单、有效的

    多点

    多个点(MultiPoint)肯定是有效的,但不一定是简单的。

    如果多点中有两个或两个以上的点重合(也就是坐标一致),那么它就不是简单的,但是确是有效

    线串的简单性与有效性

    单线串

    单线串(LINESTRING)如果有重叠、相交就不是简单的(除了端点相交,端点相交就说明这条线串是闭合的,但它是简单的)

    多线串

    多线串(MULTILINESTRING)只要它的元素(LINESTRING)都是简单的,且两个元素只在某个点相切,那么它就是简单

    多边形的简单性与有效性

    单多边形

    有效性:

    • 多边形的环必须闭合

    • 内环应该处于外环的内部

    • 环不能自相交(它们不能相互接触,也不能交叉)

    • 环不能与其他环接触,除非在某个点相切(只能有一个在一个点相切)

    多边形的环只要不自相交,则该多边形就是简单的

    多多边形

    多多边形里只要各个子元素(单多边形)是简单的、有效的,而且子元素之间只在有限的点上接触,那么它就是简单的、有效的。

     

  • 相关阅读:
    北风网第一季度菜单6
    北风网微信第一季菜单5
    win7卸载打印机驱动
    myeclipse 10激活,本人已测试过可行
    北风网视频菜单4
    Code Project精彩系列(1)
    Code Project精彩系列(1)
    Code Project精彩系列(1)
    实现Windows和Linux之间的文件共享
    实现Windows和Linux之间的文件共享
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13893363.html
Copyright © 2020-2023  润新知