首页 理论教育 空间数据库实验教程-创建新几何体

空间数据库实验教程-创建新几何体

时间:2023-08-29 理论教育 版权反馈
【摘要】:为了展示如何创建点、线、面等几何体,在example包中建立了点构造函数、矩形构造函数和线构造函数。除此之外,可以用这个新的构造函数来简化SQL语句。例如对一个ID=1的分店地理位置进行更新:update branches set location=createpointwhere id=1;注意:当函数的结果仅依赖于输入参数,记得使用DETERMINISTIC关键字。

空间数据库实验教程-创建新几何体

为了展示如何创建点、线、面等几何体,在example包中建立了点构造函数(createPoint)、矩形构造函数(createRectangle)和线构造函数(createLine)。

1.点构造函数

点构造函数非常简单,只是对SDO_GEOMETRY构造函数的简单调用,具体实现代码如下所示:

在上面的代码中,仅仅声明了一个返回SDO_GEOMETRY类型的函数。然后,使用这个标准的SDO_GEOMETRY构造函数生成一个合适的点(使用提供的x、y和空间参考系数)将变得相当简单。除此之外,可以用这个新的构造函数来简化SQL语句。例如对一个ID=1的分店(branches数据表)地理位置进行更新:

update branches set location=createpoint(-122.48049,37.7805222,8307)where id=1;

注意:当函数的结果仅依赖于输入参数(且不依赖数据库的状态时),记得使用DETERMINISTIC关键字。当同样的参数被传入的时候,它可以帮助重用已缓冲的函数评估,这也将产生更好的全局性能。

2.矩形构造函数(www.xing528.com)

下面的示例程序example.createRectangle函数在分店(branches数据表)周围创建了一个新的几何体来表示销售区域。可以编写一个函数,通过从分店位置开始在二维上分别扩展一个指定的值,来定义分店的销售区域。下面的程序展示了怎样定义一个矩形形状。函数以矩形中心坐标、中心到各边的距离和任意一个坐标系ID作为输入参数。SDO_GEOMETRY构造函数中的SDOORDINATES属性存储在左下和右上顶点。代码如下:

可以在SQL语句的任何地方使用该函数。例如,下面的代码对一个矩形区域内的客户数目进行统计,按等级分组。代码如下:

运行结果如下:

3.线构造函数

在下面的程序中,通过line函数用起点和终点创建了一个新的线几何体。程序Code_7_58展示了这个函数的定义。代码如下:

本节主要阐述了PL/SQL的编程基础以及如何构建和读写SDO_GEOMETRY对象。只要掌握了这些基础性的知识,就可以通过Oracle官方文档的查询,快速掌握SDO_GEORASTER、SDO_TIN等多种空间数据对象编程。

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

我要反馈