《最新ArcGIS中文基础教程.doc》由会员分享,可在线阅读,更多相关《最新ArcGIS中文基础教程.doc(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料ArcGIS中文基础教程.第一章 GIS 的概念和需求理解GIS的三种角度: GIS是一个用于管理、分析和显示地理信息的系统。地理信息可以通过一系列地理数据集来表达。而地理数据集则通过使用简单的,普通数据结构来为地理信息建模。GIS包含了一套用以处理地理数据的综合工具。 我们可以从多个角度来理解地理信息系统是如何工作于地理信息的: 1 从空间数据库的角度看:GIS是一个包含了用于表达通用GIS数据模型(要素、栅格、拓扑、网络等等)的数据集的空间数据库。2 从空间可视化的角度看:GIS是一套智能地图,同时也是用于显示地表上的要素和要素间关系的视图。底层的地理信息可以用各种地图的方式进行表
2、达,而这些表现方式可以被构建成“数据库的窗口”,来支持查询、分析和信息编辑。3 从空间处理的角度看:GIS是一套用来从现有的数据集获取新数据集的信息转换工具。这些空间处理功能从已有数据集提取信息,然后进行分析,最终将结果导入到数据集中。这三种观点在ESRI ArcGIS中分别用ArcCatalog(GIS是一套地理数据集的观点)、ArcMap(GIS是一幅智能的地图)和ArcToolbox(GIS是一套空间处理工具)来表达。这三部分是组成一个完整GIS的关键内容,并被用于所有GIS应用中的各个层面。从空间数据库的角度: GIS是世界上独一无二的一种数据库空间数据库(Geodatabase)。它
3、是一个“用于地理的信息系统”。从根本上说,GIS是基于一种使用地理术语来描述世界的结构化数据库 这里我们来回顾一些在空间数据库中重要的基本原理。地理表现形式 作为GIS空间数据库设计工作的一部分,用户要指定要素该如何合理的表现。例如,地块通常用多边形来表达,街道在地图中是中心线(centerline)的形式,水井表现为点等等。这些要素会组成要素类,每个要素类都有共同的地理表现形式。每个GIS数据集都提供了对世界某一方面的空间表达,包括: 基于矢量的要素(点、线和多边形)的有序集合 诸如数字高程模型和影像的栅格数据集 网络 地形和其它地表 测量数据集 其他类型数据,诸如地址、地名和制图信息 描述
4、性的属性除了地理表现形式以外,地理数据集还包括传统的描述地理对象的属性表。许多表和空间对象之间可以通过它们所共有的字段(也常称为“关键字”)相互关联。就像它们在传统数据库应用中一样,这些以表的形式存在的信息集和信息关系在GIS数据模型中扮演着非常关键的角色。空间关系:拓扑和网络 空间关系,比如拓扑和网络,也是一个GIS数据库的重要部分。使用拓扑是为了管理要素间的共同边界、定义和维护数据的一致性法则,以及支持拓扑查询和漫游(比如,确定要素的邻接性和连接性)。拓扑也用于支持复杂的编辑,和从非结构化的几何图形来构建要素(例如,用线来构建多边形)。地理要素共享几何形状。可以使用节点、边、面的关系来描述
5、要素的几何形状网络是描述一个能够相互贯通的 GIS 对象相连的图。这对于模拟路径和交通、管线、设备、水文学以及其它基于网络的应用非常重要。 在这个网络示例中,街道要素代表连接它们的端点(称为“连接”)的边。转向模型可用于控制从一边到另一边的通行能力专题图层与数据集: GIS将空间数据组织成一系列的专题图层和表格。由于GIS中的空间数据集具有地理参考,因此它们具有现实世界的位置信息并互相叠加。GIS 集成了多种类型的空间数据在一个GIS中,同类型的地理对象集合被组织成图层,例如地块、水井、建筑物、正射影像以及基于栅格的数字高程模型(DEM)。明确定义的地理数据集对于一个实用的地理信息系统是相当重
6、要的,同时专题信息集合使用层来组织,这样的思想也是GIS数据集一个关键的思想。数据集可以用于表达:原始量测值(例如卫星影像) 经过解译的信息 通过空间分析和建模处理而得来的数据 通过层之间共同的地理位置,我们可以很容易地得到多个层之间的空间关系。GIS使用普通的对象类来管理这些简单的图层,同时凭借一套功能丰富的工具获取数据层之间的关键联系。GIS会使用通常是来自不同组织机构,并且具有各种表现方式的大量数据集。因此对于GIS数据集很重要的是:使用简单并易于理解 易于同其他的地理数据集结合使用 能够被有效地编辑与校验 能够形成具有内容详实,使用和目标描述明确的清晰文档 任何的GIS数据库或者用基于
7、文件的数据组织方式都遵循这些共同的原则与概念。每个GIS都需要有一个机制依据这些原则来描述地理数据,并且通过一套综合的工具来使用和管理此信息。 从空间可视化的角度: 空间可视化是指生成地图以及其它地理信息的表现形式,包括交互式地图,3D场景,简报,图表,基于时间的浏览以及表现网络关系的图解示意图。 GIS使用包括交互式的地图和其它视图来对地理数据集进行操作。地图为人们如何方便地、交互地使用地理信息提供了一个强有力的途径。对于大多数的GIS应用来说,交互式地图提供了主要的用户界面,并且在不同级别的应用中从手持移动设备的到基于浏览器的网络绘图以至高端的桌面GIS,都可以看到交互式地图的应用。 GI
8、S地图类似于静态的、打印出来的地图,所不同的是你能够交互地使用它们。你可以方便地漫游、缩放一幅交互式地图,可以让某些图层在适合的比例尺下自动显示或关闭。你可以基于任意的属性给一个图层设置符号。例如,你可以根据地块的类型给它们施以不同的颜色,或者根据水井的水量给代表水井的点设置不同尺寸的符号。你也可以在一幅交互式地图中指定地理对象来获取更多的关于这个对象的信息,并执行空间查询和分析。例如,你可以找到学校附近200米以内的所有特定类型的商店,或者找到选定的道路500以内的所有沼泽地。此外,大部分的GIS用户是通过交互式的地图来编辑空间数据的。地图用以表达地理信息,执行大量基于地图的任务,包括高级的
9、数据编辑、制图、分析、查询和外业数据采集 除地图以外,其他交互式的视图,如按照时间顺序发生的事件描述,全球模拟图,以及图解都在 GIS 中被作为某种表现方式而使用。 GIS 用户通过交互地图,实施众多的从简单到复杂的 GIS 任务。这也是对于一个组织来说一种最主要的获得 GIS 信息的方式。 开发人员经常嵌入地图到定制的应用中,许多用户也为某种 GIS 应用在 Internet 上发布 Web 上使用的地图。 按照时间顺序模拟台风的轨迹使用图解显示输气管道在用户开发的应用中嵌入地图使用 ArcGlobe 显示珠穆朗玛峰的登山路线以上四个例子分别为在追踪分析( Tracking Analyst
10、)中显示基于时间的信息(此信息可以被记录为事件), ArcGIS Schematics 的例子,使用 MapControl 控件实现地块搜索的陷入式开发应用的例子和一个 ArcGlobe 显示的效果。 从空间处理的角度: 从另外一个角度来看 GIS 是一系列地理数据集的和应用于这些数据集的操作工具。地理数据集可以是原始的量测(比如卫星图像),被分析者解析和编译出来的信息(例如道路,建筑物,土地类型),或者使用分析和模型运算从其他数据源中得来的信息。空间处理指的是用来生成派生数据集的工具和处理过程。 GIS 包括了一套丰富的工具来处理和作用于地理信息。这一工具集通常被用来操作 GIS 信息对象比
11、如数据集,属性字段,以及地图打印用的制图元素。这些综合的命令和数据对象结合在一起就构成了空间处理框架的基础。 数据工具新的数据 GIS工具是建立复杂处理过程的基石。对一个已有数据应用一个工具处理是为了得到新的数据结果。在GIS中,使用空间处理的框架将这些集中了多个步骤的操作贯穿起来。把一系列的操作串起来就形成了一个处理模型,这个模型可以被用来自动执行和记录许多GIS中的空间处理任务。这种处理组合和应用过程就被认为是空间处理。一个完整的 GIS 包括常规的信息和一组丰富的用于处理信息的 GIS 操作。例如, ArcGIS 拥有一套丰富的语言,以及上千个应用于各种 GIS 数据类型的操作工具 空间
12、处理过程 空间处理通过为数据从一种结构到另外一种结构的变换过程建模来实现多种GIS任务。例如,从多种格式导入数据,整合这些数据到GIS中,对导入的数据执行一些标准质量和有效性的检查,这样的一个过程就可以用空间处理建立成模型。自动执行和重复这些流程是GIS一个强大的能力。它已经被广泛的使用于GIS应用和方案中。 用来建立空间处理流程的一种途径就是按照一定的顺序来执行一些命令。用户可以在ArcGIS中使用ModelBuilder通过图形的方式编写这样的过程,他们也可以使用先进的脚本编辑工具比如Python,VbScript,和JavaScript来写脚本。空间处理实际上可以在GIS的所有方面都加以
13、应用,如数据的自动化生成和编辑,数据的管理,分析和建模以及高级制图。 在一个空间处理框架中, GIS 包含一组工具和可以被处理的数据类型。在 ArcGIS 中可以创建,执行和共享这些多步骤的空间处理操作数据编辑使用空间处理创建的能自动执行的程序是需要能保证数据的质量和完整性的,以便能够执行重复的质量保证/质量控制(QA/QC)任务。应用空间处理方式来自动完成工作流有助于一系列工作流程的共享和传递,完成批处理任务以及记录派生数据的关键操作 分析和建模 空间处理对于建模和分析来说是一个关键的框架,一些通常的建模应用包括: 为适宜性,可行性,预测和选择评估而建立的模型 整合GIS外部模型 模型共享
14、在一个组织内可被共享的通用模型数据管理 在所有的GIS应用中,管理GIS的数据流是非常重要的。GIS用户应用空间处理的功能从数据集中导入导出数据,以多种格式发布数据,如地理标记语言(GML)规范,连接相邻的数据集,更新GIS数据库的结构以及在数据库中执行批处理。合并已有数据,创建新数据制图 高级空间处理工具可以被用来获得多比例的地图,完成地图综合操作以及为打印高质量的地图产品自动执行许多绘图 QA/QC 工作流程。GIS 信息管理: 地理信息管理与标准的信息技术体系结构有很多相同的概念和特征,并且同样可以在集中式的,企业级的环境中运行良好。例如,GIS数据集可以在关系型数据库中被管理,就像其他
15、的企业信息一样。许多高级应用逻辑通常都可以应用于存储在数据库管理系统(RDBMS)中的数据。像其他的事务性企业信息系统一样,GIS可以管理地理数据库中数据连续的变化以及更新。但是GIS和它们在许多重要的方面还是有所不同。 GIS 数据是复杂的GIS数据在要素的数量和大小方面都是巨大的。例如一个普通人口业务查询只会从DBMS中提取几行数据,而绘制一幅GIS将会需要从数据库中查询出成百上千的记录。加上每一条记录获得的栅格和矢量的几何属性将会更大。GIS数据还有复杂的关系和结构,比如网络,地形和拓扑。 GIS 数据编辑是高级而专业的工作 建立和维护GIS的空间数据库需要完整的编辑应用。遵循地理规则及
16、命令的专业空间处理对于维护地理和栅格数据的完整性和行为规则是必要的。因此,GIS数据编辑的花费是高昂的。这也是为什么用户不得不经常共享数据集的原因之一。一个地理信息系统是事务性的野外离线数据编辑的工作流程和在其他的数据库管理系统一样,许多的数据更新通常会应用于GIS数据库。因此GIS数据库,和其他的数据库一样,必须支持更新事务。但是,GIS用户有一些特殊的事务需求。这里有一个主要的概念就是长事务。在GIS中,一个单一的编辑操作能涉及到多个表格中的多行的变化。在用户提交之前,需要能做undo和redo的操作。编辑会话能维持几个小时甚至几天。在许多情况下,对数据库的更新过程需要经过一系列的阶段。例
17、如公用设施管理行业中,通常的工作阶段包括“设计”,“已提交”,“认可”,“在建”和“建成”。这个进程从根本上说是可以循环的。工作流程产生以后,分配给工程师,然后随着时间的进展从一个阶段到另一个阶段进行,最后,这些改变被“提交”,或者回复到原有的共享数据库状态。GIS 工作流程可以持续几天几个月。然而 GIS 数据库仍然需要持续的支持日常的操作。其他的用户对共享的数据库可能需要形成各自的数据浏览视图和数据库状态。 其他的一些 GIS 数据工作流程例子包括: 离线编辑:一些用户需要有从数据库中取出一部分,然后复制它到另外一个独立的系统中去的能力。例如对于野外编辑,你可以拿出一部分数据到野外进行编辑
18、,更新,然后提交这些改变到数据库中。分布式地理数据库:一个区域数据库可能是一个中心数据库中某一地理区域的一部分。这区域数据库和中心数据库必须定期同步交换变化的部分。分布式数据库交换更新内容跨数据库的松散耦合的数据复制:用户经常希望在一系列数据库的副本中同步GIS的数据内容,在这种情况中,每个站点都会基于本地数据库进行自我更新。用户要求定期在每个数据库的副本间传送更新了的数据以实现内容的同步。在很多情况下,底层基于的DBMS常常是不同(如SQL Server,Oracle及IBM DB2)。GIS 与生俱来就是一个分布式信息系统 目前,存在着一个广泛的认同那就是在大多数地理信息系统中,数据层和数
19、据表都来源于多个组织。每个GIS组织机构生成了一些数据内容,但并不是全部,至少总有一些数据层来源于本组织之外。对数据的需求促使用户用最为有效和快速的方法去获取数据,包括从其他GIS用户中取得数据库的一部分。由此,GIS的数据管理就分布于许多用户之间了。互操作性 GIS分布性的本质就意味着多个GIS组织和系统之间需要互操作性。在GIS用户间的协同是至关重要的。GIS用户已经长时间依赖于对数据共享和使用的协同工作。最近对建立GIS标准的趋势和努力正反应了这种基础的需求。符合工业标准并被GIS的实际工作所采纳对任何想取得成功的GIS系统来说具有决定性的意义。GIS必须支持一些重要的标准而且能够不断进
20、步去支持新出现的标准。 GIS 网络 许多地理数据集可以作为一般信息资源而被编辑和管理以及在一个用户群中共享。另外,GIS用户也考虑到了如何通过Web实现共享这些通常会被使用到的数据集。Web的节点被称作GIS目录的门户,可以实现用户注册,数据发现,地理信息的获取及使用等功能。这样产生的结果是GIS系统越来越多的连接在万维网(World Wide Web)以实现信息的共享和使用。 这种情形已经存在了十多年了,并已经被描述成一个国家空间数据基础设施(NSDI)或者全球空间数据基础设施(GSDI)。这些概念不仅在国家和全球这种级别,在省级或者地方政府机构中也有广泛的应用。这种思想的集合被称作为空间
21、数据基础设施(SDI)。GIS网络是一个SDI的应用,是一个在WWW网络上发布,搜索和使用共享地理信息的用户站点的集合。地理信息的本质是分布式的和松散集成的。极少情况下是所有的信息都存在一个单一数据结构的数据库实例中。 GIS 用户互相需要对方的部分 GIS 数据, GIS 网络使得用户可以互相交流和共享各自的地理知识和数据。GIS 网络有三个关键部分: 元数据目录门户由此用户可以搜索找到符合其应用的 GIS 信息 GIS 节点用户编辑和发布地理信息集的位置 GIS 用户搜索,查询,连接和使用已发布的 GIS 数据和服务的人 GIS 网络中的三个关键部分GIS 目录的门户 在任何GIS网络中一
22、个重要的组成部分是GIS目录门户,这个门户站点拥有已注册的众多数据资源和信息集。许多GIS用户的角色是编辑和发布数据的管理员,而这些数据是为其它组织所共享使用的。这些组织在一个目录门户中注册他们的信息资源。通过在这个门户中搜索,其他GIS用户可以找到并连接需要的信息。这种GIS目录门户是一个Web站点,在这里,GIS用户可以搜索并查到与其应用相关的GIS信息。同样的这个门户也依赖于发布GIS数据服务,地图服务和元数据服务的网络。一个GIS目录门户站点会定期从众多站点中获取目录列表,这些站点参与发布一个中心GIS目录。这样一个GIS目录既可以为本站点也可以为其它站点的数据资源进行注释和说明。可以
23、想象的出,一系列GIS的目录节点即可以形成空间数据基础设施的一个网络。在 GIS 目录门户站点, GIS 数据和服务被记录在目录中,这样用户可以从中搜索并查找不同 GIS 应用所需要的数据资源 GIS目录门户的一个例子是美国政府的地理空间一站式门户(www.geodata.gov)。这个门户站点使得各个级别的政府机构和公众更加容易和快捷而花费更小的获取地理信息。Geodata.gov 是美国国家空间数据基础设施中的一个节点GIS的需求决定了GIS软件该如何搭建和使用,像其它信息技术一样,GIS应用必须能够很方便地支持组织的工作流程和业务需求。这需要通过提供一套支持各种格式数据集的通用软件平台和
24、能够管理,编辑,分析和显示数据的工具集来实现。在这种认识下,GIS软件可能会更多的被看作是集中了大型复杂的多用户系统的IT基础设施。一个GIS平台必须提供必需的能力以支持以下功能,这些是对上述观点的扩展描述: 存储和管理所有的地理对象的空间数据库 为分布地理信息提供管理和共享能力的基于Web的网络 支持下述功能的桌面端和服务器端的应用: 数据编辑 信息查询 空间分析和空间处理 制图作业 图像可视化和管理 GIS 数据管理 Modular software components (engines) to embed GIS logic in other applications and buil
25、d custom applications 可以在其它应用和开发用户定制的系统中嵌入GIS逻辑的组件(引擎) 为多用户和中心地理信息系统建立的地理信息服务 为实现 GIS 需求而设计的一个全面的 GIS 平台第二章 什么是ArcGISGIS是不断发展的: 在GIS发展的早期,专业人士主要关注于数据编辑或者集中于应用工程,以及主要把精力花费在创建GIS数据库并构造地理信息和知识。慢慢的,GIS的专业人士开始在大量的GIS应用中使用这些知识信息库。用户应用功能全面的GIS工作站来编辑地理数据集,建立数据编辑和质量控制的工作流,创建地图和分析模型并将这些工作和方法记录成文档。这加强了GIS用户的传统
26、观念,这些用户往往拥有连接在数据集和数据库上的专业工作站。这种工作站拥有复杂的GIS应用以及用来实现几乎所有GIS任务的逻辑和工具。 这种对GIS软件所处位置的看法已经被证明非常有价值,被约全球二十万组织中的GIS专业人士所接受。事实上,这种客户服务器的计算模式是如此的成功以至于让许多人认为GIS只有这样的模式。但是,对GIS的观念在不断的扩展。近期Internet的发展,DBMS技术的长足进步,面向对象编程语言,移动设备以及GIS的广泛使用已经促使GIS有更加开阔的前景和发挥更加重要的作用除了GIS桌面产品,GIS软件可以被集中在应用服务器上和Web服务器上,把GIS的功能通过网络传递给任意
27、多的用户;可以集中一些GIS逻辑,将其嵌入和部署在用户定制的应用中;为野外GIS业务在移动设备上部署GIS软件的应用也多了起来。企业GIS用户使用传统高级的GIS桌面软件,使用Web浏览器,专门的应用程序移动计算设备以及其它数字化设备连接中心GIS服务器。GIS平台涉及的范围在不断的扩展。ArcGIS产品线正是为满足这种需求的发展而产生,从而为用户提供一个可伸缩的,全面的GIS平台,下面的框图对此进行了说明。使用 ArcGIS 满足 GIS 用户所有的需求 ArcGIS作为一个可伸缩的平台,无论是在桌面,在服务器,在野外还是通过Web,为个人用户也为群体用户提供GIS的功能。ArcGIS 9是
28、一个建设完整GIS的软件集合,它包含了一系列部署GIS的框架:ArcGIS Desktop一个专业GIS应用的完整套件 ArcGIS Engine为定制开发GIS应用的嵌入式开发组件 服务端GISArcSDE?,ArcIMS?和ArcGIS Server 移动GISArcPad?以及为平板电脑使用的ArcGIS Desktop和Engine ArcGIS是基于一套由共享GIS组件组成的通用组件库实现的,这些组件被称为ArcObjectsTM。ArcObjects包含了大量的可编程组件,从细粒度的对象(例如,单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这
29、些对象为开发者集成了全面的GIS功能。每一个使用ArcObjects建成的ArcGIS产品都为开发者提供了一个应用开发的容器,包括桌面GIS(ArcGIS Desktop),嵌入式GIS(ArcGIS Engine)以及服务端GIS(ArcGIS Server)。关于ArcObjects开发的更详细的信息可以在中找到。桌面 GIS 对于那些利用GIS信息进行编辑,设计的GIS专业人士来说,桌面GIS占有主导地位。GIS专业人士使用标准桌面作为工具来设计,共享,管理和发布地理信息。ArcGIS Desktop是一个集成了众多高级GIS应用的软件套件,它包含了一套带有用户界面组件的Windows桌
30、面应用(例如,ArcMap,ArcCatalogTM,ArcTooboxTM以及ArcGlobe)。ArcGIS Desktop具有三种功能级别ArcView?,ArcEditorTM和ArcInfoTM,都可以使用各自软件包中包含的ArcGIS Desktop开发包进行客户化和扩展。关于ArcGIS Desktop的更多的信息请参考第四章“桌面GIS:ArcView,ArcEditor,ArcInfo”。上面的图形展示了使用 ArcGIS Desktop 的应用实例服务端 GIS GIS用户通过部署一个集中式的GIS服务器在大型组织之内以及Internet的用户之间发布和共享地理信息。服务端
31、的GIS软件适用于任何集中执行GIS计算,并计划扩展支持GIS数据管理和空间处理的场合。除了为客户端提供地图和数据服务,GIS服务器还在一个共享的中心服务器上支持GIS工作站的所有功能,包括制图,空间分析,复杂空间查询,高级数据编辑,分布式数据管理,批量空间处理,空间几何完整性规则的实施等等。ArcGIS服务器产品符合信息技术的标准规范,可以和其它企业级的软件完美的合作,例如Web服务器,数据库管理系统(DBMS)以及企业级的应用开发框架包括.NET和JAVA2企业级平台(J2EE)。这促使了GIS和其它大量的信息系统技术的整合。ArcGIS 9所包含的三种服务端产品: ArcSDE一个在多种
32、关系型数据库管理系统中管理地理信息的高级空间数据服务器。ArcSDE是一个位于ArcGIS其它软件产品和关系型数据库之间的数据服务器,其广泛的应用使得在跨任何网络的多个用户群体中共享空间数据库以及在任意大小的数据级别中伸缩成为可能。 ArcIMS是一个可伸缩的,通过开放的Internet协议进行GIS地图,数据和元数据发布的地图服务器。ArcIMS已经在成千上万的应用中部署了,主要是为Web上的用户提供数据分发服务和地图服务。ArcGIS Server是一个应用服务器,包含了一套在企业和Web框架上建设服务端GIS应用的共享GIS软件对象库。ArcGIS Server是一个新产品,用于构建集中
33、式的企业GIS应用,基于SOAP的Web services和Web应用。要了解关于ArcGIS 9服务器产品的更多信息,请参考第五章,“服务端GIS:ArcSDE,ArcIMS和ArcGIS Server”。GIS 将会利用 Internet 不断成长,并取得进一步的成功。 Internet 技术的不断发展,如 Web services ,为 GIS 用户共享,地理信息的服务以及跨组织的 GIS 互联提供了坚实的保障。嵌入式 GIS 用户可以使用嵌入式的GIS,在所关注的应用中增加所选择的GIS组件,从而为组织的任何部门提供GIS的功能,这使得许多需要在日常工作中应用GIS作为一种工具的用户,
34、可以通过简单的,集中于某些方面的界面来获取GIS的功能。例如,嵌入式的GIS应用帮助用户支持远程数据采集的工作,管理者的桌面上实现GIS,为系统操作人员实现定制界面,以及面向数据编辑的应用等。ArcGIS Engine提供了一套应用于ArcGIS Desktop应用框架之外(例如制图对象作为ArcGIS Engine的一部分,而不是ArcMap的一部分)的嵌入式ArcGIS组件。使用ArcGIS Engine,开发者在C+,COM,.NET和Java环境中使用简单的接口获取任意GIS功能的组合来构建专门的GIS应用解决方案。开发者通过ArcGIS Engine构建完整的客户化应用或者在现存的应
35、用中(例如微软的Word或者Excel)嵌入GIS逻辑来部署定制的GIS应用,为多个用户分发面向GIS的解决方案。使用 ArcGIS Engine 将 GIS 嵌入到你的应用中移动GIS 依靠移动计算设备上的专业应用系统,GIS越来越多的从办公室中转移到野外。目前拥有GPS功能的无线移动设备被常常使用于野外专题数据获取和野外信息获取。消防员,垃圾收集员,工程检修员,测量员,公用设施施工工人,士兵,统计调查员,警察以及野外生物学家是使用移动GIS这个工具的一些野外工作者的代表。一些野外工作任务需要相对简单的GIS工具,但也有些工作涉及到需要高级GIS工具的复杂操作。ArcGIS包含了能够满足两方
36、面需求的应用。ArcPad是ArcGIS实现移动GIS和野外计算(如需要记录和登记突发性事故的空间信息)的解决方案,这些类型的工作可以在手持计算机设备(运行Microsoft Windows? CE或者Pocket PC)或者平板电脑上完成。ArcGIS Desktop和ArcGIS Engine集中于需要GIS分析和决策分析的野外工作任务,这种典型的任务往往在高端平板电脑上执行。要更多的了解移动GIS的信息,请参考第七章“移动GIS:ArcPad及设备”。你可以在野外实现 GIS空间数据库( Geodatabase )作为geographic database的简写,geodatabase是
37、在专题图层和空间表达中组织GIS数据的核心地理信息模型。Geodatabase是一套获取和管理GIS数据的全面的应用逻辑和工具。无论是客户端的应用(如ArcGIS Desktop),服务器配置(如ArcGIS Server),还是嵌入式的定制开发(ArcGIS Engine)都可以获取geodatabase的应用逻辑。Geodatabase是一个基于GIS和DBMS标准的物理数据存储库,可以应用于多用户访问,个人DBMS以及XML。Geodatabase原本被设计成一个开放的,简单几何图形的存储模型。Geodatabase对众多的存储机制开放,包括DBMS存储,文件型存储或者XML方法存储,并
38、不局限于某个DBMS的供应商。要更多的了解关于geodatabase的信息,请参考第三章“在geodatabase中的GIS数据概念”。Geodatase 是一个简单的几何存储模型第三章:Geodatabase中的GIS数据概念ArcGIS支持文件和数据库中的GIS数据 ArcGIS很大的一个优点是可以使用任何格式的GIS数据,并且可以同时访问多个数据库和文件。ArcGIS用一个高级的通用的地理数据模型来表示空间信息,包括空间要素,遥感数据以及其他的空间数据类型。ArcGIS同时支持基于文件的空间数据类型和基于数据库的空间数据类型。 基于文件的空间数据类型包括对多种GIS数据格式的支持,如co
39、verage,shapefile,grid,image和TIN。Geodatabase数据模型也可以在数据库中管理同样的空间数据类型,这样,可以利用关系数据库已有的优点。表1基于文件的空间数据基于数据库的空间数据CoveragesOracleShapefilesOracle with SpatialGridsDB2 with its Spatial TypeTINsInformix with its Spatial TypeImages(各种格式的)SQL ServerVector Product Format (VPF) filesPersonal Geodatabases(微软的Acces
40、s)CAD 文件 表(各种格式的)表 1 是一些 ArcGIS 中可以直接使用的数据类型。对更多的数据类型的支持可以通过数据转换工具和扩展来实现。 GIS 数据也可以在 Web 上通过 XML 和 Web 数据格式进行传输,如 Geodatabase XML , ArcXML , SOAP , WMS , WFS 等。 基于文件的数据类型和基于关系数据库的数据类型都定义了空间地理数据的通用模型。这些数据类型可以在大量的GIS应用中使用。通过定义和使用这些空间数据模型的行为,ArcGIS中的空间信息是基于标准的,可以作为多种应用的基础,也可以和其他程序很好的共享。这样ArcGIS为几乎所有的GI
41、S应用提供了一个很好的平台。什么是GEODATABASE?Geodatabase是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。Geodatabase支持多种DBMS结构和多用户访问,且大小可伸缩。从基于Microsoft Jet Engine的小型单用户数据库,到工作组,部门和企业级的多用户数据库,Geodatabase都支持。目前有两种geodatabase结构:个人Geodatabase和多用户Geodatabase (multiuser geodatabase)。 个人Geodatabase,对于
42、ArcGIS用户是免费的,它使用Microsoft Jet Engine数据文件结构,将GIS数据存储在小型数据库中。个人geodatabase更像基于文件的工作空间,数据库存储量最大为2GB。个人geodatabase使用微软的Access数据库来存储属性表。对于小型的GIS项目和工作组来说,个人Geodatabase是非常理想的工具。通常,GIS用户采用多用户Geodatabase来存储和并发访问数据。个人Geodatabase支持单用户编辑,不支持版本管理。多用户Geodatabase通过ArcSDE支持多种数据库平台,包括IBM DB2,Informix,Oracle(有或没有Orac
43、le Spatial都可以)和SQL Server。多用户Geodatabase使用范围很广,主要用于工作组、部门和企业,利用底层DBMS结构的优点实现以下功能:1 支持海量的,连续的GIS数据库;2 多用户的并发访问;3 长事务和版本管理的工作流。基于数据库的geodatabases可以支持海量数据以及多用户并发。在众多的geodatabase实现中,空间地理数据一般存放在大型的binary object中,ESRI发现插入和取出这样的大对象,关系数据库是非常高效的。而且,GIS数据库的容量和支持的用户数远大于文件的存储形式。GeodatabaseDBMS注释个人geodatabaseMic
44、rosoft Jet Engine(Access)单用户编辑2GB大小限制不支持版本管理多用户,版本管理geodatabaseOracle Oracle with Spatial 或者LocatorIBM DB2IBM Informix Microsoft SQL Server需要ArcSDE多用户编辑基于版本管理的工作流数据库大小和用户数限制依赖于数据库表 2 :个人和多用户 geodatabase 总结 要素 矢量要素(即用矢量表示的地理对象)是常用的地理数据类型,非常适合表现边界不连续的要素,如井,街道,河流,省和地块等。要素就是带有位置属性的对象。通常,要素由点、线、多边形或者注记来表
45、示。同类型要素的集合叫做要素类,集合中的要素具有相同的空间表达和属性集合(如表示道路的线性要素类)。常用的矢量要素栅格 栅格数据用来代表连续的层,包括等高线,坡度,温度数据,降雨量等。航拍照片和各种图像一般都用栅格存储。用栅格数据集存储图像数据除了栅格数据和矢量数据,其他类型的空间数据也可以存放在关系表中,这样通过DBMS可以管理所有的地理数据。Geodatabase 用于管理和存储多种地理信息类型的集合 数据库的关键概念 Geodatabase体系结构基于一系列简单,但是非常重要的数据库概念之上。DBMS提供了一个简单但是严谨的数据模型用于存储和操作表中的数据。用户趋向于认为DBMS本身是开
46、放的,因为关系数据模型的简单性和灵活性可以使其支持各种应用程序。关键的DBMS概念包括:数据存放在表中; 表包含了记录; 所有表中记录包含了相同的列; 每个列都有数据类型,例如Integer,Decimal number,Character,Date等 关系用于关联一个表的记录与另外一个表的记录,一般通过表中相同的列来进行,这两个列被称为主键和外键。 基于表的数据集具有相关的完整性规则。例如,每个记录具有相同的列,而域列出该列合法的值的集合或范围。 具有一系列函数和操作符,称作SQL,来对表和数据进行操作 SQL操作符用来对常规的关系数据库的数据类型进行操作,如Integer,Decimal
47、number,Character等。 存放在geodatabase中的空间数据,如要素类或者栅格数据,也遵循这些DBMS的规则。表中的一个列存放了每个地理对象的空间信息:比如,要素类表的shape列存放多边形的形状。可以利用DBMS中的多种数据类型来存放空间数据,比如BLOB(binary large object),或者一些DBMS扩展的空间类型,比如Oracle空间扩展模块提供的空间数据的存储类型。SQL可以操作表中的行,列和类型。列类型(数值型,字符型,日期型等)是SQL代数中的对象。DBMS管理这些简单数据类型和表,同时其他的应用逻辑实现更复杂的对象行为和完整性约束。开发者可以通过编写代码为对象添加行为和逻辑来实现更高级的对象。如,一个组织机构实现一个命名为EMPLOYEES的表:姓名入司时间收入CrosierJames10-10-9810,000ClarkRosemary03-12-9555,000BrownPete06-12-8923,000一个简单的包含行和列的关系数据表。每列都有特定的数据类型,如字符,日期和带两位小