一、什么是SDE

从空间数据管理的角度来看,SDE可看成是一个连续的空间数据模型,借助这一模型,我们可将空间数据加入到关系数据库管理系统(RDBMS)中去。

SDE融入RDBMS后,提供了对空间、非空间数据进行高效率操作的数据库接口。由于SDE采用的是客户/服务器(Client/Server)体系结构,大量用户可同时针对同一数据进行操作。

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

二、SDE如何工作?

SDE的体系结构如下图所示。

下图中,客户端应用是最终用户运行的软件,它可以是ArcView、MapObjects或ARC/INFO的应用,也可以是用户为某一特定工程开发的应用。与客户端应用结合的是SDE客户库(client library),这是一个程序设计接口,用于处理客户端应用提出的请求。

图2.1 SDE体系结构示意图

在服务器端,有SDE服务器处理程序、关系数据库管理系统和实际的数据。服务器在本地执行所有的空间搜索和数据提取工作,它仅将满足搜索条件的数据在服务器端缓冲存放并发回到客户端。缓冲处理收集大块的数据,然后将整个缓冲区中的数据发往客户端应用,而不是一次只发一条记录。在服务器端处理并缓冲的方法大大提高了效率,并使网上荷载大大降低。这在应用操纵数据库中成百上千万的记录时变得至关重要。

SDE采用协作处理方式,即处理既可在SDE客户库一端也可在SDE服务器一端,取决于具体的处理在哪一端更快。有的功能不需要与服务器通讯。象多边形叠加和分割这类主要耗费CPU资源的任务,由客户库来完成最好,这样可避免大量的网上操作。

所有的服务器任务都是在SDE服务器所在的平台上完成的。而客户端应用则可运行于多种不同的平台和环境,去访问同一个SDE服务器和数据库。

三、什么人与SDE打交道?

有三类人跟SDE打交道,即最终用户、应用开发人员和数据库管理员。

* 数据库管理员

数据库管理员负责安装SDE。视应用开发的需要,可能还要安装ESRI其它的软件,如ArcView、MapObjects等。将空间数据加载到SDE中也是数据库管理员的任务。数据库管理员还负责配置SDE和RDBMS,以优化其特性。SDE的许可证(License)管理设置也由数据库管理员来完成。

* 应用开发人员

尽管ArcView、ARC/INFO能直接使用SDE的数据,但还是可能要开发特定功能和界面的SDE应用。ArcView的程序设计语言Avenue可用于开发用户感兴趣的界面和特定的应用,也可方便地访问SDE。你也可以用Visual Basic 或Visual C++来开发MapObjects的SDE应用。SDE的CAD客户端,可将CAD数据存入到SDE数据库中。SDE提供了强大的C语言API接口,用它可以操纵SDE的全部功能。

* 最终用户

最终用户应是整个应用的主体,SDE的管理员和应用开发人员都将根据最终用户的需求和实际将如何使用SDE来确定如何配置、调试和开发。

四、SDE数据模型

SDE软件采用连续的数据模型。你可将整个城市的宗地数据放到SDE一个连续的层(Layer)中。每一个宗地地块作为一个完整的多边形存放,它只需一次磁盘访问即可快速提取出来。

SDE为数据库中各层(Layer)的所有要素都建立了索引。SDE建空间索引是将层从逻辑上分成一个个小块,称为“cell”,层中的要素则分解到各cell中加以描述,并将此描述信息写到索引表中。落到多个cell上的要素,将在每个cell对应的索引记录中加以描述。没有数据的cell不包括在索引表中。

五、SDE如何存储和组织地理要素

SDE存储和组织数据库中的空间要素的方法,是将空间数据类型加到关系数据库中。SDE并不改变和影响现有的数据库或应用。它只是在现有的数据表中加入图形数据项(Shape column),供软件管理和访问与其关联的空间数据。SDE将地理数据和空间索引放在不同的数据表中,通过关键项将其相联。

将图形数据项加到一个商业数据库表后,我们称该表为空间可用的(spatially enabled)。SDE通过将信息存入层表(LAYERS table)来管理空间可用表。层表帮助管理商业表和空间数据之间的连接。

对空间可用表,我们可象通常那样对表中数据进行查询、合并,也可以进行图到属性或属性到图的查询。

