当前位置: 首页 > news >正文

2022-DE-9IM-Spatial-Predicates

DE-9IM 空间谓词的关系属性

原文:Relational Properties of DE-9IM spatial predicates
作者:Martin Davis
日期:2022年10月

概述

本文深入探讨了 DE-9IM(维度扩展的 9 交集模型)空间谓词的数学理论,包括它们在自反性、对称性和传递性方面的分类。这些属性对于理解和正确使用空间关系至关重要。

DE-9IM 模型回顾

DE-9IM 是 OGC(开放地理空间联盟)定义的标准空间关系模型。它通过比较两个几何图形的内部(Interior)、边界(Boundary)和外部(Exterior)来描述它们之间的关系。

9 交集矩阵

           几何 BI    B    EI [ dim  dim  dim ]
几何 AB [ dim  dim  dim ]E [ dim  dim  dim ]

其中:

  • I = Interior(内部)
  • B = Boundary(边界)
  • E = Exterior(外部)
  • dim = 交集的维度(-1=空, 0=点, 1=线, 2=面)

标准空间谓词

DE-9IM 定义了以下标准空间谓词:

谓词 描述 DE-9IM 模式
Equals 拓扑相等 TF**FFF
Disjoint 不相交 FFFF***
Intersects 相交 T******** 或 T****** 或 T** 或 T
Touches 接触 FT******* 或 FT*** 或 FT*
Crosses 交叉 取决于几何类型
Within A 在 B 内部 TFF
Contains A 包含 B T*****FF*
Overlaps 重叠 取决于几何类型
Covers A 覆盖 B T*****FF* 或 T**FFTFF 或 **TFF
CoveredBy A 被 B 覆盖 TFFTFFFTFFTF

关系属性分类

1. 自反性(Reflexivity)

自反关系是指几何图形与自身的关系。

自反谓词(Reflexive)

对于任意几何 A:R(A, A) = true

  • Equals: A.equals(A) = true
  • Intersects: A.intersects(A) = true
  • Covers: A.covers(A) = true
  • CoveredBy: A.coveredBy(A) = true

非自反谓词(Irreflexive)

对于任意几何 A:R(A, A) = false

  • Disjoint: A.disjoint(A) = false
  • Touches: A.touches(A) = false
  • Crosses: A.crosses(A) = false
  • Overlaps: A.overlaps(A) = false

2. 对称性(Symmetry)

对称关系是指关系在交换操作数后保持不变。

对称谓词(Symmetric)

R(A, B) = R(B, A)

  • Equals: A.equals(B) ⟺ B.equals(A)
  • Disjoint: A.disjoint(B) ⟺ B.disjoint(A)
  • Intersects: A.intersects(B) ⟺ B.intersects(A)
  • Touches: A.touches(B) ⟺ B.touches(A)
  • Crosses: A.crosses(B) ⟺ B.crosses(A)
  • Overlaps: A.overlaps(B) ⟺ B.overlaps(A)

非对称谓词(Asymmetric)

R(A, B) ≠ R(B, A)(一般情况下)

  • Within/Contains: A.within(B) ⟺ B.contains(A)
  • Covers/CoveredBy: A.covers(B) ⟺ B.coveredBy(A)

3. 传递性(Transitivity)

传递关系是指如果 R(A, B) 和 R(B, C) 为真,则 R(A, C) 也为真。

传递谓词(Transitive)

R(A, B) ∧ R(B, C) → R(A, C)

  • Equals: A.equals(B) ∧ B.equals(C) → A.equals(C)
  • Within: A.within(B) ∧ B.within(C) → A.within(C)
  • Contains: A.contains(B) ∧ B.contains(C) → A.contains(C)
  • Covers: A.covers(B) ∧ B.covers(C) → A.covers(C)
  • CoveredBy: A.coveredBy(B) ∧ B.coveredBy(C) → A.coveredBy(C)

非传递谓词(Non-transitive)

  • Intersects: A.intersects(B) ∧ B.intersects(C) ↛ A.intersects(C)
  • Touches: A.touches(B) ∧ B.touches(C) ↛ A.touches(C)
  • Overlaps: A.overlaps(B) ∧ B.overlaps(C) ↛ A.overlaps(C)

属性汇总表

谓词 自反性 对称性 传递性
Equals
Disjoint
Intersects
Touches
Crosses
Within
Contains
Overlaps
Covers
CoveredBy

