(1)阅读4.1和4.2部分内容,通过Oracle数据库数据导入工具,导入实验数据mvdemo.dmp和ndmdemo.dmp,查看Oracle Spatial中相关数据表的结构以及其中的导入数据,研究写出Oracle Spatial中对于二维空间数据的组织与管理架构。
(2)阅读4.3部分内容,查看导入实验数据后的元数据相关数据表。
第一步,用户空间信息元数据存放在user_sdo_geom_metadata视图对应的基表中。在数据库空间建立一个my_sdo_geom_metadata视图,代码如下:
第二步,在SQL Developer中查看该视图数据。图12-1是Oracle Spatial实验数据集的主要空间元数据信息。图12-2显示的是CUSTOMERS空间层的DIMINFO信息。
图12-1 Oracle Spatial实验数据集的主要空间元数据信息
图12-2 Oracle Spatial实验数据集中CUSTOMERS表对应的DIMINFO空间元数据信息
(3)阅读4.4部分内容,了解Oracle Spatial的地理编码体系架构。完成下面任务。
(a)调用Oracle Spatial地理编码函数,计算下列地址的地理位置:
'1250Clay Street',
'San Francisco CA 94108'
实现代码如下:
(b)调用Oracle Spatial反地理编码函数,实现Oracle Spatial方案中的下列地理位置反编码。
经纬度坐标:-122.413561836735,37.793287755102。
SRID为:8307。(www.xing528.com)
实现代码如下:
(4)导入Oracle Spatial实验数据集,采用PL/SQL编码实现以下功能。
(a)输出数据库中所有州的多边形,采用WKT格式输出,代码如下:
(b)输出数据库中所有的城市几何对象信息,采用GML格式输出,代码如下:
(c)输出数据库中的郡县几何对象信息,采用KML格式输出,代码如下:
(5)产生一个随机三维点集,以该点集为输入数据,构建SDO_TIN对象。
(a)创建存储TIN的基表tin_tab和块表tin_blktab,代码如下:
(b)构建存储输入点集的数据表input_tab和结果数据表output_tab,代码如下:
(c)生成随机三维点集,水平范围为(-180,-90,180,90),并插入input_tab表中,代码如下:
(d)用输入点集初始化、插入和填充TIN,代码如下:
(e)比较input_tab表中的点数目与tin_blktab表中点数目是否相等,代码如下:
(f)查询(-74.1,-73.9,39.99999,40.00001)范围内的TIN对象,代码如下:
(g)将查询得到的TIN块转换成SDO_GEOMETRY,代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。