例如,我们可以:

1、返回以某一选中的地块为中心20公里半径范围内的所有地块。

2、返回该范围内所有用地的拥有者的名单及地址。

3、返回某人,譬如张三,所拥有的所有用地及其空间分布。

六、SDE如何表示地理要素

地理要素可以是自然的(如:河流、植被等)、自然要素的人为子集(如:用地范围、行政区域等)或人造设施(如:道路、管线、建筑等)等。SDE中的地理要素由其属性和几何形状---点、线或面组成。SDE也允许“空( Nil) Shape”。“空Shape”没有几何形状,但有属性。

点:定义离散的、无面积或长度的地理要素,如:大比例尺地图上的水井、电线杆,以及较小比例尺地图上的建筑甚至城市等。点Shape可有一个或多个点。含多个点的shape称为多点shape,多点shape表示一组不相连的坐标点。

线:表示诸如街道、河流、等高线等地理要素。SDE支持两种类型的线性shape:简单线(Simple lines)和线(lines)。

简单线 是形成一个shape的一组离散的、不相交的线的集合。简单线可用于表示带分支的河流或街道。简单线也能有几个部分以表示不连续的shapes,如:有的部分在地表以下的河流的地表部分,如下图所示。

线 是象公共汽车线路那样的图形,该图形有自我交叉或重复。

面(或多边形):是一组封闭的图形。如:国家、地区、土地利用情况、土壤类型等。面可以是简单的多边形或带岛的多边形。

七、SDE如何存放图形(Shapes)

SDE用X,Y坐标存放图形。

点___单一(X,Y)坐标记录;

线___有序的一组(X,Y)坐标记录;

面___一组起始结点和终止结点相同的线段对应的(X,Y)坐标记录。

SDE 还允许在X、Y坐标上加Z值。Z值用来表示X、Y点处对应的高度或深度。因此,SDE的图形可以是二维的(X,Y),也可以是三维的(X,Y,Z)。SDE对每一种类型的图形都有一组合法性检查规则,用以在将该图形存入RDBMS之前,检验其几何正确性。

