现在提出关于ArcSDE的学习,显得比较过时,因为现在ArcSDE的处境非常尴尬,因为本人一直从事对ArcSDE产品的研究,所以对ArcSDE这个软件感情颇深,谈不上资深但是对这该软件还算有深刻了解,先特别以需要接触ArcSDE或者对ArcSDE软件概念模糊需要进一步了解的读者以意见参考。
============================关于ArcSDE产品
关于ArcSDE产品,在Esri的ArcGIS9.2已经归结到ArcGIS Server basic版本了,只是因为ArcSDE这个技术比较特殊,所以仍然叫这个名字,而且大家所见到ArcSDE有两个软件体现,一个是嵌入到桌面的Personal ArcSDE,一个是单独光盘的ArcSDE(也就是我们常说的ArcSDE)
关于区别参考:http://blog.csdn.net/linghe301/article/details/6756766
=============================关于ArcSDE理解
怎么理解ArcSDE呢,有人说是中间件,因为它的位置是处于客户端和数据库之间,有人说是空间数据引擎技术,因为所有的数据IO都需要通过ArcSDE的管理,有人说是软件,因为他直观看到的是一张光盘,有人说是一些表,因为安装Post之后,在数据库里面表现的是一些表,其实这些都是可以的,这是不同的用户对ArcSDE不同的理解。
简单理解就是我们的数据导入到数据库中,通过ArcSDE进行管理,怎么说是通过ArcSDE进行管理呢?我们导入到数据库里面所有的要素类、要素类的字段、要素类的投影、要素类的范围都会在安装后ArcSDE的相关Schema进行注册,如果有数据库基础的用户理解不难,这和Oracle的相关字典表是一样的。
我们可以通过arcSDE进行诸如多用户并发操作、历史数据管理、多数据库的同步等等。
=============================关于ArcSDE安装
使用ArcSDE的用户应该比较深刻的体会,这个软件从一开始安装就给大家带来很多麻烦,截至到ArcGIS10之前,ArcSDE是ArcGIS软件家族体系中最特殊的一员,只有他分不同的操作系统(Windows、Linux、AIX、Solaris等),分位数(32Bit、64Bit),结合相关的数据库类型(Oracle、SQL Server、DB2、PostgreSQL等),光看这些名词大家可能就有点望而却步了,所以大家在学习ArcSDE软件之前,要对安装有所了解。
关于安装参考:http://blog.csdn.net/linghe301/article/details/6214641
http://wenku.baidu.com/album/view/0f37c41755270722192ef736
===================================关于ArcSDE连接
如果ArcSDE安装完毕之后,我们第一步就是需要连接ArcSDE,或者说让ArcSDE管理数据,不管是使用ArcCatalog连接,或者是ArcGIS Engine等开发代码连接,其实无疑就是五个参数,如果有相关数据库的基础的话可以类比数据库连接参数。
参数 | 服务连接 | 直连 |
Server | 服务器IP,如果是分布式安装为ArcSDE机器IP | 参考左边 |
Service | 默认5151,参考SDEHOME/etc/Services.sde里面的信息 | 以Oracle为例:sde:oracle11g |
Database | 如果是SQLserver或者DB2、PG需要填写 | 参考左边 |
User | 无需说明 | 无需说明 |
Password | 无需说明 | 以Oracle为例:你的密码@netservidename |
那么说起ArcSDE连接肯定又要说起了ArcSDE直连和ArcSDE服务连接,简单的说,ArcSDE服务连接就是启动ArcSDE服务,其他用户可以远程使用ArcGIS客户端来连接ArcSDE,那么直连也就是不需要启动ArcSDE服务,其他用户通过数据库的客户端来连接ArcSDE,需要说明一下,直连不是说可以不用ArcSDE,它还是需要ArcSDE的相关Schema的。其实对调用来说,不管是ArcGIS Engine,或者ArcSDE SDK,都是一样的,无非把几个参数写上就可以了
另外,如果是不同版本的客户端与服务器端的直连需要有相关的版本兼容性和直连驱动:
http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/002n000000q7000000/
那么怎么选择这两个连接类型呢?
在以下情况下,可能会使用直接连接:
- 您不想管理 ArcSDE 服务。
- 直接连接架构会将 ArcSDE 功能转移到桌面。这会将 ArcSDE 载荷从服务器中移除,并且释放 DBMS 的额外资源,这意味着数据库服务器的可扩展性更大。
如果服务器的工作载荷很大,直接连接方式可以更快地建立连接,因为信息处理过程发生在客户端计算机上。这样就不必在服务器(可能需要同时响应来自大量其他用户的请求并通过网络将信息发送回客户端的服务器)上处理信息,客户端计算机一次通常只处理几个任务。
- 直接连接速度更快,因为处理过程发生在客户端计算机上。这样就不必在服务器上处理信息,服务器可能需要同时响应来自大量其他用户的请求,并通过网络将信息发回客户端,而客户端计算机通常一次只处理几个任务。
- 如果要使用 Oracle Real Application Clusters (RAC),则通过直接连接方式连接到地理数据库将更加易于配置。
- 如果想针对与 Oracle 中 ArcSDE 地理数据库的 ArcGIS 连接使用操作系统身份验证,则必须使用直接连接。
在以下情况下,将不会使用直接连接:
- 如果您的桌面计算机没有足够资源用于处理 ArcSDE 进程,应使用 ArcSDE 服务连接。您可能有一个混合的环境,在这样一个环境中,那些可以管理 ArcSDE 进程的桌面计算机使用的是直接连接,而那些不能管理 ArcSDE 进程的桌面计算机使用的是 ArcSDE 服务连接。
- 如果想充分利用 ArcSDE 64 位的内存管理功能,需要使用 ArcSDE 服务连接。随 ArcSDE 客户端一起安装的直接连接驱动程序(如 ArcGIS Desktop)是 32 位的驱动程序。因此,无法使用与 ArcSDE 64 位地理数据库的直接连接。
- 要使用从客户端到 ArcSDE for Oracle 地理数据库的直接连接,必须在客户端计算机上安装和配置 Oracle 客户端。如果不想对每台客户端计算机都进行配置以使用直接连接,可改为使用 ArcSDE 服务。
SQL访问Geodatabase | |
为了能够最大程度的提高空间数据库访问效率,使用SQL 来直接操作空间数据库的需求越来越大。该讲座主要包括使用SQL语句访问Geodatabase的系统表,使用SQL语句访问版本数据和非版本数据的相关原理、操作过程以及注意事项,而且会对相关的访问效率进行的解释与说明。 | |
预备知识:了解Geodatabase10的Schema、RDBMS、ArcSDE基础、ArcGIS版本原理 |
==============================关于ArcSDE的表结构
ArcSDE9与ArcSDE10的Schema发生了比较大的变化,这个Schema包含Geodatabase的相关表、ArcSDE的相关表、其他表。
ArcSDE10结构参考:http://wenku.baidu.com/view/e6df246e58fafab069dc02c4.html
==============================Geodatabase高级应用
一般的Geodatabase的高级应用于ArcSDE关系比较紧密,所以我们对ArcGIS版本、归档、同步复制等高级对象的操作以及原理也需要了解
参考:http://wenku.baidu.com/album/view/35e02c0c844769eae009ed36
==============================ArcSDE性能调优
这一点也是ArcSDE老掉牙但是又无法让人启齿的问题了
参考:http://blog.csdn.net/linghe301/article/category/882207
==============================其他
为什么ArcSDE难学,因为这个软件与操作系统、数据库相关,特别是非Windows或者Oracle,这些门槛也比较高,有些问题其实大部分是数据库的问题,但是用户可能对这些不太熟悉一般都以为是ArcSDE的问题,所以我们在学习ArcSDE也同时要对数据库方面有更深入的理解才能在实际过程中来分析ArcSDE的相关问题,理解ArcSDE的相关机制。
以上是给新入门ArcSDE的用户在看到ArcSDE摸不着头脑,毫无头绪的情况下提供相应的学习指导,本文没有具体的说明,但是相关链接都是以前相关方面的总结,以供大家参考!