前面提到了Oracle Spatial会自动与Oracle数据库标准版本或企业版本一起安装。由于我们安装的是企业版的Oracle数据库系统,因此不需要单独安装Oracle Spatial组件。Oracle Spatial所需要的空间数据类型、视图、包和函数都已经作为MDSYS方案的一部分被安装了,可以用SQL Developer通过sys用户连接到数据库服务器查看该方案是否存在来检测Oracle Spatial是否被安装,也可以通过执行下列SQL语句来验证Oracle Spatial安装情况(图1-24)。
图1-24 在SQL Developer中检测Oracle Spatial是否安装成功
安装结果如下:
select comp_name,status from dba_registry where comp_name='Spatial';
如果返回的结果是VALID,则说明Oracle Spatial已经安装成功。
Oracle Spatial安装成功了,导入Oracle公司提供的测试数据MVDEMO(MVDEMO Sample Data Set),其下载网址为:http://www.oracle.com/technetwork/middleware/mapviewer/downloads/index-100641.html。下载的版本不同,数据有一定差异。以Oracle 11g R版的数据为例,解压文件mvdemo.zip主要包括以下文件和目录:
.\topology
mapdefinition.sql
mcsdefinition.sql
mvdemo.dmp
mvdemo.sql
mvdemo-sec.sql
readme.txt
SecureMapRenderingDemo.pdf
在Oracle Spatial中导入该示例数据集的主要操作步骤如下。
(1)建立一个数据库用户mvdemo,密码也为mvdemo,并为其赋予connect、resource、create view权限。可以在SQL Developer中用创建用户界面完成,也可以采用如下SQL脚本完成:
create user mvdemo identified by mvdemo;
grant"resource"to mvdemo;
grant"connect"to mvdemo;
grant create view to mvdemo;
(2)在Command窗口运行导入命令(注意,要在数据文件的当前目录下运行):(www.xing528.com)
imp mvdemo/mvdemo file=mvdemo.dmp full=y ignore=y
运行后我们在SQL Developer中用mvdemo用户登陆,可以发现在MVDEMO方案下已经建立了一系列的数据表、视图等对象,如图1-25所示。
图1-25 在SQL Developer中导入MVDEMO数据后的部分结果
(3)执行脚本文件mcsdefinition.sql。如果数据库从来没有运行过这个脚本文件,需要以DBA角色运行这个文件。为验证这个脚本是否已经被执行,可以用任何数据库用户登录,并能成功执行SELECT NAME FROM USER_SDO_CACHED_MAPS查询,则说明脚本已经成功执行。该脚本的功能主要是创建视图USER_SDO_CACHED_MAPS。这个视图用于装载图层定义,并且是MapViewer所必需的。
(4)用mvdemo登录,执行脚本文件mvdemo.sql。该脚本执行后将提供所有必需的空间元数据,将预定义的线型、图层等拷贝到相应的用户视图中,并为导入的表创建空间索引。
(5)用mvdemo/mvdemo登录SQLPLUS,执行usstates.sql和schierarchy.sql脚本,导入拓扑示例数据。
通过上述步骤,就完成了MVDEMO数据集的导入。虽然导入了数据,但是还没有用来可视化显示地图的工具。Oracle提供了MapViewer中间件来进行地图的可视化,但是Map-Viewer的配置对于初学者而言还是比较繁琐。如果想现在就看到部分导入数据的可视化结果,可以采用Oracle MapBuilder来连接MVDEMO数据库预览地图,尽管它并不是为地图浏览设计,但它也可以用来显示地图数据,如图1-26所示。
图1-26 在Oracle MapBuilder中连接MVDEMO空间数据库并显示
首先,我们到Oracle公司网站上下载MapBuilder,将其解压到{ORACLE_BASE}目录(目录可以任选),然后运行:
java-jar mapbuilder.jar
启动MapBuilder,新建连接,采用mvdemo用户登录,连接成功后,选择“Base Maps”中的“TERR_MAP”,右键弹出菜单,选择“Preview”,然后点击界面上的绿色按钮,就可以对该图进行可视化显示,也可以进行放大缩小等操作,如图1-26所示。
为了方便后面章节关于网络模型的讨论,这里再构建一个方案NDMDEMO。
(1)在Oracle公司网站上下载ndm_tutorial.zip,解压到当前目录。
(2)创建一个表空间,命名为ndmdemo。
(3)建立一个数据库用户ndmdemo,密码也为ndmdemo,并为其赋予connect、resource、create view权限。
(4)运行hillsborough_network_drop.sql。
(5)运行imp ndmdemo/ndmdemo file=hillsborough_network.dmp full=y。
(6)运行hillsborough_network_create.sql。
通过上面步骤,就创建了示例数据库NDMDEMO,在MapBuilder中为其创建一个Network主题,名字为HILLSBOROUGH,该主题预览如图1-27所示。在后面关于网络模型的章节中我们将使用该示例数据进行说明,请参见3.5。
图1-27 在MapBuilder中连接NDMDEMO空间数据库并显示
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。