基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-(GIS)地理信息系统简介

先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/

我的新浪微博:http://weibo.com/freshairbrucewoo

欢迎大家相互交流,共同提高技术。

 

1 地理信息系统(GIS)

    GIS可以从三个不同的角度理解,第一GIS就是空间数据库,是一个包含了用于表达通用 GIS 数据模型(要素、栅格、拓扑、网络等等)的数据集的空间数据库。GIS将空间数据组织成一系列的专题图层和表格。由于GIS中的空间数据集具有地理参考,因此它们具有现实世界的位置信息并互相叠加。在一个 GIS中,同类型的地理对象集合被组织成图层,例如地块、水井、建筑物、正射影像以及基于栅格的数字高程模型(DEM)。由在空间上相互联系的图层组成数据集。

    第二GIS就是地图,GIS 是一套智能地图,同时也是用于显示地表上的要素和要素间关系的视图。底层的地理信息可以用各种地图的方式进行表达,而这些表现方式可以被构建成“数据库的窗口”,来支持查询、分析和信息编辑。空间可视化是指生成地图以及其它地理信息的表现形式,包括交互式地图,3D 场景,简报, 图表,基于时间的浏览以及表现网络关系的图解示意图。GIS 地图类似于静态的、打印出来的地图,所不同的是你能够交互地使用它们。你可以方便地漫游、缩放一幅交互式地图,可以让某些图层在适合的比例尺下自动显示或关闭。你可以基于任意的属性给一个图层设置符号。

    第三GIS就是空间数据处理分析工具集,从空间处理的角度看,GIS 是一套用来从现有的数据集获取新数据集的信息转换工具。这些空间处理功能从已有数据集提取信息,然后进行分析,最终将结果导入到数据集中。GIS 是一系列地理数据集的和应用于这些数据集的操作工具。地理数据集可以是原始的量测(比如卫星图像),被分析者解析和编译出来的信息(例如道路,建筑物,土地类型),或者使用分析和模型运算从其他数据源中得来的信息。空间处理指的是用来生成派生数据集的工具和处理过程。

    ArcGIS是GIS的一种产品,对于GIS的三种理解在ESRI ArcGIS中分别用ArcCatalog(GIS是一套地理数据集的观点)、ArcMap(GIS 是一幅智能的地图)和 ArcToolbox(GIS 是一套空间处理工具)来表达。这三部分是组成一个完整 GIS 的关键内容,并被用于所有GIS应用中的各个层面。ESRI公司的ArcGIS系列软件是一个全面的、完善的、可伸缩的 GIS 软件平台,无论是单用户,还是多用户,无论是在桌面端、服务器端、互联网还是野外操作,都可以通过ArcGIS 构建地理信息系统。

ArcGIS Desktop是一个专业GIS 应用的完整套件。ArcGIS Desktop 是一个集成了众多高级GIS 应用的软件套件,它包含了一套带有用户界面组件的Windows 桌面应用(例如,ArcMap,ArcCatalog ,ArcToobox、ArcScene 以及ArcGlobe )。可以利用这些工具来设计,共享,管理和发布地理信息。ArcGIS Desktop 有三种级别的产品:

     (1)ArcView(基本版):提供全面的制图、数据使用及分析、简单的编辑与数据处理功能。

     (2)ArcEditor(进阶版):具有ArcView的全部功能、此外包含高级的编辑功能、可实现对Shape文件和Geodatabase地理数据库的编辑。

     (3)ArcInfo(专业版):是全功能的桌面级GIS旗舰产品。它提供了比ArcEditor 更多的功能,可以实现高级的地理空间数据处理。还包含了早期的,基于命令方式的GIS产品――ArcInfo Workstaion。

     (4)ArcGIS Engine是开发GIS 应用的嵌入式开发组件,使用ArcGIS Engine,开发者在C++、COM、.NET 和Java 环境中使用简单的接口获取任意GIS功能的组合来构建专门的GIS应用解决方案。开发者通过ArcGIS Engine 构建完整的客户化应用或者在现存的应用中(例如微软的Word或者Excel)嵌入GIS逻辑来部署定制的GIS应用,为多个用户分发面向GIS的解决方案。ArcGIS Engine 是面向开发人员的一个产品。

     (5)服务器GIS包括ArcSDE,ArcIMS和ArcGIS Server。ArcSDE是一个在多种关系型数据库管理系统中管理地理信息的高级空间数据服务器。ArcSDE是一个位于ArcGIS 其它软件产品和关系型数据库之间的数据服务器,其广泛的应用使得在跨任何网络的多个用户群体中共享空间数据库以及在任意大小的数据级别中伸缩成为可能。ArcIMS是是一个可伸缩的,通过开放的Internet协议进行GIS地图,数据和元数据发布的地图服务器。ArcIMS 已经在成千上万的应用中部署了,主要是为Web上的用户提供数据分发服务和地图服务。ArcGIS Server是一个应用服务器,包含了一套在企业和Web框架上建设服务器GIS应用的共享GIS软件对象库。ArcGIS Server是一个新产品,用于构建集中式的企业GIS应用,基于SOAP的Web services和Web 应用。

    (6)ArcPad 是ArcGIS 实现移动GIS 和野外计算(如需要记录和登记突发性事故的空间信息)的解决方案,这些类型的工作可以在手持计算机设备(运行Microsoft Windows® CE 或者Pocket PC)或者平板电脑上完成。

