




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 基于ArcGIS的空间数据库的建库方案1.1 空间数据库的基本知识1.1.1、数据库的概念数据库的定义:为了一定的目的,在计算机系统中以特定的结构组织、存储和应用的相关联的数据集合。计算机对数据的管理到目前为止,共经历了四个阶段:(1) 程序管理阶段,数据和应用程序一同存在。(2) 文件管理阶段,数据和应用程序独立。(数据间无明显关系)(3) 数据库管理阶段,数据和应用独立(逻辑独立),数据库和存储设备独立(物理独立)。数据库数据之间建立了联系。数据面向操作组织。(4) 数据仓库阶段,数据经过重构、融合等,面向主题组织。服务于决策系统。数据库可以看作是与现实世界有一定相似性的模型,是认识世界的基础,是集中、统一地存储和管理某个领域信息的系统,它根据数据间的自然联系而构成,数据较少冗余,且具有较高的数据独立性,能为多种应用服务。数据库作为一个复杂的系统,由以下三个基本部分构成:1数据集。一个结构化的相关数据的集合体,包括数据本身和数据间的联系。数据集独立于应用程序而存在,是数据库的核心和管理对象。2物理存储介质。指计算机的外存储器和内存储器。前者存储数据;后者存储操作系统和数据库管理系统,并有一定数量的缓冲区,用于数据处理,以减少内外存交换次数,提高数据存取效率。3数据库软件。其核心是数据库管理系统(DBMS)。主要任务是对数据库进行管理和维护。具有对数据进行定义、描述、操作和维护等功能,接受并完成用户程序和终端命令对数据库的请求,负责数据库的安全。1.1.2 地理空间数据库的概念地理空间数据库定义:地理数据库是某区域关于一定地理要素特征的数据集合。与一般数据库相比,具有以下特点:? 数据量特别大? 具有地理空间数据和属性数据;? 数据应用面相当广1.1.3 数据库的主要特征与文件管理系统相比,具有以下特征:(1) 数据集中控制特征,提高了数据共享性和数据的并发访问控制(2) 数据冗余度小的特征,(冗余带来两个问题,增加存储空间,数据不一致)(3) 数据独立性特征(是数据库的关键要求,数据独立是指数据库中的数据与应用程序的相互独立。即应用程序不因数据性质的改变而改变,数据性质也不因应用程序的改变而改变。分为物理和逻辑两种级别:物理独立是指数据的物理结构变化不影响数据的逻辑结构;逻辑独立是指数据的逻辑结构改变不影响应用程序,但逻辑结构的改变会影响数据的物理结构)。(4) 复杂的数据模型,因要表示数据间复杂的关系,使数据结构复杂。可分为:? 网络数据模型? 层次模型? 关系模型? 空间数据模型(5) 数据保护特征,具有安全性控制、完整性控制、并发控制、故障的发现和恢复等功能。1.1.4 数据库管理系统(DBMS)DBMS的功能:? 数据库定义功能? 数据库管理功能? 数据库维护功能? 数据库通讯功能DBMS的组成:? 语言处理程序,DDL、DML、解释、编译等? 系统运行控制程序,各种控制? 建立和维护程序,数据装入、重组、转储等数据库管理员的作用:? 决定数据库的信息内容? 充当DBMS的联络员? 决定存储结构和访问策略? 监督系统工作1.1.5 数据库模型数据模型是描述数据内容和数据之间联系的工具,是衡量数据库能力强弱的主要标志之一。常用的数据模型有层次模型、网络模型、关系模型,以及最近兴起的面向目标或称面向对象的模型。(1)层次模型层次模型是以记录类型为结点的有向树或者森林,主要特征是除根结点之外,任何结点只有一个父亲。父结点表示的实体与子结点表示的实体必须是一对多的联系,即一个父记录对应于多个子记录,而一个子记录只对应于一个父记录。对于图1.1所示的多边形地图,可以构造出图1.2所示的层次模型。图1.1 地图M及其空间要素图1.2 层次模型(2)网络模型网络模型是以记录类型为结点的网络结构,网络与树有两个非常显著的区别:(1) 一个子结点可以有两个或多个父结点;(2)在两个结点之间可以有两种或多种联系。 图1.3是图1.1的网络模型。图1.3 网络模型(3)关系模型关系模型是一种数学化的模型。图1.1所示的地图,可用表1.1至表1.4所列的关系表表示多边形与边界及结点之间的关系。表1.1 关系1:多边形关系(P)表1.2 关系2:边界关系(E) 表1.3 关系3:边界-结点关系(N)表1.4 关系4:结点坐标关系(C)(4)面向目标(对象)的数据模型1)面向对象方法的基本概念:对象: 在GIS中定义为:描述一个地理实体的空间和属性数据以及定义一系列对实体有意义的操作函数的统一体。对象类:同类对象的集合。方法和消息:对一个类定义的所有操作称为方法。对象间的相互联系和通信的唯一途径是通过“消息”传送实现的。协议和封装:协议是一个对象对外服务的说明,它告知一个对象可以为外界做什么,外界对象能够并且只能向该对象发送协议中所提供的信息,请求该对象服务。封装:是将事件包围起来,使外界不必知道内部构造和内容。封装的最小单位是对象。面向对象的方法具有强大的数据抽象表达能力。如:分类、概括、聚集、联合等抽象技术,以及继承、传播等抽象工具。面向对象的单个继承的实例如图1.4所示,多个继承的实例如图1.5所示。图1.4 单个继承实例图1.5 多个继承的实例1.1.6 GIS中空间数据库的组织方式(1)混合结构模型 两个子系统分别存储空间数据和属性数据。记录之间通过关键字联系,如图1.6所示。图1.6 混合结构模型(2)扩展结构模型采用统一的RDBMS存储空间数据和属性数据,扩展RDBMS的空间管理功能。通常在标准RDBMS上附加空间数据管理层,利用该层将GeoSQL转化成标准的 SQL语言。如图1.7所示。图1.7 扩展结构模型(4)面向对象的数据库管理系统面向对象DBMS的有三种实现方式 (1)扩充面向对象程序设计语言(OOPL),在OOPL增加DBMS功能。(2)扩充RDBMS,在RDBMS中增加面向对象的功能。(3)建立全新的支持面向对象的OODBMS。1.2 基本的建库思路(1)建库软件数据库软件:Oracle;数据库引擎:ArcSDE for Oracle空间数据类型:Geodatabase(地理数据库)。(2)数据库建库方案数据库建库结构图如图1.8所示。图1.8 数据库结构图采取Client/Server(客户端/服务器)模式建立网络数据库,在服务器端安装Oracle, ArcSDE for Oracle, 在客户端安装一些客户端软件,如Arc/Info, ArcObjects, Visual Basic, Visual C+。在服务器端,将空间数据和相关的属性数据存储在Oracle关系数据库中,利用ArcCatalog建立geodatabase地理数据库。在客户端,利用Arc/Info,ArcObjects, Visual Basic, Visual C+等通过空间数据引擎访问数据库中的数据。1.3 ArcGIS支持的空间数据类型ArcGIS同时支持基于文件的空间数据类型和基于数据库的空间数据类型。ArcGIS可以使用多种格式的GIS数据,并且可以同时访问多个数据库和文件。ArcGIS用一个高级的通用的地理数据模型来表示空间信息,包括空间要素,遥感数据以及其他的空间数据类型。ArcGIS同时支持基于文件的空间数据类型和基于数据库的空间数据类型。基于文件的空间数据类型包括对多种GIS数据格式的支持,如coverage,shapefile,grid,image和TIN。Geodatabase数据模型也可以在数据库中管理同样的空间数据类型,这样,可以利用关系数据库已有的优点。表1基于文件的空间数据基于数据库的空间数据CoveragesOracleShapefilesOracle with SpatialGridsDB2 with its Spatial TypeTINsInformix with its Spatial TypeImages(各种格式的)SQL ServerVector Product Format (VPF) filesPersonal Geodatabases(微软的Access)CAD 文件 表(各种格式的)表1是一些ArcGIS中可以直接使用的数据类型。对更多的数据类型的支持可以通过数据转换工具和扩展来实现。GIS数据也可以在Web上通过XML和Web数据格式进行传输,如Geodatabase XML,ArcXML,SOAP,WMS,WFS 等。 基于文件的数据类型和基于关系数据库的数据类型都定义了空间地理数据的通用模型。这些数据类型可以在大量的GIS应用中使用。通过定义和使用这些空间数据模型的行为,ArcGIS中的空间信息是基于标准的,可以作为多种应用的基础,也可以和其他程序很好的共享。这样ArcGIS为几乎所有的GIS应用提供了一个很好的平台。第二章 Oracle的相关内容2.1 网络数据库系统2.1.1 网络数据库系统的几个概念在网络数据库系统中,有3个特别重要的概念。(1)数据库服务器逻辑上的服务器指的是安装在计算机上提供一些基于网络环境的应用的软件。比如我们要访问互联网上的网页,就需要在计算机上安装名为Web服务器的软件(如Windows 2000Server内嵌的IIS50、Apache等),我们就说这台计算机是一台Web服务器,可以提供Web服务;要使用电子邮件,就需要安装能提供电子邮件服务的软件,我们说这台计算机是一台电子邮件服务器;要查询后台数据库中的数据,就需要在计算机上安装名为数据库服务器的软件(如SQLServer、Oracle9i等),我们就说这台计算机是一台数据库服务器。如果没有特别说明,本书中的数据库服务器指的都是逻辑上的数据库服务器。(2)管理客户机逻辑上的管理客户机是指对数据库进行管理的软件。它和数据库服务器既可以位于同一台物理上的计算机上,也可以位于不同的计算机上。在本书中,如果没有特别说明,客户机指的都是逻辑上的管理客户机。(3)端口在一台物理上的服务器上可以安装多个服务软件,构成逻辑上的多个服务器。为了区分这些不同的逻辑服务器,使用了称为端口的概念。构建网络的目的是为了信息共享,在网络上连接的计算机物理上是通过诸如网卡、交换机、路由器等设备连接起来的,在物理层之上还规划了许多接口规范,这就是我们所熟悉的网络分层结构。网络协议是介于应用层和物理层之间的通信协议,通过它可以在计算机之间信息互联互通。其中最重要的、使用最广泛的就是TCPIP协议。在基于TCPIP协议的网络中为每台联网的计算机分配了唯一的一个IP地址,如某台服务器的IP地址为06。这里IP地址的作用就是用来区分联网的计算机,相当于计算机的网络身份号。IP地址只能区分不同的计算机信息,当我们在同一台物理上的服务器上构建多个服务时,有一个问题,如何区分这些同一台计算机上的各种服务软件提供的信息呢?这里就用到了端口的概念。我们可以这样理解,在计算机网络这个虚拟的社区里,IP地址相当于每个单位的门牌号码,端口就是该单位内部的各个办公室的编码。通过“IP地址+端口号”的方式,就能区分同一台计算机上的不同的逻辑服务器提供的服务了。IIS Web服务器安装后默认的端口号是80,Oracle数据库服务器安装后默认的端口是1521。2.1.2 网络数据库系统的工作模式工作模式也就是指网络数据库是如何工作的。网络数据库系统的工作模式主要有两种。(1)CS(Client/Server)模式客户机/服务器模式,两层结构,又称为胖客户机模式。其原理如图2.1所示。图2.1:CS模式的网络数据库结构图基于C/S模式的网络数据库在前端计算机上要安装专门的应用程序来操作后台数据库服务器中的数据,前端应用程序可以完成计算和接收处理数据的工作,后台数据库服务器主要完成数据的管理工作。C/S模式的优点是速度较快、功能完备,缺点是维护升级很不方便,主要是基于行业的数据库应用。如股票接收系统、邮局汇款系统等。设想一下,如果有多个系统,在每个客户机上就要安装多个前端客户程序,因此这种工作模式也叫胖客户机模式。(2)BS(BrowserServer)模式浏览器服务器模式,3层结构,又称为瘦客户机模式。其原理如图2.2所示。图2.2 BS模式的网络数据库结构图BS模式下的客户机只需要安装浏览器软件,如Windows 98内嵌的IE即可,无需开发前端应用程序,这就是瘦客户机模式中“瘦”的含义;中间层的Web应用服务器,如Microsoft公司的IIS等是连接前端客户机和后台数据库服务器的桥梁,主要的数据计算和应用都在此完成,因此对中间层服务器的要求较高,开发中间层应用的技术人员需要具备一定的编程基础;后台数据库服务器主要完成数据的管理。基于B/S模式的Web的网络数据库应用模式主要用于浏览、查询InternetIntranet信息,受目前技术条件的限制,其功能较弱。但由于面向的是不特定的用户,客户机无需维护和升级,因此,随着Internet的普及,这种模式逐渐为我们所重视,典型的例子是互联网上订票、购物等使用的数据库系统,这也是目前开展电子商务应用的常用模式。2.1.3 网络数据库系统的主要技术(1) 分布式数据库技术;(2) 并行数据库技术;(3)对象-关系型数据库技术;(4)数据仓库技术;等等。2.2 Oracle9i简介Oracle数据库系统最早于1979年推出。1984年完成Oracle PC版。Oracle5中支持分布式数据库,客户/服务器体系结构。Oracle 6中公布了行锁定模式、多处理器支持和PLSQL语言。Oracle 88i是对象关系型数据库,从用户分布式联机事务处理到决策支持仓库,为客户/服务器和Web企业类开发应用。传统意义上的数据库其实指的仅仅是数据库服务器,用于进行后台的数据管理。随着Oracle公司的发展战略转为提供面向应用系统集成,Oracle家族的产品也越来越多,Oracle9i实际上是Oracle公司推出的一整套网络数据库应用解决方案的总称。2.2.1 Oracle 9i产品(1)数据库服务器数据库服务器(Oracle9i Database)包括企业版(Enterprise Edition),主要用于构建安全的、可靠的、大容量的互联网应用和数据仓库,可以用包括数据分区和集群支持的组件进行功能扩充,面向企业级应用;标准版(Standard Edition)提供了能够通过Web浏览器进行管理的高性能数据库服务,面向部门级应用:个人版(Personal Edition)是Oracle 9i全功能单用户版本,面向开发技术人员。Oracle9i数据库服务器企业版主要包括以下组件。口 Jserver Enterprise Edition:企业版的支持Java的Web Server。口 InterMedia:互联网媒体服务。口 Object Option:目标功能。口 Networking Kit:网络包。口 Object for OLE:OLE目标。口 Advanced Repplication Option:高级复制功能。口 Distributed Option:分布式功能。口 Parallel Query Option:并行查询功能。口 Sql*Plus:SQL Plus工具。口 Workfiow Enterprise Edition:工作流企业版。口 Advanced backup&recovery:高级备份恢复。口 Advanced Querying:高级队列。口 Connection Pool:连接池。口 64bit Option:64位功能。口 ODBC Driver:ODBC驱动。口 OCI:Oracle调用接口。口 Enterprise Manager:企业管理器。口 Enterprise Backup Utility:企业备份工具。(2)应用服务器Oracle 9i应用服务器包括企业版(Enterprise Edition),主要用于构建互联网应用,可以用无线功能的选件进行功能扩充,面向企业级应用;标准版(Standard Edition),建立面向部门级的Web应用。应用服务器企业版包括以下主要组件。口 HttpJ2EE(Apache+):Apache HTTP服务器。口 Portal:接口。口 OEM:Oracle企业管理器。口 Web&DB Cache:Web和数据库缓冲区。口 Form Service:表单服务。口 Report Service报表服务。 。口 Discoverer Plus:数据挖掘。口 Email:Email支持。口 Internet Directory:互联网目录。口 Workflow:工作流。口 Application InterConnect ToolKit:应用连接包。2.3 网上下载Oracle读者在刚接触Oracle9i的时候可能会不知如何开始。只要有条件上网,完全可以到Oracle公司的官方网站上下载绝大部分软件从而迈进Oracle 9i数据库的大门。由于下载Oracle 9i软件的过程比较麻烦,因此这里介绍下载的步骤以方便初学Oracle9i的读者。图2.3 OTN网络用户注册页面(1)在浏览器里输入注册网址“http:/adminaccountmembership.html”将出现“OTN Registration Form”(Oracle Technology Network注册表单)如图?所示。在用户名(Username)、口令(Password)、确认口令(Confirm Password)、电子邮件(Email)文本框里按自己的情况输入,其他栏随意按要求填写即可,然后单击表单最下方的Submit my information按钮完成注册。若注册成功,将在你注册的电子邮件信箱里收到一封信件,里面有注册成功的密码。 (2)在浏览器里输入下载网址“http://software/contenthtml”,在出现的Download Oracle Products,Drivers and Utilities下拉列表框里单击要下载的产品“9i Database”,如图2.4所示。图2.4 选择下载产品(3)出现如图2.5所示“输入网络密码”界面,在用户名和密码文本框里按照注册成功的用户名和密码输入(如果忘记密码可以在注册页面输入自己的电子邮件地址,Oracle OTN将自动回复你),然后单击确定按钮。图2.5 以注册成功后的用户名和密码登录OTN网络(4)出现如图2.6所示,显示刚才选择的产品的各种平台下的版本,单击要下载的版本“Oracle9i Database Enterprise/Standard/ Personal Edition for WindowsNT2000XPPro”。图2.6 选择下载产品的版本 (5)将出现如图2.7所示的“OTN网络开发人员许可条款”界面,必须将共计5条许可条款前面的单选框都选中并单击I accept按钮后,才会出现下载文件。图2.7 选择同意OTN网络开发人员许可条款(6)出现文件列表如图2.8所示,然后就可以用网络蚂蚁之类的专门软件下载。图2.8 下载产品适合在Windows2000NT下安装的Oracle9i数据库服务器共有3个文件,释放后依次对应3张安装光盘。口 9011NTSrv_DisklZIP,512MB。口 9011NTSrv Disk2ZIP,585MB。口 9011NTSrv Disk3ZIP,151MB。读者可以下载后将其释放,然后就可以开始安装。2.4 构建基于Web的企业管理器报告第三章 ArcSDE3.1 ArcSDE概述3.1.1 什么是ArcSDE?ArcSDE是ArcGIS与关系数据库之间的GIS通道。它允许用户在多种数据管理系统中管理地理信息,并使所有的ArcGIS应用程序都能够使用这些数据。 ArcSDE是多用户ArcGIS系统的一个关键部件。它为DBMS提供了一个开放的接口,允许ArcGIS在多种数据库平台上管理地理信息。这些平台包括Oracle,Oracle with Spatial/Locator,Microsoft SQL Server, IBM DB2,和Informix。 如果你的ArcGIS需要使用一个可以被大量用户同步访问并编辑的大型数据库,ArcSDE为你提供必要的功能。通过ArcSDE你的ArcGIS可以在DBMS中轻而易举地管理一个共享的、多用户的空间数据库。以下列出了ArcSDE的具体功能。高性能的DBMS通道 ArcSDE是多种DBMS的通道。它本身并非一个关系数据库或数据存储模型。它是一个能在多种DBMS平台上提供高级的、高性能的GIS数据管理的接口。开放的DBMS支持ArcSDE允许你在多种DBMS中管理地理信息:Oracle, Oracle with Spatial or Locator, Microsoft SQL Server, Informix, 以及IBM DB2.多用户ArcSDE为用户提供大型空间数据库支持,并且支持多用户编辑。连续、可伸缩的数据库ArcSDE可以支持海量的空间数据库和任意数量的用户,直至DBMS的上限。GIS工作流和长事务处理GIS中的数据管理工作流,例如多用户编辑、历史数据管理、check-out/check-in以及松散耦合的数据复制等都依赖于长事务处理和版本管理。ArcSDE为DBMS提供了这种支持。丰富的地理信息数据模型ArcSDE保证了存储于DBMS中的矢量和栅格几何数据的高度完整性。这些数据包括,矢量和栅格几何图形、支持x, y, z和x, y, z, m的坐标、曲线、立体、多行栅格、拓扑、网络、注记、元数据、空间处理模型、地图、图层,等等。灵活的配置ArcSDE通道可以让用户在客户端应用程序内或跨网络、跨计算机地对应用服务器进行多种多层结构的配置方案。ArcSDE支持Windows,UNIX,Linux等多种操作系统。3.1.2 为什么使用 ArcSDE ?ArcSDE能够让同样功能在所有的DBMS上得到实现。尽管所有的关系数据库都支持SQL,并能使用相似的方法处理简单的SQL,但是不同数据库的数据库服务器实现细节却有着显著的差别。这些差别包括性能和索引、支持的数据类型、集成管理工具和复杂查询的执行;还包括在DBMS中对空间数据类型的支持。标准的SQL并不支持空间数据。 ISO SQL/MM Spatial和OGC的简单要素SQL规范扩展了SQL,并且为不同的矢量数据定义了标准的SQL支持。 DB2和Informix直接支持这些SQL类型。Oracle使用的是自己的标准,其空间类型系统是核心数据库系统上的一个独立的、可选扩展。而微软的SQL Server不提供空间类型的支持。ArcSDE不但灵活地支持了每个DBMS提供的独特功能,而且能为底层DBMS提供它们所不具备的功能的支持。ArcSDE支持高性能的空间数据的管理,它支持的数据库包括:Oracle(带压缩二进制) Oracle(带Locator和Spatial) 微软SQL Server(带压缩二进制) IBM DB2(带Spatial Extender) IBM Informix(带Spatial Datablade) ArcSDE是为了解决DBMS的多样性和复杂性而存在的。ArcSDE的体系结构给用户提供了巨大的灵活性。它允许用户能够自由地选择DBMS来存储空间数据。3.1.3 ArcSDE 分摊了 DBMS 和 GIS 之间对管理空间数据的职责 对空间数据的管理职责是由GIS软件和常规DBMS软件所共同承担的。某些空间数据的管理功能,例如磁盘存储、属性类型定义、查询处理,以及多用户事务处理等,是由DBMS来完成的。当然一些DBMS引擎本身也扩展了对空间数据的支持,他们具备索引和搜索功能。GIS软件负责为特定的DBMS提供各种地理数据的表达。从实际效用上看,DBMS是被作为一个空间数据的实现机制。ArcSDE是基于多层体系结构的(应用和存储)。数据的存储和提取由存储层(DBMS)实现,而高端的数据整合和数据处理功能由应用层(ArcGIS)提供。ArcSDE支持ArcGIS应用层并提供DBMS通道技术,使得空间数据可以存储于多种DBMS中。ArcSDE用于高效地存储、索引和访问维护在DBMS中的矢量、栅格、元数据及其它空间数据。ArcSDE同时能保证所有的GIS功能可用,而无需考虑底层的DBMS。使用ArcSDE,用户在DBMS中即可有效管理他们的地理数据资源。ArcSDE使用DBMS支持的数据类型,以表格的形式管理底层的空间数据存储,并可使用SQL在DBMS中访问这些数据。ArcSDE同时也提供了开放的客户端开发接口(C API和Java API),通过这些接口用户定制的应用程序也可以完全访问底层的空间数据表。这种灵活性意味着一个开放、可伸缩的解决方案;给用户更多的选择;以及更好的互操作性。ArcSDE 的优势 高性能 支持海量数据支持长事务处理和版本管理支持所有的GIS数据(矢量、栅格、测量、地形、元数据及其它)支持流行的DBMS支持多用户3.1.4 将 GIS 整合到统一的 IT 策略中 许多GIS用户希望他们的GIS能够与其机构的IT策略很好结合。他们希望他们的GIS系统符合IT标准;GIS数据能够作为整个机构的完整数据的一部分来使用;并且数据的安全性能够得到保证,数据既开放易用又可以控制其访问权限。这些都是DBMS的优势所在,也正是GIS用户所需要的。ArcSDE和geodatabase的主要角色即是实现GIS和DBMS的完美结合。3.1.5 扩大你的 GIS 系统规模 Geodatabase可以是小型的、单用户的数据库,也可以大到企业级、多用户的数据库。ArcSDE的首要任务就是保证你的geodatabase能够通过任意网络让大量用户所共享、编辑和使用,并可任意调整geodatabase的大小以满足特定的需要。3.1.6 空间数据存储 ArcSDE在DBMS中并没有对数据管理使用任何的额外手段,相反,它却是充分利用了一般DBMS和SQL数据类型的所有优点。ArcSDE保证能够访问多种DBMS,使用每种DBMS所支持的标准SQL类型来管理数据,并且支持所有的空间数据类型(包括要素、栅格、拓扑、网络、地形、测量数据、表格数据,以及位置数据,例如地址、模型和元数据),而无需用户考虑DBMS的底层实现。ArcSDE能够使用DBMS所提供的标准的SQL来存储数据,并且能够完全支持每种DBMS所扩展的如果有用于空间数据类型的SQL。如果DBMS没有任何扩展的空间数据类型支持,二进制大对象(binary large object)类型将会被默认使用。DBMS空间数据存储类型RDBMS字段类型备注SQL ServerArcSDE Compressed BinaryImage微软的SQL Server没有扩展对空间数据类型的支持。但是它们的二进制类型,即所谓的Image字段,可以完全管理复杂的二进制数据流。在普通的和高级的GIS应用中,都需要这些二进制流来表达复杂的线要素和多边形要素。实践证明,SQL Server的二进制类型同其它企业级RDBMS一样,具有稳健、灵活和高效的优点。OGC Well-Known BinaryImageOGC Simple Features类型IBM DB2Spatial ExtenderGeometry ObjectST_GeometryIBM的两个RDBMS:DB2和Informix,都扩展了对矢量空间数据类型的支持。这些类型的扩展与ESRI保持了一致,并且是基于ISO SQL MM for Spatial规范的。InformixSpatial DatabaseGeometry ObjectST_GeometryOracle多种选择:1ArcSDE Compressed BinaryLong Raw这是ArcSDE默认的存储机制,而且是被最普遍使用的数据存储机制。它的特点是高效、灵活、稳定。2LOBLOB一些用户采用LOB是为了使用Oracle Replication Services3OGC Well-Known BinaryLOBOGC Simple Features类型Oracle With Spatial Option/Locator OptionOracle Spatial Geometry TypeSDO_Geometry除了使用ArcSDE Compressed Binary和LOB类型外,Oracle Spatial的用户也可以选择使用SDO_Geometry类型。用户可以逐表格地判断是否使用这种类型,这样可以让他们对每个单独的数据集都能采用最佳的存储方案。3.1.7 访问多源GIS数据GIS数据管理与采集需要的不仅仅是一个单用户的大型数据库。对任何一个GIS系统来说,更重要的是要能够同步地访问多种数据库、多种格式的文件、多种DBMS以及网络。ArcSDE能够帮助用户很好地满足这种关键的GIS需求,同时又不会使用户受制于某一DBMS或某种数据管理解决方案。3.1.8 多用户geodatabase技术的基本原理ArcSDE是geodatabase应用程序操纵geodatabase的一个通道,并且让geodatabase能够在关系数据库中准确地表达。Geodatabase应用软件提供高级的数据处理功能,而ArcSDE保证了在多种DBMS体系中有效地存储和访问数据。 3.2 ArcSDE安装过程中的注意事项错误处理:Error: Connection to sde failed(-106). SDE schema object install not completed.错误信息:在ArcSDE的后安装阶段(post-install procedure),在创建存储空间时出现的错误。表示连接sde时失败,sde对象安装没有完成。原因:可能是因为在同一套系统中同时安装了ArcInfo Desktop(ArcInfo桌面版) 或者是ArcInfo Workstation(ArcInfo 工作站版)。这样,与sde之间在路径上出现冲突。解决办法:编辑环境变量,将SDEHOMEbin (i.e. c:arcgisarcsdeora8iexebin) 方在ARCHOMEbin之前。具体操作如下:右键点击“我的电脑”,出现如图3.1所示的下拉菜单。图3.1 下拉菜单图点击下拉菜单中的“属性”项,出现如图3.2所示的对话框。图3.2 属性对话框点击“高级”选项按钮,出现如图3.3所示的对话框。图3.3 “高级”选项对话框点击“环境变量”,弹出如图3.4所示的对话框。图3.4选择“Path”项,点击“编辑”按钮,对相关的系统变量的路径进行编辑,例如,编辑环境变量,将D:ArcGISArcSDEora9iexebin放在D:arcgisarcexe83bin之前。第四章 建立Geodatabase4.1 Geodatabase概述4.1.1 什么是Geodatabase? Geodatabase是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。Geodatabase支持多种DBMS结构和多用户访问,且大小可伸缩。从基于Microsoft Jet Engine的小型单用户数据库,到工作组,部门和企业级的多用户数据库,Geodatabase都支持。目前有两种Geodatabase结构:(1)个人Geodatabase;(2)多用户Geodatabase (multiuser geodatabase)。 (1)个人Geodatabase个人Geodatabase,对于ArcGIS用户是免费的,它使用Microsoft Jet Engine数据文件结构,将GIS数据存储在小型数据库中。个人geodatabase更像基于文件的工作空间,数据库存储量最大为2GB。个人geodatabase使用微软的Access数据库来存储属性表。对于小型的GIS项目和工作组来说,个人Geodatabase是非常理想的工具。通常,GIS用户采用多用户Geodatabase来存储和并发访问数据。个人Geodatabase支持单用户编辑,不支持版本管理。(2)多用户Geodatabase多用户Geodatabase,通过ArcSDE支持多种数据库平台,包括IBM DB2,Informix,Oracle(有或没有Oracle Spatial都可以)和SQL Server。多用户Geodatabase使用范围很广,主要用于工作组、部门和企业,利用底层DBMS结构的优点实现以下功能:(1)支持海量的,连续的GIS数据库;(2)多用户的并发访问;(3)长事务和版本管理的工作流。基于数据库的geodatabases可以支持海量数据以及多用户并发。在众多的geodatabase实现中,空间地理数据一般存放在大型的binary object(二进制对象)中,ESRI插入和取出这样的大对象,关系数据库是非常高效的。而且,GIS数据库的容量和支持的用户数远大于文件的存储形式。4.1.2 Geodatabase的体系结构GIS软件和数据库共同完成地理数据的管理。某些数据管理,如磁盘存储,属性数据类型的定义,联合查询和多用户的事务处理都是由数据库完成的。GIS应用软件则通过定义DBMS表,用来表示各种地理数据和特定领域内的逻辑,以及维护数据的完整性和实用性。实际上,DBMS是专门用来存放地理数据的,而完全不是用来定义地理数据的行为的。这是一个多层的结构(应用和存储),数据的存取是通过存储层(DBMS),由简单表来实现,而高级的数据完整性维护和信息处理的功能是在应用层软件(GIS)完成的。Geodatabase的实现也使用了和其他高级DBMS应用相同的多层结构。Geodatabase对象作为具有唯一标识的表中的记录进行存储,其行为通过Geodatabase应用逻辑来实现。Geodatabase的核心是标准的(不是特殊的)关系数据库模式(一组标准的DBMS表,字段类型,索引等等)。数据的存储由应用层的高级应用程序对象协调和控制(可以是ArcGIS客户端或ArcGIS Server)。这些geodatabase对象定义了通用的GIS信息模型,可以在所有的ArcGIS应用和用户中使用。Geodatabase对象的作用就是向用户提供一个高级的GIS信息模型,而模型的数据以多种方式进行存储,可以存储在标准的DBMS的表中,或者文件系统中,也可以是XML流。所有的ArcGIS应用程序都与geodatabase的GIS对象模型进行交互,而不是直接用SQL语句对后台的DBMS实例进行操作。Geodatabase软件组件实现了通用模型中的行为和完整性规则,并且将数据请求转换成对相应的物理数据库的操作。4.1.3 Geodatabase在RDBMS中的存储Geodatabase在关系表中存储空间和属性数据,此外还存储地理数据的模式和规则。Geodatabase的模式包括地理数据的定义、完整性规则和行为,比如要素类的属性、拓扑、网络、影像目录、关系、域等。模式由DBMS中一组定义地理信息完整性和行为的Geodatabase的元数据表(meta table)来维护。SQL可以操作表中的行、列和类型。列类型(数值型、字符型、日期型等)是SQL代数中的对象。空间数据一般存储为矢量要素和栅格数据,以及传统意义上的属性表。比如:一个DBMS表可以用来存放一个要素的集合,表中的每行可以用来保存一个要素。每行中的shape字段存储要素的空间几何或形状信息。shape字段的类型一般分为两种:(1)BLOB (大二进制对象)(2)DBMS支持的空间类型。相似的要素的集合(具有相同的空间类型(如点、线或多边形),加上相同的一组属性字段)由一个单一的表来管理,称为要素类。栅格和图像数据也存放在关系表中。栅格数据通常很大,需要副表用于存储。栅格数据通常切成小片,称为块(block),存放在单独的块表的记录中。不同的数据库中存储矢量和栅格数据的字段类型是不同的。如果DBMS支持空间扩展类型,Geodatabase可以直接使用这些类型存储空间数据。作为SQL 3 MM Spatial和OGC简单要素SQL规范的主要作者,ESRI一直致力于将SQL向空间化方向扩展,重点是支持在标准的DBMS和独立的Oracle Spatial中存储Geodatabase。4.2 如何构建一个Geodatabase(地理数据库)用来创建和编辑geodatabase的主要工具是在ArcCatalog和ArcMap中。ArcCatalog提供了创建和修改geodatabase的结构的工具;ArcMap提供了分析和编辑geodatabase的内容的工具。4.2.1 创建geodatabase的三种方法(1)使用ArcCatalog创建;直接使用ArcCatalog提供的工具创建特征数据集、特征类、表格、几何网络、拓扑关系以及其他的数据条目。(2)将已经存在的数据转入将外部已经存在的数据转入geodatabase。(3)使用CASE工具CASE:Computer-Aided Software Engineering,即计算机辅助软件工程。4.2.2 创建数据库的第一步首先要做的是利用ArcCatalog创建一个数据库。有两种地理数据库:(1)personal geodatabases,个人地理数据库;(2)ArcSDE geodatabases.(1)创建一个新的personal geodatabases1)打开ArcCatalog,右健点击ArcCatalog的目录树的需要创建个人地理数据库的位置,然后指向New,然后点击Personal Geodatabases,创建一个新的个人地理数据库,如图4.1所示。然后就可以进行相关的编辑处理。创建一个新的personal geodatabases就是创建一个.mdb文件。图4.1(2)创建一个新的ArcSDE geodatabases具体操作方法如下:1)在ArcCatalog中,双击“Database Connections”,然后双击“Add Spatial Database Connection”,所后弹出“Spatial Database Connection”对话框,如图4.2所示。图4.2 “Spatial Database Connection”对话框在图4.2所示的“Spatial Database Connection”对话框中,在“Server”、相应输入框输入服务器,对应于计算机名,我的计算机名为“gisdm”,因此输入“gisdm”; 在“Service”的相应输入框输入端口号,一般对应为“port:5151”;在”Database”的输入栏输入数据库实例名,如“GISTrain”。在“Account”栏中输入ArcSDE的用户名和密码,用户名为:“sde”,密码自定,一般情况下可能就是”sde”。 点击“确定”按钮以后创建了一个新的ArcSDE geodatabases。4.2.3 在Geodatabase中创建新项1、创建存储简单对象的表操作步骤见图4.34.7。(1)在ArcCatalog目录树上,右击你要加表的数据库。(2)指向New。(3)点击Table。(4)输入表名和别名。(5)点击Next,如果数据不用SDE的话,跳到第(8)步。(6)如果需要,点击此选项,并键人关键词。(7)点击Next。(8)在紧挨着要加域的地方单击,并键人域名。(9)选择域的数据类型。(10)如要给域创建别名,键人别名。(11)如要域不可修改,在紧挨着的Editable里点击No。(12)如要避免该域存空值,在Allow nulls中点击No。(13)给域的Default Value项输入值。(14)指定Domain。(15)如要指定域的其他属性,或点击其右边的下拉箭头,或者键入。(16)如有其他
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河南-河南保健按摩师四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河北-河北保健按摩师五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江西-江西有线广播电视机务员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏假肢制作装配工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西热处理工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西机械冷加工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西垃圾清扫与处理工四级(中级工)历年参考题库含答案解析
- 焊工安全基本知识培训课件
- 焊工作业安全知识培训课件
- 2020-2025年投资项目管理师之宏观经济政策自测模拟预测题库(名校卷)
- GB/T 9775-2025纸面石膏板
- 2025年陕西西安工业投资集团有限公司招聘笔试参考题库含答案解析
- 骨质疏松症课件
- T∕CGMA 033001-2018 压缩空气站能效分级指南
- 《创新方法》课程教学大纲
- REFLEXW使用指南规范.doc
- 赛摩6001B皮带校验说明书
- 常用处方药名医嘱拉丁文缩写
- 只征不转 - 增城市国土资源和房屋管理局
- 会计查账实务
- 电鱼机的原理与制作及电路图
评论
0/150
提交评论