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开发 相关内容,欢迎关注 !

相关推荐
IT_陈寒15 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
用户9385156350715 小时前
从"坐电梯"到"前端路由"——深入理解 Hash 路由原理
前端·typescript·全栈
梦想CAD控件15 小时前
网页端CAD的图形选择、编辑与夹点操作教程
前端·javascript·node.js
妙码生花15 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十二):管理员权限检查中间件,AI 随意放行预闯大祸
前端·后端·go
月月大王的3D日记16 小时前
Three.js 入门系列(8):六种光源全解析 —— 关灯了,开光!
前端·javascript
属于自己的天空16 小时前
每天省去重复 Prompt:我用 Skills 把 CRUD 生成标准化了
前端·后端
卡卡罗特AI16 小时前
GitHub怎么用?零基础,保姆级使用教程-上!建议收藏
前端·后端·github
自然 醒16 小时前
v-tooltip自定义指令封装
前端·javascript·vue.js
因_崔斯汀16 小时前
Three.js 3D 热力云图效果实现
前端·three.js