空间数据库引擎ArcSDE

空间数据库引擎ArcSDE,第1张

空间数据引擎:ArcSDE9.0(arc spatial database engine);此软件被用作系统后台(Server),其优势在于能按照用户需求合理地管理大规模甚至超大规模的空间数据库,为系统前端提供高效的空间数据和复杂的空间分析服务。

选择空间数据库引擎SDE作为空间数据库管理系统,是一套管理空间数据并提供访问这些数据接口的软件,通过ArcSDE可以把地理空间数据应用到商用的关系型数据库中,SDE融入DBMS后,提供了对空间数据进行高效率 *** 作的接口,大量用户可以同时针对同一数据进行 *** 作,更重要的是ArcSDE客户和服务器之间的通讯建立在TCP/IP协议上,这使得ArcSDE不但能满足局域网的应用,而且能满足远程网的应用。

通过ArcSDE,能够管理具有数百万空间要素的大型空间数据集。ArcSDE对各级企业均能适用,这归功于其在客户与服务器间协同处理。ArcSDE通过TCP/IP协议,提供网络上的开放数据访问;同时,ArcSDE可运行在不同的 *** 作系统环境中,如UNIX,Microsoft Windows的客户端与服务器端。

为了实现以关系数据库管理系统(Oracle)为基础的空间数据管理,需要使用空间数据库引擎。良好的空间数据库引擎能够为数据库的应用系统开发提供高性能的支持。ESRI公司的ArcSDE for Or-acle 是一个基于Oracle的空间数据库引擎,它的空间数据管理高效而稳定,将作为本项目综合数据库的必须软件产品之一。其特点:

(1)对地理数据的开放式系统访问

ArcSDE利用开放系统结构,使得地理数据易于获得,可以把地理数据的管理与使用同其他传统的多媒体数据库合并到一个平滑的计算机环境中。利用ArcSDE的开放性,用户可以进行从简单到复杂的空间数据分析,从几个到许多地理特征的提取,访问超大规模的数据库,高效完成各种复杂任务。

(2)进行高效查询分析

ArcSDE提供一组可靠的几何处理与空间分析功能,通过此功能确定各地理实体间的相互关系,如相交于一点、共一条边界、共一个区域或一个实体包含另一个实体。而且还可以把空间分析嵌入到一个非GIS的应用程序中去。

(3)理想的空间对象模型

ArcSDE把线特征表示成一条不能自相交的线,或只能在终点相交的线;面特征表示成一个简单的多边形或多边形组合。空间对象类型有点、点集、串、线串、环、多边形、环纹多边形(donut polygon)以及网络数据,一个组合数据集称为一个层。层是具有相同形式对象类型的一组地理特征,地理特征通过图层这种空间连续策略进行索引,提高数据管理效率。

(4)快速实现过程

ArcSDE对于复杂空间查询的处理的效率体现在对次要特征(Subsecond Feature)的检索上,快速访问与检索是在C/S模式上实现的,客户端主要是响应空间分析 *** 作,服务器则进行数据搜索和检索。这种互 *** 作处理方法使得动态空间叠加成为可能,当大量增加客户端的时候,利用这种处理可以把客户机带来的性能下降降到最小。

(5)其他

客户端可以通过TCP/IP协议访问Arc/Info数据,不用通过传统的直接挂到数据库所在的磁盘上进行访问,这样系统就可以建立在广域网上,数据分布将不受地域限制。同时允许将一部分数据放在RDBMS中,另一部分数据以传统Arc/Info数据格式保存。而客户端的应用将以同一种方式进行访问,即数据源的不同对客户而言是完全透明的。

ArcSDE本身并没有专用数据库,而是通过与其他通用的DBMS的集成来管理空间数据。根据DBMS的类型,ArcSDE与DBMS的集成可分为两种:①与传统的关系型数据库管理系统(RDBMS)的集成,由于传统的RDBMS不支持数据类型的扩展,无法管理空间数据,只能通过ArcSDE对空间数据和空间 *** 作进行解释和管理。②与面向对象关系数据库(OORDMS)的集成。由于面向对象的关系支持新的数据类型和函数的扩展,ArcSDE可以直接在数据库中定义空间数据类型和空间函数。于是可以通过基于SQL的函数对空间数据进行 *** 作,并在数据库层次建立空间索引。

什么是ArcSDE以及为什么使用ArcSDE?

从空间数据管理的角度来看ArcSDE 可看成是一个连续的空间数据模型,借助这一模型我们可用关系型数据库RDBMS 管理空间数据。

