GIS 空间关系:九交模型

前言

空间关系用于描述几何对象之间的拓扑结构,如何确定空间对象位置及其空间关系是GIS首要解决的问题。而九交模型的提出和实现为GIS空间关系的确定奠定了基础。

1. 九交模型起源

九交模型诞生于论文《Point-Set Topological Spatial Relations》,这篇由Max J. Egenhofer和Robert D. Franzosa于1991年发表在International Journal of Geographical Information Systems的奠基性论文,首次系统性地提出了九交模型(9-Intersection Model),为GIS空间关系分析建立了严格的数学框架。

2. 九交模型基本概念

九交模型英文叫做9-Intersection Model,它主要通过分析几何对象内部 (Interior)、外部 (Exterior)和边界(Boundary)交集情况来确定几何对象之间的空间拓扑关系。

使用简单几何要素描述其内部、外部及边界情况如下:

  • 要素:内部是点,边界是空集,外部是平面上除点以外的所有其他部分。
  • 线 要素:内部、边界和外部不容易划分,内部是以端点为界限的线的那一部分,边界是线性要素的端点,外部是平面中除内部和边界外的所有其他部分。
  • 要素:内部是以环为边界的里面的那一部分;边界是环本身;外部是边界外的一切。

图片来源于Yukon(禹贡)数据库

为了能够唯一描述每一种简单几何对象的空间关系,空间实体的"补"作为空间实体的外部被引入空间关系描述框架 ,它同空间实体的边界、内部构成了简单空间实体的基本组件。假设空间实体 A 的边界为 A、内部为 A°、"补"为 A-,空间实体 B 的边界为 B、内部 B°、"补"为 B-,它们两两之间的交集就构成了空间关系描述的 9元组框架。

对于任意两个几何对象A和B,它们的拓扑关系可以用一个3×3的矩阵表示:

内部每一元素的取值都有空(∅)与非空(¬∅)两种可能。根据排列组合原理,9个元素项共有29= 512 种可能的取值,也就是说两个简单空间实体之间存在 512 种关系可能,当然,绝大部分空间关系可能没有意义。

对上图中九交矩阵元素含义表示如下:

  1. A°∩B°:两对象内部的交集
  2. A°∩∂B:A内部与B边界的交集
  3. A°∩B⁻:A内部与B外部的交集
  4. ∂A∩B°:A边界与B内部的交集
  5. ∂A∩∂B:两对象边界的交集
  6. ∂A∩B⁻:A边界与B外部的交集
  7. A⁻∩B°:A外部与B内部的交集
  8. A⁻∩∂B:A外部与B边界的交集
  9. A⁻∩B⁻:两对象外部的交集

而在实际应用中常见的空间关系模型有以下几种,这些关系为:

  1. 相离(Disjoint):是指两对象不相交,即在对象的内部、外部和边界均没有交集。
  2. 相接(Meet/Touch):是指两对象边界相交。
  3. 重叠(Overlap):是指两个对象存在部分交集。
  4. 相等(Equal):是指两个对象完全重合。
  5. 包含(Contains):是指其中一个对象是另一个对象的子集。
  6. 被包含(在内部)(Within):是指B包含A,即几何对象A在几何对象B的内部。
  7. 覆盖(Covers):是指两个对象A和B,其中对象B是对象A的子集。
  8. 被覆盖(CoveredBy):是指两个对象A和B,其中对象A是对象B的子集。

3. 九交模型现实意义

九交模型在GIS和空间数据库中具有重要的现实意义。它不仅为空间关系的精确描述提供了理论基础,还支持空间查询、分析、推理、数据质量检测、多源数据融合、自然语言表达、不确定性处理和标准化等应用。随着GIS技术的不断发展,九交模型的应用范围将进一步扩大,为更多领域的空间信息处理提供支持。

参考资料

  • 九交模型论文:https://www.tandfonline.com/doi/epdf/10.1080/02693799108927841?needAccess=true
  • Yukon(禹贡)数据库:https://yukon.supermap.io/2.0/demos/demo_de9im.html

OpenLayers示例数据下载,请回复关键字:ol数据

全国信息化工程师-GIS 应用水平考试资料,请回复关键字:GIS考试

【GIS之路】 已经接入了智能助手,欢迎关注,欢迎提问。

欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 !

相关推荐
修己xj13 分钟前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈1 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries1 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment1 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
qcx232 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen3 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文3 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
新酱爱学习4 小时前
手搓 10 个 Skill 后,我把重复劳动收敛成了一套零依赖 CLI 工具
前端·javascript·人工智能
IT_陈寒4 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端
研☆香4 小时前
es6新特性功能介绍(一)
前端·ecmascript·es6