空间关系

基于维度扩展九交模式(Dimensionally Extended 9-Intersection ModelDE-9IM)MapGuide定义了如表8-3所示的11种空间关系,其中8种是OGC简单要素规范所定义的空间关系,另外3FDO中自定义的空间关系。

 

空间关系

中文名称

OGC标准

解释

Contains

包含

一个几何图形的内部完全包含了另一个几何图形的内部和边界。

CoveredBy

覆盖

一个几何图形被另一个几何图形所包含,并且它们的边界相交。PointMultiPoint不支持此空间关系,因为它们没有边界。

Crosses

交叉

一个几何图形的内部和另一个几何图形的边界和内部相交,但是它们的边界不相交。

Disjoint

分离

两个几何图形的边界和内部不相交。

EnvelopeIntersects

封套相交

两个几何图形的外接矩形相交。

Equal

相等

两个几何图形具有相同的边界和内部。

Inside

内部

一个几何图形在另一个几何图形的内部,但是和它的边界不接触。

Intersects

相交

两个几何图形没有分离(Non-DisJoint)

Overlaps

重叠

两个几何图形的边界和内部相交(Intersect)

Touch

接触

两个几何图形的边界相交,但是内部不相交。

Within

包含于

一个几何图形的内部和边界完全在另一个几何图形的内部。

8-3 MapGuide所支持的11种空间关系

 

给定一个几何图形aI(a)B(a)E(a)分别表示几何图形a的内部、边界和外部,其中,边界是指对几何图形一次降维之后得到对象,举例来说一个点的边界为空,未封闭的线的边界为其两个端点,封闭线的边界为空,多边形的边界为它的环状边界;内部是指几何对象的边界被移除之后剩下的部分;外部则是指不在边界和内部中的点构成的几何对象。I(a)B(a)E(a)中任意两个的相交会产生一个系列新的几何物体xdim(x)代表几何物体x的维度,它的值可以为-1 012,其中-1代表x是一个空的几何物体Æ,维度扩展九交模式的形式如表8-4所示。

 

 

内部

边界

外部

内部

dim(I(a)ÇI(b))

dim(I(a)ÇB(b))

dim(I(a)ÇE(b))

边界

dim(B(a)ÇI(b))

dim(B(a)ÇB(b))

dim(B(a)ÇE(b))

外部

dim(E(a)ÇI(b))

dim(E(a)ÇB(b))

dim(E(a)ÇE(b))

8-4 维度扩展九交模型

 

例如表8-5显示了使用维度扩展九交模型描述的两个多边形ab的重叠(Overlaps)关系。

 

 

内部

边界

外部

内部

2

1

2

边界

1

0

1

外部

2

1

2

8-5 扩展九交模型示例

 

两个几何物体之间的空间关系可以由9个值表示的扩展九交模型模式来表示,每个值p可以为TF*12,这些值的定义如下:

p = T => dim(x) Î{0, 1, 2},即x不等于Æ

p = F => dim(x) = -1,即x等于Æ

p = * => dim(x) Î {-1, 0, 1, 2},即x可以为任何值

p = 0 => dim(x) = 0

p = 1 => dim(x) = 1

p = 2 => dim(x) = 2

例如模式“T*T***T**”表示的是空间关系重叠(Overlaps)MapGuide支持11种空间关系,它们的扩展九交模型定义如下所示,其中P代表0维的几何物体点和多点(MultiPoint)L代表1维的几何物体线(LineString)和多线(MultiLineString)A代表2维的几何物体多边形和多多边形(MultiPolygon)

1)  Disjoint

a.Disjoint(b) Û (I(a)ÇI(b) = Æ) Ù (I(a) Ç B(b) = Æ) Ù (B(a) ÇI(b) = Æ) Ù (B(a) Ç B(b) = Æ) Û FF*FF****

2)  Touches:可以应用到A/AL/LL/AP/AP/L,但无法用于P/P8-2示意了Touches空间关系

a.Touches(b) Û (I(a)ÇI(b) = Æ) Ù ( (B(a) Ç I(b) ¹ Æ) Ú (I(a) ÇB(b) ¹ Æ) Ú (B(a)ÇB(b) ¹ Æ) ) Û FT******* Ú F**T***** Ú F***T****

3)  Crosses:图8-3示意了Crosses关系。

如果a Î Pb Î L a Î Pb Î Aa Î Lb Î A

a.Crosses(b) Û (I(a) Ç I(b) ¹ Æ) Ù (I(a) Ç E(b) ¹ Æ) Û T*T******

如果a Î Lb Î L

a.Crosses(b) Û dim(I(a)ÇI(b)) = 0 Û 0********

4)    Within:图8-4示意了Within关系。

a.Within(b) Û (I(a)ÇI(b) ¹  Æ) Ù (I(a) ÇE(b) =Æ) Ù (B(a)ÇE(b) =Æ) ) Û T*F**F***

5)    Overlaps:图8-5示意了Overlaps关系。

如果a Î Pb Î Pa Î A, b Î A

a.Overlaps(b) Û (I(a) ÇI(b)¹Æ) Ù (I(a) ÇE(b)¹Æ) Ù (E(a) ÇI(b)¹Æ) Û T*T***T**

如果a Î Lb Î L

a.Overlaps(b) Û (dim(I(a) ÇI(b) = 1) Ù (I(a) ÇE(b)¹Æ) Ù (E(a) ÇI(b)¹Æ) Û 1*T***T**

6)    Equal

a.Equal(b) Û (I(a)ÇI(b) ¹  Æ) Ù (I(a) Ç B(b) = Æ) Ù  (I(a) Ç E(b) = Æ) Ù  

(B(a) ÇI(b) = Æ) Ù (B(a) Ç B(b) ¹  Æ) Ù  (B(a) Ç E(b) = Æ) Ù  

(E(a) ÇI(b) = Æ) Ù (E(a) Ç B(b) = Æ) Ù  (E(a) Ç E(b) ¹ Æ)

Û TFFFTFFFT

7)    Contains

a.Contains(b) Û b.Within(a)

8)    Intersects

a.Intersects(b) Û! a.Disjoint(b)

9)    CoveredBy:图8-6示意了CoveredBy关系。

a.CoveredBy(b) Û (a.within(b) Ù a.intersect(b))

10) Inside:图8-7示意了Inside关系,其中同心圆代表相交点,aeghj是多点(MutiPoint)

a.Inside(b) Û (a.within(b) Ù !a.intersect(b))

11) EvnelopeIntersects

a.EvnelopeIntersects(b) Û  envelope(a).Intersects(envelope(b))

其中,envelope(a)代表a的外接矩形。

 

 Spatial Relationship Examples

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值