在RDBMS 中融入空间数据后ArcSDE 可以提供对空间非空间数据进行高效率 *** 作的数据库服务由于ArcSDE 采用的是客户/服务器Client/Server体系结构大量用户可同时并发地对同一数据进行 *** 作。

ArcSDE 提供了应用程序接口API 开发人员可将空间数据检索和分析功能集成到他们的应用工程中去例如房地产应用可返回用城市或邮政编码检索的房屋列表及描述用ArcSDE 该应用可包含空间信息只要将房屋的位置街道路网以及学校和商业区等特定区域位置等存放到数据库中即可有了这些信息房地产代理商就能拿到譬如位于某座房屋一到二公里范围内的学校及商店的位置列表得到这一区域的图形信息打印输出街道公共建筑和可用房屋的位置图等。

使用ArcSDE有以下诸多好处:

(1)为任何支持的客户应用提供空间数据服务

(2)通过TCP/IP横跨任何同构或异构网络

(3)提供从基于文件的系统到RDBMS管理数据系统的平滑升迁

(4) 以一种连续的无缝的数据库管理大型地理要素

(5)通过标准的API提供查询检索函数的开放存取

(6)真正的client/server计算环境

(7)跨越Internet提供公开的空间数据访问

ArcSDE如何工作?

ArcSDE的体系结构下图所示.

图中客户端应用是最终用户运行的软件它可以是ArcInfo 包括ArcInfo Editor ArcView ArcIMS空间服务器MapObjects或其它的使用SDE CAPI应用。

在服务器端有ArcSDE空间数据引擎应用服务器RDBMS的SQL引擎及其数据库存储管理系统ArcSDE 通过SQL 引擎执行空间数据的搜索将满足空间和属性搜索条件的数据在服务器端缓冲存放并发回到客户端ArcSDE 的可以通过SQL 引擎提取数据子集其速度仅取决于数据子集的大小而与整个数据集大小无关所以ArcSDE可以管理海量数据。

另外ArcSDE 还提供了不通过ArcSDE 应用服务器一种直接访问空间数据库的连接机制这样不需要在服务器端安装ArcSDE 应用服务器由客户端接口直接把空间请求转换成SQL命令发送到RDBMS上并解释返回的数据。

ArcSDE 在服务器和客户端之间数据传输采用异步缓冲机制缓冲区收集一

批数据然后将整批数据发往客户端应用而不是一次只发一条记录在服务器

端处理并缓冲的方法大大提高了网络传输效率

什么人与ArcSDE打交道

有三类人跟ArcSDE打交道即最终用户应用开发人员和数据库管理员" 数据库管理员数据库管理员负责安装和维护空间数据库管理员要负责数据库的数据导入存储方案安全管理和数据备份性能调整等等数据库管理员可以通过ArcSDE 提供的管理工具命令也可以通过ArcInfo 的ArcCatalog 来完成任务当然他们不可避免地需要用到一些数据库管理命令或工具。

(1)应用开发人员 他们需要利用ArcSDE 支持的客户端或ArcSDE 提供的API访问ArcSDE中的空间数据并开放和定制最终用户所要求的应用。

(2)最终用户 最终用户通过应用客户端访问和更新ArcSDE中的数据。

Oracle数据库本身虽然具备空间数据库的支持组件,但是为了使用ArcSDE,还必须进行配置。可以安装ArcSDE for

Oracle10g并利用其配置工具进行配置。其安装过程不再赘述,因为主要都是点击下一步而已。下面主要讲解其配置流程。实际上,配置有两种方式。第一

种方式是使用VerifyOra工具(点击菜单“开始/所有程序/ArcGIS/ArcSDE/ArcSDE for Oracle10gR2 Post

Installation”);第二种方式是使用编程的方式。

以下先讲解第一种方式,即使用VerifyOra工具配置数据库的过程(实际上安装完ArcSDE for

Oracle之后会自动启动该工具)。为了叙述和测试的方便,首先使用Oracle数据库配置工具新建一个数据库,以后的测试都将使用该数据库。需要注意

的是,这样配置数据库仅用于学习之用,如果要用做生产数据库,那么必须对所有参数进行优化配置。

1、启动Oracle数据库配置向导(开始运行中输入dbca回车),并选择“创建数据库”之后点击“下一步”按钮

2、在模板列表中选择“一般用途”,并点击“下一步”按钮

3、在全局数据库名中输入“dbname1”,并点击“下一步”按钮

4、直接点击“下一步”按钮