八、SDE如何处理度量(measures

度量表示沿着一地理要素上某些给定点处的距离、时间、地址或其它事件。

除了空图形(Nil shape)外,所有的图形类型都可以加上度量值。度量值与图形坐标系统无关。尽管许多应用中线上的度量值用以表示逐步增加的线性距离,但事实上度量值可以是随机递增或递减的,也可以是常量。

九、SDE注记

对SDE数据模型而言,注记被看成与图上的要素或坐标相关联的文字(串),是要素属性,被存于数据库中与其相关的一个或多个属性表中。与图上地理要素或坐标无关的文字、图形,如地图标题、比例尺、指北针等,SDE不将其存入数据库。

十、SDE应用开发

从应用开发的角度看,SDE是开发者开发应用系统的工具。ESRI的ArcView GIS、MapObjects、ARC/INFO以及SDE CAD客户端等产品都可以作为SDE的客户端。应用接口程序设计可以选用C、C++、Visual Basic或Avenue等开发环境。本节将简要地谈及在几种开发环境下,SDE的应用开发。

1、使用C API

C API(Application Programming Interface)是为那些要访问SDE软件功能的开发人员提供的。C API提供SDE所有的能力,是所有象ArcView、MapObjects这样的SDE客户端软件访问SDE的基础。SDE对数据的访问,是基于结构化查询语言SQL中定义的标准指针模式。

2、使用ArcView

ArcView现在具有数据库访问扩展功能,可用于按通常的方法访问数据库,包括SDE。它这种数据库扩展功能支持数据库数据的显示、查询和分析。如果数据库有空间数据___譬如SDE数据库,我们可以用数据库访问功能建立数据库专题(Theme)或表(Table)。

一般而言,要读取SDE数据,需要进行以下步骤:

* 连接SDE数据库

* 定义SQL查询(QueryDef)

* 执行查询以提取记录(RecordSet)

* 循环访问记录集合中的数据值

数据库专题类似于其它的ArcView专题,允许你显示和操纵空间数据。你也可以用表文档(Table document)显示所提取的记录集合。

3、使用MapObjects

MapObjects 是一个开发工具箱,其中包含了一个组件集合。这是一个ActiveX控件,其中有多于35个的OLE对象可用。开发人员可用任何支持ActiveX的程序设计环境,如Visual Basic、Visual C++、Delphi和PowerBuilder等进行快速的开发。MapObjects可以将SDE的Layers、shape文件、coverage、image等数据组合使用,还可通过ODBC(开放数据库连接)使用任意的表格数据库数据。

4、使用SDE CAD Client

SDE CAD Client是SDE用于存储、提取CAD数据的接口。SDE CAD Client有一个易于使用的CAD接口,它使得Microstation和Auto CAD可作为SDE的客户端存储、提取并修改CAD实体或SDE数据库中的几何要素。SDE允许将CAD实体存为一个无逢的层(Layer),而不必将其分块。

一个CAD对象在SDE数据库中既可表示为CAD实体也可表示为几何要素。几何要素由SDE CAD Client自动生成并管理。当CAD用户访问SDE数据库时,SDE CAD Client提取CAD对象。实际的CAD实体只能由SDE CAD Client读取。当非CAD Client查询数据库时,返回的是数据的几何要素。这使得CAD数据可为其它的SDE客户端,如ArcView、MapObjects和ARC/INFO等使用。

十一、SDE3.0新功能

最近,ESRI推出了SDE的新版本___ SDE3.0,现将其新功能介绍如下:

1、SDE3.0进一步增强了将空间数据集成到数据库中去的能力

* 将空间数据加到任意的DBMS表中

除了创建一个新表存储空间数据外,你还可以在以有的表中增加一项用来存放该数据的空间信息。SDE创建存储和索引空间数据所需的所有数据表,并将这些表与其它的数据表相联。

* 空间数据表和其它数据表之间的关系合并

3.0版中,SDE允许访问任意的DBMS数据表,包括空间的和非空间的。访问空间数据表时,须用SDE的API,而访问非空间表时则用标准的SQL。

* 纯属性访问

SDE现在允许对RDBMS进行纯粹针对属性的查询、修改和数据提取等访问。

* 一对多关系

SDE现在支持要属和属性之间的一对多关系。

* 创建和删除空间及非空间数据表

在以前的版本中,是不允许在SDE中访问非空间数据表的,现在可以了。

* 同时与多个数据集相联

3.0版中,应用可同时与多个数据集相连,并且可与不同的服务器上的数据集相连。

* 支持多关系查询

你可同时进行任意数目的查询。SDE3.0支持多数据流访问一个或多个SDE Layers上的数据。

* SDE不再有独立的安全机制,而是直接使用DBMS的安全机制

2、log文件定到SDE Layers

SDE使每个Layer对应一个log文件。

3、提供更快的数据传输

3.0版进行了一系列的改进,大大加快了SDE服务器、RDBMS和客户端数据传输的速度。

4、直接加载ARC/INFO COVERAGE

新的命令cov2sde可直接将ARC/INFO Coverages、Map Library Layers 和ArcStorm layers加载到SDE中。同时,你也可将SDE数据返回为Coverages

SDE的概念、结构、功能及应用相关推荐

  1. 【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★

    文章目录 一.计算机网络概念 ★ 二.计算机网络组成 ★ 三.计算机网络功能 ★ 四.计算机网络分类 ★ 五.性能指标 ★★ 六.分层架构 ★★ 一.计算机网络概念 ★ 计算机网络 是 互连的 , 自 ...

  2. 王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标

    如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.1 操作系统的概念.功能和目标 1.1.1.1 操作系统的概念 1.1.1.2 作为系统资源的管理者 1.1.1 ...

  3. U-BOOT之一:BootLoader 的概念与功能

    U-BOOT之一:BootLoader 的概念与功能 --转自<U-BOOT移植S3C2440完全手册> 1.1嵌入式Linux 软件结构与分布 一般情况下嵌入式Linux 系统中的软件主 ...

  4. 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]

    第一章 计算机网络 1 计网体系结构的概念和功能 本笔记参考书目: 计算机网络(第8版)谢希仁 2021王道计算机网络视频公开课 本节重点: 因特网的三个发展阶段 转载请注明文章来源! --计算机网络 ...

  5. 【转】U-BOOT之一:BootLoader 的概念与功能

    [转]U-BOOT之一:BootLoader 的概念与功能 U-BOOT之一:BootLoader 的概念与功能 --转自<U-BOOT移植S3C2440完全手册> 1.1嵌入式Linux ...

  6. 计算机网络概念和功能

    计算机网络概念和功能 网络:网样的东西或网状系统 计算机网络:是一个将分散的.具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统. 计算机网络是互连的. ...

  7. Apache Pulsar中的地域复制,第1篇:概念和功能

    灾难恢复规划,甚至更理想情况下使用的防灾规划,它们的重要性怎么强调都不为过,每周都会有相关的头条新闻报道证明这个结论的正确性.无论什么行业,如果遭遇无法预见的事件并影响到日常运维,组织都需要尽可能快速 ...

  8. dede mysql x_认识Dede的mysql数据库结构功能

    数据库是我们深入研究DEDE必须要熟悉的,想必很多朋友都对DEDE的数据库很陌生的,甚至有很多朋友对数据库感到恐惧,全是一些表,感觉什么都看不懂.今天就来和大家详细的分析一下DEDE的数据库结构,写出 ...

  9. Clover 驱动文件夹_四叶草Clover文件夹结构功能+快捷键——墨涩网

    四叶草Clover引导主要的作用就是把你普通的PC电脑模拟成一台真实的苹果电脑,他是安装黑苹果的引导工具,是目前使用最多的黑苹果引导方式,当然四叶草Clover也可以引到windows等其他操作系统, ...

  10. 操作系统(一)操作系统的概念、功能

    因为考试的需要所以得从头来一遍操作系统,由于的影响推迟了开学时间而且没有带书回家,而又懒得写字,所以打算以这种形式记录一下操作系统的学习(参考王道视频讲解以及汤子瀛老师的操作系统). 目录 1.1   ...