实际应用

1. 空间查询优化

了解谓词的传递性可以优化空间查询:

// 利用 Contains 的传递性优化嵌套查询
// 如果已知 A contains B 且 B contains C
// 则无需测试 A contains C(一定为 true)boolean aContainsB = a.contains(b);
boolean bContainsC = b.contains(c);// 利用传递性跳过测试
if (aContainsB && bContainsC) {// a.contains(c) 必然为 trueaContainsC = true;
}

2. 空间索引设计

对称谓词可以简化空间索引的设计:

// 对于对称谓词,只需要单向索引
// A.intersects(B) = B.intersects(A)// 非对称谓词需要注意方向
// A.within(B) != B.within(A)

3. 数据验证

利用自反性进行数据验证:

// 每个几何图形应该与自身相等
for (Geometry g : geometries) {if (!g.equals(g)) {System.out.println("警告:几何图形不与自身相等(可能存在问题)");}
}

补充谓词

除了标准谓词外,DE-9IM 还支持自定义谓词:

// 使用自定义 DE-9IM 模式
String customPattern = "T*T***T**";  // 自定义关系
boolean matches = geomA.relate(geomB, customPattern);

总结

理解 DE-9IM 空间谓词的数学属性对于正确使用空间关系至关重要。自反性、对称性和传递性的知识可以帮助优化空间查询、设计更好的空间索引,并避免常见的逻辑错误。

参考资料

  • DE-9IM 维基百科
  • OGC Simple Features 规范
  • PostGIS DE-9IM 教程
http://www.jsqmd.com/news/171933/

相关文章:

  • 【C#重构实战】:通过using别名简化元组类型的5步精准操作法
  • Linux目录结构与核心命令
  • C#跨平台日志采集方案大揭秘(仅限内部交流资料流出)
  • YOLOv8与Grafana Loki结合实现日志驱动运维
  • CH585M+SX1262+W25Q16 极致低功耗方案(含1分钟唤醒嗅探场景)
  • 100N03NF-ASEMI大电流场景救星100N03NF
  • 2010-Single-Sided-Buffers-in-JTS
  • 软件体系结构——Chapter 8 性能
  • YOLOv8模型版本管理:使用Git Tag标记重要节点
  • 汇编语言全接触-59.Win32汇编教程三
  • 阈下抑郁文献
  • 从Windows到Linux再到macOS:C#权限模型统一落地的4种技术路径
  • 2018-Shapefiles-Good-Bad-Ugly
  • AP课程辅导全攻略:从选课逻辑到机构测评,助你精准提升申请竞争力 - 品牌测评鉴赏家
  • YOLOv8目标检测实战:从零搭建GPU环境并加速模型训练
  • 为什么顶尖团队都在用C#拦截器?深度剖析其在微服务通信中的核心价值
  • 2025年靠谱正规KOA电阻代理商排行榜,KOA电阻源头代理商推荐 - 工业推荐榜
  • 2025年防水/不伤牙/高端/感应充电/声波/敏感牙专用电动牙刷推荐榜:Allegro爱丽歌,适配精英人群的口腔护理新体验 - 品牌推荐官
  • 【C#跨平台方法拦截终极指南】:掌握高效AOP编程核心技术
  • 汇编语言全接触-60.Win32汇编教程四
  • YOLOv8在零售货架商品识别中的精准应用
  • 2026年1月份学校/幼儿园/医院/家装/儿童房/美容会所/酒店客房专用的环保涂料生产厂家权威测评榜单重磅来袭 - 一搜百应
  • 2026活塞压力计厂家最新推荐榜:含气体活塞压力计、高压活塞压力计、高静压差压、微压活塞压力计 - 深度智识库
  • YOLOv8模型灰盒测试方法:接口与行为验证
  • 感知机--异或门的实现
  • SAT/IB课程辅导机构怎么选?3大核心维度+优质机构推荐,备考少走弯路 - 品牌测评鉴赏家
  • 2020-JTS-Overlay-Next-Generation
  • java计算机毕业设计心理问题档案管理系统 心理健康信息档案平台 心理诊疗电子档案系统
  • 2025年钢渣/矿渣/铝灰/选矿/大型球磨机厂家实力推荐榜:四家源头厂家的全方位解析 - 品牌推荐官
  • 【毕业设计】基于SpringBoot的自习室预约管理系统的设计与实现(源码+文档+远程调试,全bao定制等)