5、在口令和确认口令中输入“password1”,直接点击“下一步”按钮

6、直接点击“完成”按钮

7、在确认对话框中直接点击“确定”按钮

8、系统随即开始创建数据库dbname1

9、数据库创建完毕后会显示数据库信息,点击退出按钮即完成数据库创建。

10、启动VerifyOra工具,系统显示配置向导,选择“Custom”模式,然后点击“下一步”按钮。。

11、系统显示选项对话框。“Define SDE User

Environment”即创建空间数据库管理员账号、表空间等环境信息。“Repository

Setup”即配置空间数据库,前提是必须存在SDE账号以及表空间。“Authorize

ArcSDE”即给空间数据库授权,否则空间数据库将不可使用。“Create ArcSDE

Service”即创建ArcSDE服务。可以看到,每一种选项都以前面所有配置为前提。这里为了学习的方便,全部选项都选择上,并点击“下一步”按钮。

12、系统显示数据库连接对话框。在“Net service

name”中输入数据库的网络名称,例如输入“dbname1”。在“Sys user

password”中输入sys用户的密码,例如输入“password1”。然后点击“下一步”按钮。

13、系统显示用户名和表空间配置对话框。在“SDE user

password”中录入设置的sde用户密码。在“Default

tablespace”中输入默认表空间的名称。sde用户是空间数据库的管理员账号,用户名称不能修改,但是这个用户的密码和默认表空间名称以及表空间

数据文件的名称和位置是可以设置的。录入所有信息后点击“下一步”按钮,系统开始配置空间数据库,配置完成后系统将依次显示“The SDE

tablespace was successfully created”、“The SDE user was successfully

created”等信息,依次点击“确定”按钮即可。

14、用户和表空间配置完毕之后,系统显示配置文件选项,直接点击“下一步”按钮即可。

15、系统显示调优配置文件选项,直接点击“下一步”按钮即可。

16、系统显示空间库配置选项,分别输入sde用户的密码以及数据库网络名,然后点击“下一步”按钮。空间库配置完毕后,系统

会显示配置完成的信息,并询问是否打开详细日志文件。一般配置成功的话,无需查看详细信息。如果配置失败,可以查看详细原因。

17、系统显示授权配置向导。必须在空间库配置成功的前提下才能进行授权。直接点击“下一步”按钮即可。

18、选择适当的授权方式。这里我们选择第二种方式,即通过授权文件来完成注册过程。然后点击“下一步”按钮。系统显示配置文

件选择对话框,点击“Browse”按钮找到授权文件(*.ecp),点击“下一步”按钮,确认授权信息,并点击“完成”按钮即可完成授权。

19、系统启动服务配置对话框。依次录入服务名称(Service name)、端口号和协议(Service port

number)、SDE用户密码(SDE user password)、Oracle实例名(ORACLE SID)、服务器名称(Server

name)。服务名称用于为服务命名,可以在Windows服务中看到该名字的服务。如果服务名录入“esri_sde_db1”,那么可以在

Windows服务中看到名为“ArcSde

Service(esri_sde_db1)”的服务。Oracle实例名请参照图1.3中的SID设置。录入所有信息后,点击“下一步”按钮。系统显示

完成信息,直接点击“完成”按钮即可。

以上为第一种方式,即使用工具来配置ArcSde数据库和服务。以下将详解如何通过命令的形式配置空间数据库。注意,如果需要配置服务,请参照sdeservice命令的参考信息。

1、创建SDE表空间。命令如下:

create tablespace sde datafile 'sde.dbf' size 400M extent management local uniform size 512K

2、创建SDE用户,并授予适当的权限。命令如下:

grant execute on dbms_pipe to public

grant execute on dbms_lock to public

create user sde identified by sde default tablespace sde temporary tablespace temp

grant CREATE SESSION to sde

grant CREATE TABLE to sde

grant CREATE PROCEDURE to sde

grant CREATE SEQUENCE to sde

grant CREATE TRIGGER to sde

grant CREATE TYPE to sde

grant CREATE LIBRARY to sde

grant CREATE PUBLIC SYNONYM to sde

grant CREATE OPERATOR to sde

grant CREATE INDEXTYPE to sde

grant DROP PUBLIC SYNONYM to sde

grant UNLIMITED TABLESPACE to sde

grant CREATE ANY VIEW to sde

grant SELECT ANY TABLE to sde

3、配置空间数据库。命令如下:

sdesetup -o install -d ORACLE10G -u sde -p sde@dbname1 -l server92.ecp -N


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6915341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存