2 空间数据表示

    空间数据是用来描述来自于现实的目标,将数据统一化,借以表明空间实体的形状大小以及位置分布特征。定位是指在已知的坐标系里空间目标都具有唯一的空间位置;定性是指有关空间目标的自然属性,它伴随着目标的地理位置;时间是指空间目标是随时间的变化而变化;空间关系通常一般用拓扑关系表示。空间数据是一种用点、线、面以及实体等基本空间数据结构来表示人们赖以生存的自然世界的数据。空间数据是数据的一种特殊类型。它是指凡是带有空间坐标的数据,如建筑设计图、机械设计图和各种地图表示成计算机能够接受的数字形式。

    空间数据的格式有很多种,目前常用的空间数据交换格式有:ESRI公司的Shape Files、E00格式;AutoDesk公司的dxf、dwg格式;MapInfo的mif格式以及Intergraph的dgn格式等;另外美国国家空间数据协会(NSDI)定义了统一的空间数据转换标准SDTS(Spatial Data Transformation Standard),中国地球空间数据转换格式国家标准和OGC的GML等。

    存在着这么多种的空间数据格式,它们之间的转换也是GIS相关技术的一个重点,也是一个难点。虽然许多软件提供了空间数据格式转换的工具,但是由于地理信息的复杂性,同时缺乏对空间对象的统一描述,使得不同数据格式描述空间对象时采用的数据模型不同,在转换过程中可能造成数据的丢失,因而转换后数据不能准确表达源数据的信息。另外这种模式需要将数据统一起来,违背了数据分布和独立性的原则。因此在数据格式转换模式中,空间数据转换标准和面向网络的空间数据的动态集成将是未来研究的热点。

3 元数据

     元数据(Meta Data)就是关于数据的数据或者叫做用来描述数据的数据或者叫做信息的信息。这些定义都很是抽象,可以把元数据简单的理解成最小的数据单位。元数据可以为数据说明其元素或属性(名称、大小、数据类型等),或其结构(长度、字段、数据列),或其相关数据(位于何处、如何联系、拥有者)。例如,生活中我们填写的《个人信息登记表》,包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等这些就是锁定某一个人的元数据。

通常情况下元数据可以分为以下三类:固有性元数据、管理性元数据、描述性元数据。固有性元数据是与事物构成有关的元数据。管理性元数据是与事物处理方式有关的元数据。描述性元数据是与事物本质有关的元数据。当然,并不是说所有数据总能清晰的划分在以上3类中。

     元数据对于信息架构有着非常重要的意义。元数据是一种很有效的方法,用以确保网站上各种形式的内容确实都能被查找到。比如我们常常为搜索很久之前看到的一张美女图片犯愁,而如果一个图片网站如果信息架构足够好,我们就能凭借我们回忆到的元数据清晰的找到。元数据之于信息架构就像是房子的砖瓦,它可以根据需要摆放成不同的信息检索系统。元数据是所有组织系统的基础,从搜索到电子商务网站上的导航系统都强烈的依赖于元数据。前面提到,元数据实际上是为产品的可查找性服务的,而用户在查找信息的时候不会按照机器思维去找,而是直接输入关于信息的描述性信息,如:“小狗 圣诞卡”。也就意味着在创建关于描述性元数据的时候要尽量的提取出任何关于这个对象所讲述的故事,这些才是人们能记住的和习惯搜索的细节。

GIS当中也用到很多元数据[2],这些元数据主要是对空间数据进行描述的数据,它以结构化的形式描述了地理数据集的内容、质量、表示方式、空间参考、管理方式以及数据集的其他特征。它不仅可以提供对空间信息数据的搜索、导航,而且便于数据的转换、维护、理解和使用。它是实现地理空间信息共享的基础,是数字地球的重要技术支撑条件之一。

4 基于C# 的ArcObjects GIS应用开发

    ArcObjects是美国ESRI(Environmental Systems Research Institute,Inc.)公司提供的一个GIS技术框架,它是基于Microsoft的COM技术开发的一套COM组件对象集,这个组件集提供了几乎全部的底层GIS功能,就连ArcGIS软件本身都是使用ArcObjects的组件开发出来的。由于ESRI开发了这个组件库的APIs,因此普通程序员也可以使用ArcObjects开发自己的GIS应用程序。

     使用ArcObjects进行的GIS二次开发,就是采用通用的软件开发平台如C#.NET、VB.NET、VB、Visual C++、Delphi、PowerBuilder等,按照项目的具体需求将ArcObjects的功能组件重新进行组装,以集成一个更强大、更复杂的COM组件或应用程序的过程。使用ArcObjects进行组件式GIS二次开发[4],是目前最流行、最灵活和最稳定的GIS开发方式。

C#是.NET平台的母语,虽然.NET也支持Java以为的各种主要语言,但要开发.NET平台的应用程序,C#显然是第一选择。事实上,.NET平台本身的许多重要应用(比如ASP.NET)就是用C#编写的。所以,本系统的开发语言采用C#.NET。

posted @ 2011-11-25 00:46  蔷薇理想人生  阅读(1506)  评论(1编辑  收藏  举报