首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

空间数据库引擎ArcSDE

发布网友

我来回答

2个回答

懂视网

 

1.通过指定连接属性参数打开数据库

 

[csharp] view plain copy print?
  1. /// <param name="server">数据库服务器名</param>  
  2. /// <param name="instance">SDE的端口,默认安装时"port:5151"</param>  
  3. /// <param name="user">SDE的用户名</param>  
  4. /// <param name="password">密码</param>  
  5. /// <param name="database">数据库的名字</param>  
  6. /// <param name="version">SDE的版本</param>  
  7. /// <returns></returns>  
  8. public IWorkspace OpenSdeWorkspaceByPropertySet(string server, string instance, string user, string password, string database, string version)  
  9. {  
  10.     IPropertySet Propset = new PropertySetClass();  
  11.     Propset.SetProperty("SERVER", server);  
  12.     Propset.SetProperty("INSTANCE", instance);  
  13.     Propset.SetProperty("USER", user);  
  14.     Propset.SetProperty("PASSWORD", password);  
  15.     Propset.SetProperty("DATABASE", password);  
  16.     Propset.SetProperty("VERSION", version);  
  17.   
  18.     IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();  
  19.     return workspaceFactory.Open(Propset, 0);  
  20. }  

2.通过连接字符串打开数据库

 

[csharp] view plain copy print?
  1. /// <param name="connectionString">连接字符串</param>  
  2. /// For example, "SERVER=Kona;DATABASE=sde;INSTANCE=5151;USER=Editor;PASSWORD=Editor;VERSION=sde.DEFAULT"  
  3. /// <returns></returns>  
  4. public IWorkspace OpenSdeWorkspaceByConnectionString(string connectionString)  
  5. {  
  6.     IWorkspaceFactory2 workspaceFactory = new SdeWorkspaceFactoryClass();  
  7.     return workspaceFactory.OpenFromString(connectionString, 0);  
  8. }  

3.通过sde文件打开数据库

 

[csharp] view plain copy print?
    1. /// <param name="connectionFile">sde文件</param>  
    2. /// For example, "C:\Data.sde"  
    3. /// <returns></returns>  
    4. public IWorkspace OpenSdeWorkspaceFromFile(string connectionFile)  
    5. {  
    6.     IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();  
    7.     return workspaceFactory.OpenFromFile(connectionFile, 0);  
    8.  

 

ArcSDE:C#打开SDE数据库的几种方式总结

标签:csdn   return   mysq   edit   服务器   ops   tail   start   server   

热心网友

空间数据库引擎: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的函数对空间数据进行操作,并在数据库层次建立空间索引。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com