首页 理论教育 空间数据库实验教程:几何类型与SDO

空间数据库实验教程:几何类型与SDO

时间:2023-08-29 理论教育 版权反馈
【摘要】:Oracle Spatial所支持的几何对象,就是一个有序点列,这些点通过直线段或圆弧段连接构成不同的几何对象类型。几何对象的语义由其类型决定。图3-1Oracle Spatial支持的二维几何对象类型注:所有的弧段都是圆弧表3-1Oracle Spatial支持的二维几何对象类型表3-2Oracle Spatial支持的三维几何对象类型续表3-2这里的SDO_GTYPE是一个NUMBER型的值,用于描述几何对象类型。第一个FOR循环输出ovcpoints表中几何对象的类型。

空间数据库实验教程:几何类型与SDO_GTYPE属性

Oracle Spatial所支持的几何对象,就是一个有序点列,这些点通过直线段或圆弧段连接构成不同的几何对象类型。几何对象的语义由其类型决定。Oracle Spatial支持多种基础类型和复合类型的几何对象,其中二维的几何对象类型主要有:

(1)点和点束(Points and Point Clusters);

(2)线串(Line Strings);

(3)简单多边形(n-Point Polygons);

(4)弧段、线串(Arc Line Strings);

(5)弧段多边形(Arc Polygons);

(6)复合多边形(Compound Polygons);

(7)复合线串(Compound Line Strings);

(8)圆(Circles);

(9)优化矩形(Optimized Rectangles)。

二维点(Two-Dimensional Points)是由X和Y坐标组成的,经常与经、纬度相关。线串(Line Strings)由一个或多个点对定义的线段组成。多边形(Polygons)是由相互连接构成环的线串组成,其区域是多边形所隐含的。例如,一个点可以表示一个建筑位置,一个线串可以表示一条飞机跑道,一个多边形可以表示一个城市或区域。Oracle Spatial不支持自相交的多边形。如果一个封闭的线串自相交,它是不能变成一个多边形的。Oracle Spatial所支持的二维几何类型,见图3-1和表3-1。

除了支持二维几何对象外,Oracle Spatial还支持三维和四维的几何对象。由于三维几何对象和四维几何对象主要通过点的维度不同来表示,所以这里主要讨论三维几何对象类型。三维几何对象类型主要包括点(Points)、点云(Point Clouds)、线(Lines)、多边形(Polygons)、面(Surfaces)和体(Solids)。表3-2显示了三维(3D)几何对象的类型及元素关系。

图3-1 Oracle Spatial支持的二维几何对象类型

注:所有的弧段都是圆弧(www.xing528.com)

表3-1 Oracle Spatial支持的二维(2D)几何对象类型

表3-2 Oracle Spatial支持的三维(3D)几何对象类型

续表3-2

这里的SDO_GTYPE是一个NUMBER型的值,用于描述几何对象类型。它由四个数字组成,其形式为DLTT,具体含义如下:

(1)D表示几何对象的维数,可以是2、3、4。

(2)L表示三维线性参照系统(Linear Referencing System,LRS)几何对象的线性参考度量维,也就是说,维度(3或4)包含度量值。对于一个非LRS几何对象,其默认值为0。

(3)TT表示几何类型,如00表示未知,01表示点,02表示线,03表示面,04表示集合,05表示多点,06表示多线,07表示多面,08表示体,09表示多体,具体参见表3-1和表3-2。

上面的脚本实现了对OVCDEMO数据库中所有几何对象类型的输出。第一个FOR循环输出ovcpoints表中几何对象的类型。第二个FOR循环输出ovclines表中几何对象的类型。第三个FOR循环输出ovcpolygons表中几何对象的类型。输出结果为:

2001

2002

2003

这说明ovcpoints表中的所有几何对象类型都是2001(单点),ovclines表中的所有几何对象类型都是2002(线串),ovcpolygons表中的所有几何对象类型都是2003(多边形)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