最新文章

  1. 用__builtin_return_address获得程序运行栈情况【转】
  2. numpy.random.uniform()
  3. gcc/g++/makefile/easymake/cmake/xmake/nmake ...
  4. bzoj千题计划153:bzoj2431: [HAOI2009]逆序对数列
  5. 一篇详文带你入门 Redis
  6. 全栈深度学习第2期: 开发套件与工具篇
  7. 【原创】CLEVO P157SM外接鼠标键盘失灵解决:更换硅脂(附带最新跑分数据)
  8. 集成CAS单点登录 决策系统的配置以及注意事项
  9. istio入门(01)istio的优势在哪里?
  10. WiFi 空口抓包工具 --- OmniPeek
  11. 脑机接口专栏 | 如何分析静息状态的fMRI数据?(二)
  12. 什么是大小端?如何判断大小端
  13. 计算机组成与设计--软硬件接口 RISC-V版 读书笔记 0
  14. 【生产排故】oracle11g升19c之ORA-00904 WM_CONCAT invalid identifie排故
  15. 折腾win7:保护眼睛,修改资源管理器背景颜色 xp适用
  16. A20 Plus(esp8266与A6C)拍照传输图片
  17. 通达信交易接口代码的执行过程分享
  18. android 视频文字提取软件,视频字幕提取神器,你不会还在用手记笔记吧?支持所有视频!...
  19. java计算机毕业设计基于微信小程序的药店药品销售管理系统APP
  20. 实验1动态规划——小明打王者

热门文章

  1. 有感于河南移动网站速度慢----堂堂的河南移动居然
  2. c语言.h文件实例,C 语言项目中.h文件和.c文件的关系
  3. MotionBuilder与NOKOV度量动捕系统连接教程
  4. 计算机设备中扫描仪属于,在外部设备中扫描仪属于什么
  5. python读取docx文件,就是如此简单
  6. 什么是定位,如何找到与自身相符合的爆款产品丨国仁网络
  7. 计算机毕业设计-基于ssm+vue的二手车拍卖管理系统java二手车销售系统代码
  8. 关于Excel在VB里的应用(来自微软)
  9. 华视电子读卡器web开发_华视电子官方微信公众号电子书架正式上线 - IT业界_CIO时代网...
  10. python怎么使用显卡gpu_win10 显卡GPU使用tensorflow-gpu训练模型(精华帖汇总)