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)都是简单的,且两个元素只在某个点相切,那么它就是简单
多边形的简单性与有效性
单多边形
有效性:
-
多边形的环必须闭合
-
内环应该处于外环的内部
-
环不能自相交(它们不能相互接触,也不能交叉)
-
环不能与其他环接触,除非在某个点相切(只能有一个在一个点相切)
多边形的环只要不自相交,则该多边形就是简单的
多多边形
多多边形里只要各个子元素(单多边形)是简单的、有效的,而且子元素之间只在有限的点上接触,那么它就是简单的、有效的。
分类:
SQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具