什么是开放GIS?
开放GIS就是网络环境中对不同种类地理数据和地理处理方法的透明访问。开放GIS的目的是提供一套具有开放界面规范的通用组件,开发者根据这些规范开发出交互式组件,这些组件可以实现不同种类地理数据和地理处理方法间的透明访问。
从小型产业到全球空间数据基础机构
开放GIS协会的OGIS工程技术委员会已经完成了一系列文献的第一部分,包括OGIS。第一本叫《开放GIS交互性指南》,它全面而深入地阐述了OGIS,接下来出版的OGIS文献将包括高级技术语言,这种语言是一种完全意义上的执行语言,不需要解译。它的说明书将在1996年初由GIS世界有限公司出版。
这是个好消息,但OGIS并非OGC的最终对象,《开放GIS交互性指南》的出版不是OGC的第一个重要里程碑。OGC的真正功能是在地理信息领域制定一个规范来统一我们的行业,并把这种规范融入到更宽的技术领域和更大的市场中,使它成为全球信息基础机构不可分离的一部分,全球信息基础机构主要是组织世界性活动和解决重要环境和基础设施问题的机构。
类似的工作在其它行业已经取得了成功。95年9月在维吉尼亚的Reston召开的世界GIS地理学技术官方会议上,SEMATECH的Robert Scace描述了正在进行R&D合并的美国半导体行业,这种合并是恢复美国竞争机制的手段。
国际竞争不是OGC所要解决的问题,OGC所要解决的是把本行业从信息技术这个大行业中分离出来。长时间以来,GIS只不过是一个“家庭手工业”,它的很多方面与机械行业在工业革命前的受限情况相似,不过现在这种情况已经得到了改变。
目前,GIS软件开发正朝着组件式GIS方向上发展,因为在上两个世纪,组件式这一基本原则已经加强了技术上的优势:例如,通过先把一个复杂繁琐的大问题划分为一个个更易解决的小问题,从而成功地进行了工程分析。充分利用现有的零件和材料就可以进行组装制造。一套可行性标准的出台、商品和物质的丰富更使组件式成为了现实。
过去,工程原则趋向于从技术和工艺向既定的程序和方法发展。虽然革新者和发明家用直觉和强制力量得出了新产品和成果,但这种进步是偶然的,材料的运用效率很低,商品化的进程很慢。一般情况下,初始阶段后紧接着的是学习技能阶段,在这个阶段中每个人都模仿革新者而成为熟练的从业者。但象工匠一样,他们的行业受到缺乏标准、专门化和基础设施的限制。科学和工程学把规范和理论框架提到了日程上,发展变得更有预见性,人们倾向于他们的专业领域,数量,质量和应用激增,是标准和其它基础设施支持了这种发展,整个市场价值和规模扩大。也正是标准确保了商业存在于技术和可交换的商品上,这成为了一个工程师工作的一部分,在我们这里,可以说,它成为了一个GIS开发者或一个信息分析者工作的一部分。
设想GIS处于一个支持分布式计算、对象技术、组件式软件、中型软件、多媒体软件和软件底板模式的现代软件标准框架中,OGC已经使GIS达到了一个具有既定的软件程序和具有了专家地位,并且已得到了市场的肯定。在商业领域如电讯、企业信息系统和数据可视化中的非GIS专业人员如战略家、决策者和实施者-------把GIS当作重要的商业因素来考虑。遗憾的是现在的GIS专业人员却忽视OGIS产品,
《开放GIS交互性指南》中的一个新概念“信息通讯”对GIS的普及起着重要的作用。OGIS的第一版将规范空间属性和几乎所有信息行业所需要的支持。然后,OGIS将提供一个标准方法,通过这种标准信息行业(整个工业的“技术授权者”)可以为在他们学科或行业中使用的空间数据编纂符号,开发方法和使用权限,也就是说,因为学术评论委员会和专业组织协会提供了符号定义,“基础OGIS”将会被扩充,学术评论委员会和专业组织协会的职责就是为他们的用户建立符号和编译规则的,这些符号和编译规则将确定“基础OGIS” 和其它学科空间符号的信息行业界面。
许多现有的空间数据标准化工作将被融入到这一过程中去,当然FGDC的功劳最大。因为为了满足水道测量者、土地学家、计算机制图者和运输规划者对空间数据的特殊要求。FGDC建立了14个不同专业领域的协会。
我们的共同努力会产生一个统一的、可扩充的空间语言方案,这种空间语言方案能应用于所有空间数据,包括以后几年内收集的空间数据(这些数据等于所有以前收集的数据)还有以后更长时间里收集的空间数据。
OGIS如何跨分布式计算平台
整个信息技术产业中,分布式计算平台(DCPs)和对象技术使得把非专业的组件集成到用户特制的系统和产品中变得更容易。在我们行业中,具有地理数据处理专长的系统集成者现在是机会的宠儿,因为他们可以把不同领域的价格低廉,实现不同功能的地理数据处理模块集成到他们的客户信息系统中。
IT行业正缓慢地向不同DCP间的完全交互性方向上发展,这些DCP主要包括OLE/COM、CORBA、CDE和新生物Java。每个DCP都有它自己的优势和不足,都有一个交互性策略来满足不同的要求。商家们各自推出自己的平台去占领市场,与此同时,市场迫使他们为开发者提供在不同DCP间可进行交互性操作的方法。用户要获取这种交互性必须支付一定的费用,因为没有一个用户能仅仅通过一种DCP就可以实现他想要的所有性能。
为使网络DCP真正具有地理数据交互处理功能,OGIS工程技术委员会把OGIS作为“总体规范”。也就是说,虽然OGIS在开放地理数据模型和OGIS服务模型方面描述得相当详细,但它在编程语言和DCP服务方面却描述得很笼统。由一个软件厂家为OLE/COM写的OGIS应用软件(中间软件或组件软件)必须能与其它厂家或在CORBA或Java环境中的积分器程序写的OGIS应用软件对话,也要能与为GIS数据库写接口的GIS-compliant C++语言编写的OGIS软件对话。
为在DCP内部实现交互性,每个DCP都必须是一个“执行规范”,这个规范为OGIS的应用软件、中间软件和组件建立一个使用DCP服务器的标准方法,执行规范对开发者来说也很重要。但是如果开发者能严格执行规范的话,用户就不用再过多地考虑这些规范了。
总体规范和执行规范有不同的开发过程:开放地理数据模型和OGIS服务器模型的基本要素这些总体规范已经由OGIS工程技术委员会以大多数通过方式拟定下来,OGIS执行规范正由几个工作成员开发,OGC为它们提供一个合作空间来推动网络DCP的交互性以减少重复工作。
第一个成功开发出某个DCP产品的厂家也是这种DCP的OGIS产品的第一个市场开拓者,为满足客户对交互性的要求,所有正在开发其它DCP的OGIS产品的人员都要与第一个市场开拓者合作。因为制定一个成功的执行规范最基本的要求是要与总体规范一致。
为在CORBA中建立一部分OGIS执行规范,OGC的专业综合者、系统厂家和软件厂家密切注视一个正要出台的UCLA成果,它是用于CORBA DCP的OGIS执行规范,是一个有用的附加产品。例如一个集成者发现程序员利用CORBA地理数据处理对象集成一个基于OGIS的大型大学数字图书系统只需要两天,这说明对象编程确实为地理处理系统提供了强大的集成能力。
OGC交互技术开发开始走向成熟,开发者们正准备迎接成果,在它们的出售和市场操作过程中,厂家和集成者开始讨论OGIS计划。它们正在寻找演示版、早期的成功事例、新的机会和新的能从自动地理数据集成和对分布式地理数据和地理处理源中受益的客户。
OGC用户和数据提供者希望尽早使用OGIS技术来为它们的用户提供最大限度的服务,它们的用户可能是纳税人、代理机构、Fortune1000公司,也可能是使用国际互联网的学生。如一月份《GIS世界》中一篇叫做《USDA 自然资源守恒服务程序》的文章中所说的,了解GIS界对机构的获取方案、组织转变方案和商业模式转变方案都有帮助。对机构、商业、研究人员和技术提供者来说,随着方案的执行预期的获益越来越接近现实,人们开始把分布式地理数据处理与他们的设想结合,切实考虑改进工作流程,使数据共享和获取变得更容易,减少软件和数据费用,定制解决方案,启用复合文件,更易访问空间地理处理工具,多种格式数据输入功能如实时空间可视化。我们可以在网上任意搜索地理信息。
1概述
1问题:地理数据处理无交互性
地理数据是用来描述与地球表面时间和空间位置有直接或间接关系的现象的信息,这些信息的数据化采集方式已有30多年历史。随着技术的进步,如高分辩率卫星成像、全球定位系统,同时也随着采集和使用地理数据的人或组织的增多,地理数据的采集率迅速增长。信息技术工作者逐步意识到用地理位置来检索数据是组织和使用数字式数据的基本方法,因此地理数据的采集率还将继续增长。
表1-1 地理数据的质量和地理数据采集率
在过去的25年里,已经开发了很多查询、贮存、分析和查看地理数据的方法,这些方法彼此独立,本书中所写的地理数据是指所有以数字形式存贮的地理信息,例如包括如下几个方面:
数字地图,其中区域如土壤类型区、行政区、某一区域范围内平均家庭收入、选票区和其它有边界的实体由矢量包围的区域即多边形来表示。
“栅格”影像数据,如多光谱土地资源卫星影像和SPOT影像、数字正射影像、多边形土地利用栅格数据、任意试验区域内土壤氮含量级别。
点矢量数据,如测量控制点、水井、无线天线、独立树、那些易被雷电击中的地点、GPS跟踪的卡车或巡逻车位置、数字黄页中最近的硬件存贮器或数学辅导。
线矢量数据,如交通分析系统中的高速公路、所有权勘定中的界限或范围、输气管和了卫星移动电话微波通讯线路。
三维现象的夭量表示法,如垃圾堆下土壤污染程度的统计预测、飞行模拟器数据库中的虚拟地形、飓风模拟、从地面控测雷达测得的地球外属性模型和用于城市应急办公室的设备模型中的石油精炼设备。
空间或时间数据,如显示随着城市蔓延,农田损失的动态时间系列、随着时间的变化,河口排污的水深模型以及放在冷冻运输机上的GPS接收器的跟踪记录。
地理数据格式趋向于复杂化,因为它们代表的信息范围更广,所以比其它数字式数据格式更复杂。通常,它的复杂性是由特殊软件应用程序或采集方法决定的,这些程序或方法因为高水平的描述、转换和个人或组织的规则以及软件应用的规则增加了复杂性。
使用和建立地理数据的软件本身就各不相同而且很复杂,我们把地理数据处理定义为利用地理数据进行各种数字化计算,如地理信息系统(GIS)、土地信息系统(LIS)、地球影像和图像处理、各种数据库中地理数据的贮存、数字化测量、导航、气象学、地震学、利用地理数据的计算机辅助绘图(例如设施管理、国内工程)、交通运输管理、数字绘图、商业地理、飞行模拟等很多种类。地理数据处理软件帮助用户回答如下问题:某事物的位置、某种情况或空间关系情况发生的位置、一个给定的时间段中什么发生了变化?最佳路线是什么?如果某个环境状况发生变化会怎么样?
因为人们对环境问题越来越关注、而且有用地理数据和地理处理工具的激增,政府和商务所承受的压力更大,从不同来源集成地理数据变得越来越重要。数据共享的原因很简单,我们只有一个地球。以上列出的所有地理数据实例可以指同一城市中的地理属性。在地理区域上只有一个西班牙,但在数字主题图中有许多个西班牙,它们分别代表不同的物质、文化和经济主题。在许多领域,人们都需要自己的专题图并通过GIS中把它们与其它专题图结合起来完成以上提到的任务。因此我们必须共享数据,但数据的共享很麻烦且容易出错,有时根本不能实现。
想想这个假设但又是现实中的例子:美国环境保护组织收集Massachusetts(麻萨诸塞州)和Worcester关于土壤污染的信息,为什么Worcester卫生部或麻萨诸塞州环境保护部能使用它们自己的计算机获得信息并利用这些信息来分析而得出报告结果?
以下是上述例子的原因:
这三个部门可能用的是不同的GIS软件平台,建立和使用三种不同的数据格式,也就是说,不同的数据格式如AutoCAD的数据格式与微软Excel的数据格式是不一样的,这就涉及到“数据转换”问题。在“不同GIS平台”间,把EPA的数据格式转换成MEPD或WHD能使用的数据格式很麻烦,但用由一个或几个软件平台厂家共同支持的翻译器可以实现这一转换。与AutoCADt和Excel间交换数据一样,EPA数据格式转换成MEPD或WHD的数据格式时某些信息可能被丢失,因为两个系统的数据表达方式不完全相同。
假设三个机构运行同一版本的GIS软件(在同一硬件平台的同一操作系统中就能排除一些其它的潜在技术上的障碍),我们可以肯定EPA会使用与其它州或地方机构不同的方法或标准来采集信息。因此,如果MEPD和WHP可以单独地采集污染数据,这些数据就不能与EPA数据通用。温度和土壤湿度信息按贯例由MEPD来采集,不由EPA采集,尽管其它所有取样参数都相同。但数据还是会存在着某些差别,MEPD数据采集者需要调整他们的分析器重新进行计算。EPA采集的温度可能以摄氏度为单位,但WHD以华氏为单位;而且EPA采用径纬度坐标参考系,但MEPD用的是国家平面坐标系。可以通过坐标转换软件来进行坐标系的转换,当然也可以进行温度的转换(可能会用到少量的宏指令编程),但这种转换很麻烦,可能引发错误。或许EPA开始采集土壤温度数据时记录了这种采集方法,但采集和表示土壤湿度的方法有很多,以前WHD的数据收集方法没有记录下来,而且WHD对他们的数据可能会有错误的估计,这种错误估计的影响又怎样计算呢?
制度上、经济上和法律上的障碍:EPA可以保存和出版包括坐标系、土壤取样参数和土壤湿度测量方法的“元数据”吗?EPA不知道用户是用半英寸磁盘、CD-ROM还是通过WEB网页来获取他们的数据?EPA是否可以获得数据查询和管理的费用?WHD购买了数据后,它可以与其它个人咨询者共享这些数据吗?
这个简单的例子说明了美国政府为何每年花4亿多美元用来转换数据,欧共体在制度上与美国有更大的差异,面临着更复杂的数据转换问题。我们广义地称这些障碍为“无交互性”。全球范围内,只要建立和使用地理数据的地方,人们都面临着这些问题。
2开放GIS规范:对整个行业问题的回答
开放GIS协会(OGC)----一个公益的行业协会,致力于促进地理数据处理方法的新技术和商业方法的互操作,它成立于1994年,当时已经广泛认识到了无交互性的问题以及它对行业、政府和学术界的许多负面影响。OGC的成员都有一个有关国际和全球信息基础设施的乐观设想,地理数据和地理处理数据源能自由访问,完全与最新的分布式计算机技术集成,每个人都可以自由访问,“可用的地理数据”----一个目前还没有进入地理数据处理方法领域内,但是一个涉及范围很广的活动,开拓了新的市场、带来了新的商机、给社会带来新的利益。地理数据处理软件厂家、数据库软件厂家、可视化软件厂家、系统集成者、计算机厂家、通讯公司、大学、信息提供者和正版软件经销商都加入了协会共同制定软件规范、进行新的商业策划来帮助解决这些问题,实现潜在功能。
OGC的软件规范就是开放GIS规范,它是一个通用的分布式访问地理数据和地理处理数据源的软件结构规范。开放GIS规范为全世界的软件开发者提供了一个详细的通用的界面模板,这个模板可以与由其它软件开发者开发的开放GIS软件进行交互操作。如本书以后几章所描述的开放GIS框架包括:
数学上、概念上用数字表示地球和地球现象的通用方法。
执行访问、管理、处理、表示和在信息协会间共享地理数据的通用模式。
使用开放地理数据模型和开放GIS服务模式来解决技术和制度上无交互性问题的框架。
开放GIS规范将在几年时间内分几个部分完成和发布,如本章所讲,它包括总体规范和一系列执行规范,以便在不同的已经完成和正在开发的分布式计算平台(DCPs)上执行,它包括对象管理组(OMG)开发的通用对象请求代理程序、微软开发的对象链接和嵌入以及通用对象模型(OLE/COM)、开放软件基金会开发的分布式计算环境(DCE)、SunSoft开发的Java等等。
表1-2 开放GIS规范在构成地理处理方法上所起的作用:
表1-2说明了开放GIS规范是建立在通讯技术和客户服务技术(包括DCP技术)基础上的,OGC一致同意建立开放GIS规范,使软件厂家提供带有即插即用地理数据处理工具接口的软件,集成者可以用这些工具为信息系统建立地理数据处理功能,计算机界正向组件式软件和网络计算机上发展,开放GIS接口能使地理数据处理方法取得进展。
通过OGC与国际标准技术委员会(它参与了地理空间、ISO TC/211标准的制定)的密切合作,开放GIS正逐步成为一个正规的国际信息技术标准。在开放GIS规范成为权威上的标准之前,厂家和其它OGC成员已经在商业软件产品、商业集成工程、政府数据中心和学术研究机构中已使开放式GIS规范成为一个独一无二的标准。因为它已经与商业软件结合,致力于地理数据处理方法的互操作和地理数据的共享,所以开放GIS规范很可能在将来很长一段时期内成为互操作地理数据处理方法的基础。
2 开放GIS概述
1开放GIS规范是做什么的?
开发者用开放GIS规范的界面建立系统的过程中要开发一些过渡软件、组件软件和能处理所有类型地理数据和具有地理数据处理功能的应用软件。这些系统的用户可以共享一个巨型的网络数据空间,数据可以在不同的时间由无关的组织用不同的方法为不同的目的采集的,也可以处于早期的控制系统之下。具有开放GIS规范统一界面系统中的地理数据可以被其它所有具有开放GIS规范统一界面的软件访问。
这些界面要使标准桌面PC机或运行低档开放GIS绘图应用软件的手提电脑的用户能够通过制图软件中简单图形选取功能在网上查询远程数据服务器,远程数据服务器贮存一些商用的地理数据、这些数据存贮在配置有开放GIS界面的通用关系数据库管理系统(RDBMS)中,一部分数据也许是几年前在Genasys、Intergraph MGE、或ESRIARC/INFO系统中采集的,也可能是一套共用的关系型数据库记录集,用户利用绘图应用软件进行查询时,记录集的街道地局限在满足用户查询条件的区域,由于客户绘图软件存在着不足,信息在传送过程中可能会丢失一部分,但服务器和绘图应用程序可以把信息的丢失的大概或详细情况通知用户。
用户还能从远程服务器请求获得地理数据处理服务,一些价格较低的绘图应用软件就可以下载GIS功能的工具条,这些工具条可以控制高级的、功能强大的远程GIS服务器。
在许多分布式地理数据处理应用软件方案中,为了得到一个答案,这些应用软件可以到多个服务器上进行查询。基于网络的过渡软件对这一功能的实现起着重要的作用。
开放GIS规范为软件开发者提供了框架,根据这些框架开发的软件可以使它们的用户在一个开放信息技术的基础上通过一般的计算界面就可以访问和处理不同来源的地理数据。
“软件开发者的框架”意味着开放GIS规范是一个全面的、通用的具有交互性的地理数据处理方案的详细软件规范。
“访问和处理”在本文中意味着地理数据的用户可以远程查询数据库并控制处理源,可以利用其它分布式计算技术,如软件从一个远程环境传送到用户当前环境临时使用。也就是说基于组件式软件或复合文档环境的应用程序可以进行地理数据处理。
“不同来源”意味着用户可以以不同方法访问数据,可以把数据贮存在不同的相关或不相关的数据库中。
“通过一般的计算界面”意味着开放GIS界面为所有使用这种开放界面的软件间提供了可靠的通讯,也就是说,所有具有开放GIS界面的软件间可以进行互操作来发送和接收数据。
“在开放信息技术环境中”意味着开放GIS规范使地理数据处理方法应用在所有网络版GIS环境、遥感、控制和限制数据库的AM/FM系统、用户界面、网络和数据处理中。权威的计算范例从封闭系统转向开放系统,从孤立转向实时互操作系统,从固定包装的独立应用软件转向配有为用户提供更灵活功能组件软件的应用软件环境。
2.2开放GIS规范是如何有利于开发者、管理者和用户的?
全球信息社会正迅速地发展,Internet和其它计算机网络为数以亿计的用户提供刚刚起步的的数据源和服务器的访问。这一技术为大多数地理数据和地理处理源的用户带来了极大的方便。大型组织通过广域网集成地理数据和地理处理源,小型组织也一样。在桌面环境中,不同地理数据和地理处理源必须集成到有用的工作中。开放GIS规范方便了网络环境和桌面“复合文档”环境的集成。十年内,成千上万个全球定位系统(GPS)装置将被安装在汽车、移动电话、商务通、个人定位器、农业和推土设备、航运集装箱。基于开放GIS规范的专用设备将辅助GPS装置的利用。
应用软件开发者、信息管理者和终端用户构成了全球计算革命----他们受益于开放GIS软件体现在以下几个方面:
应用软件开发者进行二次开发变得更容易、更灵活:
可以开发访问地理数据的软件;
可以开发访问地理数据源的软件;
可以集成空间和非空间数据为不同的用户定制不同应用程序,;
可以选择自己熟悉的二次开发环境;
应用软件可以在不同操作平台中运行;
重新进行地理编码;
信息管理者在以下方面有更大的灵活性:
访问或分配地理数据;
为用户提供地理数据处理能力;
把地理数据和处理方法集成到可以交互使用的计算体系中;
选择合适的操作平台----个人计算机类型、服务器类型、分布计算机平台类型(CORBA,OLE/COM,DCE等)
为用户配置合适的地理处理工具;
终端用户是最终受益者:
可实时访问的地理信息比当前可访问的地理信息多得多;
更多的应用软件(中间软件和复合文献)可以利用这些地理信息。
具有使用同一应用软件环境中具有不同格式的地理数据的能力,与数据的类型和格式的细节无关,这些地理数据是一个连续不断的信息流关。
2.3开放GIS规范的范围是什么?
开放GIS规范直接与三个从不同来源访问和使用地理数据问题的两个基本方面有关:
取得连接:开放GIS规范并不是针对分布式计算平台这个领域而制定的,分布式计算平台可以使不同计算机上的应用软件间进行交互操作。DCPs是针对网络和不同用户的不同计算机系统间的通讯、安全系统、分布式数据库以及其它客户/服务器平台问题。开放GIS规范不重复这个领域中所做的工作,这些问题仍然由其它技术支持者来解决,开放GIS规范根据这些问题将不断地完善,开放GIS不只限于某个DCP。
找到服务器:这是开放GIS规范的职能,使应用软件能与其它管理、发送和处理地理数据的软件交互操作。它将解决如何设置服务器;怎样访问服务器;怎样确定一个查询是对数据的直接查询还是对数据操作的查询,或者对二者的查询。它定义了一套基本数据类型和对这些数据类型的标准操作的规范,这样就为数据提供者和数据使用者之间建立了一个交互性的通用框架,开放GIS规范为在地理数据和空间处理方法上具有不同方法、领域和句法的用户提供了数据的共享。
这些功能的实现依赖于对传送地理信息的通用数据模型以及对操作这些数据的行为方式的定义,为了保护对现有地理信息和地理信息系统的巨额投资,确保管理和处理地理信息新方法的引进,开放GIS规范修改了有关存贮数据和处理数据的概念的定义。
理解结果:这是对数据感兴趣的个人或组织的职能。他们提供了解译这些数据的内在涵义,精度,可访问程度等等的框架,这些数据内容的定义并没有考虑开放GIS规范。然而,开放GIS规范可以提供一个框架,通过这个框架,那些数据可以被提供者和使用者共享。
4开放地理数据模型、开放GIS服务器和信息协会
开放GIS规范定义:
开放地理数据模型:用基于对象或常用编程方法来为应用于特殊领域的地理数据的一种基本的通用地理数据建模形式。
开放GIS服务器具有如下几大功能:
1)可访问和处理在开放地理数据模式中定义的地理类型;2)提供为使用通用地理属性定义的用户间进行共享地理数据的功能,同时为使用不同地理属性定义的用户间提供转换功能。
具有开放地理数据模型和开放GIS服务器的信息协会的作用如下:
为共享一套通用地理要素定义的地理数据采集者和使用者提供一种有效的保持这种定义并编制和共享符合这些定义的数据集的方法。
提供了不同地理数据使用者和采集者共享地理数据的最佳方法。如国内的工程师、地质学者和农学家尽管由于他们的专业不同,所需土壤数据的类型也不同,但必须要共享同一套土壤数据,所以信息协会提供了在不同地理属性词典间进行自动转换的方案。
这些概念在以下章节中还会作详细介绍。
3技术对象和目的
1概述
OGC技术委员会打算获取本章所描述的的技术对象和目的,这种技术对象和目的为应用软件开发者提供了具体而详细的开放GIS规范,一部分规范是直接可实施的执行规范。本章描述的结构对象代表了应用软件开发者的观点,开发者按照开放GIS规范直接开发开放GIS地理数据处理软件、应用软件开发工具、过渡软件、软件组件以及现有工具和数据库的打包等。
3.2技术目的
开放GIS工程的目的是:使应用软件开发者能在单一环境和单一工作流程中使用和处理网上的所有地理数据和地理数据处理功能。
接下来将对这一目的作进一步说明:
“应用软件开发者”是开放GIS执行规范的基本用户,这个规范为地理数据和地理处理功能的访问定义了一个应用编程接口(API)。
地理数据包括所有在空间坐标系或临时坐标系中定义的以数字形式表示的自然的或人工的地理特征或地理现象。
“地理空间功能或方法”是指所有处理或操作地理数据的功能或方法。
“网”是指信息系统可访问的整个网络范围。
“处于单一环境和单一工作流程”是指用户工作流程为了完成某些特定应用软件工作对象,以分布式、合作方法通过网络、访问地理处理服务器和其它地理处理应用软件。这与当前系统迫使用户中断工作流程来完成繁琐的集成任务相对照的。开放GIS规范能建立一个环境,在这个环境中软件只为用户提供那些工作中确实有用的功能。
开放GIS规范主要是针对以下几个技术障碍而制定的:1)在地理处理协会内部;2)在地理处理协会和其它信息行业部门之间。
表3-1开放GIS通过交互性解决了地理处理方法的限制
表3-1说明开放GIS规范带来的进步,地理处理系统也叫作“单片集成电路”、“烟囱”或“封闭”系统,也就是说这种系统是在一个具有开放标准的系统服务器还没建立这前建立起来,所以还没有开放标准。早期地理处理系统必须开发专门的功能如显示、用户界面、数据通讯和数据贮存,直到最近,这些封闭时期的产物还存在于地理处理界。
使用传统地理处理应用软件和其它传统信息技术的组织具有几有单独的单片机应用程序,通常有相应平台的支持,共享计算方法和数据源的能力有限,应用软件间常有重复的功能和数据库。由于用户界面的差异,急需专业培训,这些应用软件不兼容一些新方法和新数据类型。这些缺点大大限制了地理处理技术的潜力的发挥。
与传统地理处理技术相比,开放GIS规范中定义的开放地理处理功能是建立在一个通用技术的基础之上的,根据这通用技术基础,软件行业可以建立地理处理应用软件和软件组件:
“可互操作”----开放GIS规范为地理数据和地理处理服务器提供了标准的界面,这些界面可应用于独立系统或通过互连网支持并支持地理数据间的访问、分布客户服务器地理处理操作和分布一对一的网络地理处理操作。
“信息协会的支持”----开放GIS规范为共享通用地理属性词典协会内部的用户和采集者间以及使用的地理属性词典不一致的用户和采集者间的数据共享提供了可能。
“普遍性”----开放GIS规范为所有信息技术应用软件提供了通过标准界面和协议使用开放GIS服务器的方法。
“可靠性”----分布式地理处理要求高水平的管理功能和集成性,开放GIS规范提供一个技术框架支持开放GIS特定方案,是开放GIS基础软件的购买者提供交互性的可靠保证。
便于使用----基于开放GIS规范的软件为地理数据和地理处理服务器采用的是统一合理的规则,应用软件的开发者不必害怕地理数据和地理处理的复杂性。
可移植----开放GIS规范独立于软件环境、硬件平台和网络。
共用----开放GIS规范支持共享的计算和共享的数据源。
开放GIS技术很容易与其它信息技术结合。
可升级----开放GIS规范软件一般具有“即插即用”的组件式地理处理软件,无论数据库大小,它都可配置到任何地理处理应用软件或标准计算环境中。
可扩充----开放GIS规范可以兼容新的地理处理软件和地理数据类型,对新技术毫无排斥,相反开放GIS规范正是依赖于这些新技术的,如分布式计算平台。
兼容----开放GIS规范为用户提供了无缝集成技术,保护了用户在传统数据和软件上的投资,现有地理处理软件和地理数据以及相关的信息技术与开放GIS地理处理软件对用户来讲在某种形式上是透明的。同时,开放GIS规范是兼容的与支持信息技术不重复,尤其是分布式计算平台和数据库管理系统。
可执行----开放GIS规范中指定技术的最重要的目的必须是可执行。
3.3怎样达到技术目的
为实现以上所述的目标,OGC已经集合了重要公司和机构的负责人在正式技术委员会中进行讨论,这些负责人在技术上达成了一致,过程总结如下:
技术委员会有两个首要任务:
核心任务力量主要是应用软件领域都使用的开放GIS规范的要素。核心力量中有特殊要求的组织(SIGs)集中于开放GIS总体规范中所写的特殊“核心技术”,这一任务建立了一个基础,一个把GIS、遥感以及其它地理处理规范集中在一个共享的整个地理处理框架中的统一方法,这个地理处理框架支持系统的交互、通讯数据的共享和处理源的共享。
主要的核心力量是SIGs,他们可以解决如下几个专业领域如电信、国防部、智能和运输的地理处理应用软件的特殊地理处理互操作问题。每个领域的SIG都可以查看这些专业领域中的“使用情况”,由此来评价软件开发者根据开放GIS核心技术开发的界面,是否能满足这些专业领域中的用户进行互操作。如果核心技术达不到这个要求,这个专业领域的SIG将扩充开放GIS总体规范。
一般情况下,规范提纲的完成就意味着一个新的开放GIS执行规范框架的构成(它可以指导软件开发者写“开放”界面的行业标准工程规范),经过技术委员会的一致同意,国家工作组或地方工作组会写一个需求建议通告全行业从而形成执行规范。这样,大部分RFP建议由各地理处理软件厂家来提,这些软件厂家由软件集成者和计算机公司支持,他们投资开发分布式计算平台。
OGC技术委员会的政纲和制度详细介绍了他们的工作,这些政纲和制度在OGC的公共网站上可以找到。
除了讨论和写一部分规范外,许多技术委员会成员也进行与开放GIS规范相关的软件开发活动,他们的经验可以被加到规范中去。同时技术委员会和管理委员会的成员也进行国家和国际标准的编写,所以开放GIS规范体现和影响了其它的标准化工作。
3.3.1统一地理数据模型的目的
开放GIS规范不只是“又一个数据标准”,它的地理数据模型提供了一套基本数据类型使任何地理处理系统都可以与其它地理处理系统使用地理数据模型的共享界面来进行互操作。统一的前提:
独立于编程语言、硬件和网络。
在定义、空间范围、特性和与其它特征的关系方面,符合地球特征的模型。
支持当前的、正出现的、和将来会出现的模型范例,包括当前对属性和层范例的支持,它们之间可以进行互相映射。
提供一个基本地理数据类型的明确定义。
支持时间元。
支持用户使用数据类型的扩充,包括可能的动态(随时间)添加。
提供界面友好的支持地理数据的交换。
提供描述空间参照系的机制,进行以地球为中心的转换(如投影)、空间转换或任意参照系的转换。
提供描述关于数据集的元数据的机制,包括实体属性模式。
提供一个固定的、综合的地理数据方法,在常规或对象软件中以定义了的类型表示。
为可能发生的扩展,与已有的地理数据标准协调。
3.3.2统一地理处理服务器的目的
开放GIS服务器规范定义地理处理软件服务器的行为,如服务器访问、交换、管理、处理并显示地理数据,这些服务器界面满足如下的条件:
独立于操作系统、编程语言、软件平台界面、硬件和网络。
在每个主要DCPs内部或DCPs之间操作,具有与这些环境稳定的接口。
与主要的数据库语言有固定的接口。
具有支持所用服务器动态扩充功能。
支持客户/服务器和即插即用功能。
支持数据共享和处理源共享。
在任何配置下能打包。
对于可能发生的扩展,与其它地理处理方法和信息技术标准协调。
3.3.3支持委员会内部资源共享的目的
开放GIS规范具有地理数据使用者间对信息和处理源的集成功能,特别是它将提供:
扩展基本开放地理数据模型的机制,因此,应用领域的使用者以可预见的方法扩展模型。例如,土壤科学家信息协会所有地理数据目录中引用的数据集将符合一个明确的地理属性定义,包括土壤类型,但这些科学家的研究可能覆盖递增的土壤类型和子类型,必须有一个固定的方法把这些加到它们信息协会的地理属性定义集中。用元数据、空间参照和命名特征描述数据集的机制。
描述和发布信息定义的机制,如可在同一协会中应用元数据模式和空间参照系。
建立与原有数据和分析系统一致的机制。
描绘新服务器界面的功能。
不同地理数据库和共享地理数据和地理处理源联合。
下一章,我们可以看到当前计算环境中开放GIS规范是如何满足这些要求的。
4信息行业地理处理交互性的基础
4.1概述
开放GIS工程在地理处理界是空前的,但它是以前的和正在进行的信息技术(IT)的提供互操作的模型。开放GIS规范本身在地理处理界是前所未有的,因为的交互性,开放GIS标准可应用于分布式计算技术和迅速发展的组件技术。
因为这一大部分技术设施是新建立的,并不是对所有的定义都通用,在产品或工程中执行开放GIS规范需要对这些技术设施进行根本的了解,我们在IT概念的根本基础上写这一章。
本章将对如下几个方面进行阐述:
如何通过规范获得交互功能。
建立通用地理空间类型作为互操作基础和描述使用对象范例类型的想法。
对客户和服务器的总体介绍,描述在客户/服务器环境下进行互操作。
解释了可插组件的计算模型,介绍了如何用互操作组件建立应用程序的关键概念。
4.2规范中什么是交互性?
开放GIS中的交互性是指软件组件间进行互操作以避免大量的转换工作、输入/输出障碍和由不同处理环境和数据引擎的访问障碍。“规范中的互操作”意味着软件开发者通过写符合通用标准的软件来获得互操作功能,例如应用软件编程界面(APIs)已经这样做了,但APIs一般要求程序员使用特定的操作系统和编程语言。
以抽象的层表达的规范比在特定操作系统(UNIX,DOS,VMS,等)、编程语言(FORTRAN,C++,Visual Basic等)、操作环境(Windows,X Window System等)或分布式计算平台(DCP,CORBA,OLE/COM,DCE等)中使用的规范应用更广泛,时间更长。为让软件开发者建立的地理应用软件能在当前的DCPs中或DCPs之间进行互操作,所以开放GIS规范是分层次的,有三个概念上的层次。(行业产生新的服务层次时,模型可以扩展到更多层次。)下面是正在设计的对象系统面向对象模型的贯例、定义和符号,这些模型是:
基本模型----“事实”模型,包括“真实”对象(实体、属性和关系)和即时事件。这是真实世界的编码结构。
规范模型----软件的通用模型,它处于什么状态,以及它因状态变化或有响应发生时(也是事件),它对这些刺激(事件或信息)做出反应的方式,也就是说,模型包括“理想”软件对象和“理想”事件。
执行模型----特殊执行软件环境中软件对象的模型以及在这些软件环境中软件对象是如何互操作的。模型是实际软件对象的模型,它具有类型、状态、属性和发送信息的功能。我们希望每一个执行规范的计算环境都有一个执行模型。见(4.2.1)。
面向对象模型与设计中描述了一个相似的分层结构,其中的层被称为对象、动态和功能。总体规范中的图表用一个与Rrmbaugh的OMT贯例略有不同的贯例,如Cook和Daniels中所列出的。
在一个特定的DCP中,规范以一定的时间间隔发生作用。例如:在CORBA环境中,对象格式的通用表示法允许对象在系统间或工具间交换。最低层次,制作和管理的详细句法和草案要求更容易的基础通讯。(对占支配地位的DCPs的详细描述见基本分布式对象指南)。
标准结构语言比DCP高级,如扩充的SQL2或C++,可以提供一个固定的应用软件或用户界面,如果API或用户界面要与更多DCP界面进行互操作需要大量的附加编码。在最高概念层次,地方标准促进了专业领域中交互性应用软件的正确使用,在开放GIS规范中,这是具有共享地理属性类型语义学的信息协会层次,详见第五章。
4.2.1开放GIS规范独立于分布式计算平台
所有主要分布计算平台(DCPs),包括微软的组件对象模型(COM)、对象管理组的通用对象要求代理程序结构(CORBA)、开放软件基础的分布式计算环境(DCE)、Sunsoft的Java,使用一个或多个上述的规范层次在组件间获得互操作。另外,它们都支持计算的客户/服务模型。但是不同的DCP用不同的规范语言,例如,OMG的IDL(界面定义语言)只是使用OMG的CORBA的开发者的理想规范语言。(要说明的是:ISO开放分布式计算委员会正在制定一个国际标准的草案使OMG IDL独立----例如,没有IORBA链接的IDL----界面定义语言国际标准)。
要写一个与编程语言无关的软件规范,规范编写者用一种象IDL的语言,它具有变换多种编程语言的能力,它们可以用一种或多种下列语言来写规范:正式逻辑语言、正式规范语言如Z、英语(或其它自然语言)或用图表技术如对象模拟技术(OMT)(见面向对象模拟与设计)。具有挑战性的地编写一个完整明确的规范,这独立于执行平台,能被开发者理解。OGC技术委员会用IDL、正式逻辑语言和英语相结合曾写过开放GIS规范,UML已经成为技术委员会提供对象类别和它们的关系和界面的图形和象素描述的主要方法,但它还需要其它界面描述方法如英语来解释在UML中不易表达清楚的地方。OMT图表、Harel状态表和正式成套理论还可以继续使用。读设计对象系统:由Steve Cook和John Danniels编写的《面向对象模型》是告诉了读者为什么这是一种好方法。
表4-1开放GIS规范是一个独立于DC的规范
技术委员会把开放GIS规范作为一个总体规范(例如:它独立于DCP)开发的,而OGC技术提供者开发DCP专门执行规范作为开放GIS总体规范的一部分与技术委员会发布的RFPs相对应。
如表4-1中所表明的,开放GIS总体规范指定了一个详细的软件通用类型代表来识别所有实际中的空间和时间现象。它必须从抽象到能在所有的DCP上以一定的时间间隔对执行软件起作用,就语言式DCP而言,无须规定软件如何神被执行。
为满足给每个DCP制定一个标准规范的需要,OGC技术委员会发布了提议,OGC的技术提供者要对这一提议做出反应。每个RFP负责编写开放GIS规范的一个部分。(开放GIS总体规范还由技术委员会继续开发和扩充,而一部分开放GIS总体规范通过RFP过程执行)。反应包括组成带有工作说明软件的规范,反应要在最后期限前做出。技术委员会经过反复审议接受或拒绝提议的过程,确保每个RFP得到一个满意的执行规范。到此为止,选出的RFP的技术提供者合作编写部分规范并在最后期限前划分工作。
通过这个RFP过程,技术委员会确保了及时发布执行说明书,说明书由技术提供者自行编写。(过程比这里描述的更细,细节写在“OGC技术委员会政策和过程”文献,可以在http:www.opengis.org查到。)
技术委员会希望执行规范与总体规范越相近用户越好,与其它DCPs的互操作性越强越好。DCP间完全互操作超出了开放GIS工程的范畴,由其它人员在做这一工作,OGC部分代表和成员参加。
开放GIS规范的纲领和目录经过多次修改后,开放GIS协会将开始按照以上所讲的步骤去扩展开放GIS规范或重要信息协会所要求的“专业技术”(它是相对于“核心技术”来说的)。行业协会、部或学院,如应用领域中的运输、农业和保险与其他在OGC专业组(SIGs)中的工作人员一起共同策划完成扩展开放GIS规范的工作,SIGs与技术委员会的专业人员把他们的要求提交给技术委员会讨论,这些要求有可能会被RFPs所接纳。通过参与RFP的工作,技术使用者可以直接促进标准产品、面向用户产品的产生,OGC技术提供者可以认识得更早、更确切,使他们的R&D投资有长远的回报并不断开拓新的市场。
4.3开放地理数据模型提供了一种通用空间语言
Webster(Webster的第九版新词典,1984)提供了下列在开放GIS规范中使用的定义:
通用语言:任何一种在人们交流中都可使用的通用的或商用的语言,一种类似于公共语言的语言。
词典:有关某种语言的词汇、一套文献的词汇、交谈所需的词汇、某一专业领域的词汇以及其它专业领域词汇的总合。
开放GIS规范的通用语言是基于基本数据类型中定义的通用地理数据类型词汇,它在所有编程语言中都可使用,没有这些通用地理数据类型词汇,我们无法解决互操作性问题。在OGC中,“开放地理数据模型”就是指这一通用的地理数据类型词典。
开放GIS规范词典只限于那些为实现地理空间信息通讯所需要的词汇,一种词汇元素的表达方式应该可被具有互操作性的的组件式软件所解译和使用。
4.4面向对象
在传统的计算机程序中,完成某一任务的函数或过程与它们使用的数据是分离的。数据文件有多少个函数就会打开多少个数据文件,这样就会产生多个新的数据文件。与传统的计算机程序相比较,面向对象(OO)编程是由叫做对象的结构块组成,每一个自包含软件模块中都包括与给定任务中需要的所有命令(在对象术语中叫“方法”)和数据。当对象接收到执行任务的数据时它就开始执行该任务,因为在这种方法中,对象是“被封装起来的”,所以对象作为一个单元可以在许多程序中重复使用。经过设计,面向对象编程更容易产生自动继承原有对象功能的新对象,编程者用这种方法可以不必重新启动即可修改方法或添加新方法。下面是一个地理处理的例子:一个具有地理坐标(纬度和经度)的对象可以继承另一个对象的功能,从地理坐标转换到广域横向墨卡托圆柱坐标。
这似乎是在纸上谈兵,最初的对象设计是一项很重要的工作,面向对象编程(OOP)最适合于可能需要不断修改和扩充的大型编程工程(或规范,如开放GIS规范)。
OGC技术委员会的大部分成员相信这种对象方法是实现上述章节中所提到的目的的理想方法,但是相信者中,大部分是软件开发者,此外他们还相信,只有对象技术和DCPs的成熟(每个DCP具有它自己的对象方法),大部分开放GIS执行规范才会包括大量常规结构化编码(“结构化编码”是指设计的软件作为一个小型核心程序可以与外部程序库中的子程序互操作:它是与具有集成功能和子程序的大型单片机程序的“空心粉条”编码相对照的,这一方法可以使应用软件编程接口(APIs)提供一种标准连接,通过它一个程序可以与其它程序合作。)
下面的段落列出了对象范例来说明在对象中执行开放GIS规范的优点,请参阅有关对象的参考条目。
4.4.1封装与接口
在OO软件环境中,对象是通过接口来发生作用的,这种接口是程序和程序员所不能改变的,除非通过以上提到的继承方法来扩展它们。封装通过改变对象的方法来改变成对象的数据从而改变对象的状态,通过提供一种模块方法来保持状态和方法的一致,封闭方法在系统的设计和构成中也趋向于更方便,更符合人的思考方式。
对象接口的背后,对象方法的扩充,封装数据的格式和编排是对象所私有的。这种私有性使对象用户可以集中于提供的功能(由接口定义的)而不是集中于内部执行的细节。这种封装概念允许通过接口去定义开放GIS规范。这一点很重要,当地理数据处理开发者把地理数据集成到以前无地理数据处理功能的系统中去时,只要他们具有一致的接口规范,通过封装这种数据集成就变得很容易。
4.4.2执行继承与接口继承的比较
继承是指一个对象的功能优于某一对象的同时,具有这对象的某些功能的能力叫做继承。对象实际执行的这种继承在软件开发过程中是非常有用的,但是这种继承是靠具有继承性的编程语言来实现的。接口的继承是指一个对象重复使用另一对象的接口(不需要重复执行)的功能,这在大部分的编程语言中都是可行的。开放GIS规范采用接口继承为开发者提供采用面向对象编程语言或非面向对象编程语言的自由,同时保留了继承的建模功能。
4.5开放GIS环境中的客户和服务器端口
4.5.1概述
开放GIS的服务器模型是一种客户\服务器模型,也就是说,客户端程序或客户端对象是通过接口与“服务器端”进行通讯的。服务器端是可对客户端的请求进行响应的程序和对象,为客户端返回响应信息或向客户端提供一种进程函数。不是所有开放GIS执行工具都是传统意义上在客户端进程和服务器端进程间建立一对一的客户服务器,有的服务器可能提供多种不同的服务,有的客户可以通过网络访问多个服务器。根据这种情况,用 “服务器端口”这个术语比用 “服务器”更确切。开放地理模型词典为通用地理数据传输和客户与服务器端间的地理数据处理界面提供了基础。
在查看分布式地理数据处理基础技术过程中,我们把数据访问作为分布式地理数据处理的一个特殊而重要的方面,因为:
地理数据库一般包括大量的数据。
当前对这些不同种类(先前独立的)数据库的分布式访问需求量很大。
数据库访问是一般客户/服务计算的一个重要的任务。
常用的数据库----一般都包括街道地址字段,它们都可作为地理数据。
近来功能强大的常规相关或位置相关数据库产品包括管理空间数据的工具,移动某些传统GIS功能到操作领域的研究可以由数据库很好地执行。
开放GIS数据访问模式要能给不同的贮存系统包括传统系统提供一种通用的接口。因为数据集成、执行、可用贮存、预算或所有权的原因,某些地理数据只能对一种存储机制有效。要获得单独数据通道可通过开放GIS数据访问服务器,不必复制包含地理编码信息的数据库。
4.5.1.1分布式计算定义
客户----在客户\服务器环境中,客户是一个要求服务的组件。尽管在客户服务器模型中,客户也可能会为更高级别的客户提供服务,但在以下讨论中客户是指请求的发出端。
服务端----在客户\服务器环境中,服务端是组件,它会对客户端提出的具体请求作出响应。尽管在客户\服务器模型中服务端也可能是客户,但在本次讨论中它是指请求的响应者。
数据访问服务器----在客户\服务器环境中,数据访问服务器是组件,为客户的具体请求提供数据访问,尽管在客户\服务器模型中,数据访问服务器也可能会充当客户发出请求,但在本次讨论中它是指数据访问的提供者。
在所有的客户\服务器环境中,客户向服务器或服务端提出请求,服务器或服务端提供相应的服务。在具有统一开放GIS规范的客户\服务器的互操作中,客户和服务器组件界面与开放GIS规范中所描述的数据类型和软件界面一致。客户端提出请求和服务端作出响应所用的词汇、句法和协议都应该是客户和服务端都能理解的。这种基本的请求\响应机制是由分布式计算平台(DCPs)提供的,DCPs的句法和协议与开放GIS规范的词汇相结合可提供地理数据互操作处理的全部请求\响应功能。相似地,数据库管理功能通过数据库语言实现,当数据库语言与开放GIS规范词汇相结合时就构成了通用地理数据访问服务的句法和协议。
4.5.2开放GIS规范在发展中的客户\服务器模型中
客户\服务器模型使应用软件开发者能把应用软件的需求和功能独立出来并确定组件的作用和相互关系以满足不同层次的需求。层次开放界面服务的出现使组件增生(产生更多功能选择)互操作性提高。通常,大多数厂家的产品都是为高档的需求提供低档的服务或者产品间的功能是有差别的。这些通用的低档服务移植到一个具有标准界面的服务端中后就会成为一个小型的、便携的、具有不同功能的平台。表4-2说明发展中的分布式计算平台环境中地理处服务端的进展情况。
表4-2用开放GIS规范,地理数据处理情况反映分布式计算的发展。
表4-2显示从单片机地理处理向分布式对象地理处理的进展,纵向地看其历史发展情况:
单片机系统中,所有的层都紧密地结合在一起,一般不向其它系统开放,除非在单片机系统中通过基本数据交换方法与同样的单片机系统交换数据或从其它系统转换数据。这种数据交换是指“数据转移”。理论上有上百种格式,有私用的也有开放的,有上百种过滤器和转换用的通用程序来执行格式间的转换,还有许多交互式格式如SDTS、SAIF、GeoTIFF、国家图像格式转换标准和DXF,DXF代表地理数据互操作性的前期开放GIS方法。最近的调查显示,最通用的互交换格式是简单ASCII文本文件。
在DCP发展的第一阶段,DCP管理地理处理应用软件(如X Window系统或Visual Basic)与应用软件上的用户界面间的通讯,但其它界面仍然是内部的私有的。空间数据访问的提供者懂得应用软件的地理数据模型并能把基于模型的地理数据查询翻译成能被数据库软件懂得的查询,但这种情况下这种服务是与数据库相结合的。通过插件或远程调用来提供通讯,这种方式不如使用DCP简便。1995年,这种空间数据访问端在商业上用于提供对特殊合理数据库管理系统访问的具体GIS功能,这种数据库管理系统的合理模型和速度是优于私有空间数据库解决方案。空间数据访问端和通用数据库之间的接口不是开放的,但其模块便于使用者与其它数据库集成。图表中的开放GIS接口反应出厂家正在开发、把开放GIS规范的基本部分编纂成最终执行规范并即将投入市场的基于开放GIS规范的应用软件和空间数据访问端。开放GIS接口将使这一服务层向其它厂家和集成者开放。
在DCP发展的第二阶段,我们看到应用软件已经分离了某些通用服务到应用软件服务器。在这一阶段,应用软件便于嵌套进特定的工作流程。大量在单片机GIS系统提供的多余功能在分布式计算环境中作为应用软件服务器和空间数据访问端使用,由更多组成GIS厂家最高增值功能的焦点或用户应用软件开放使用。除了GIS,对地理处理领域也适用。为表明有多种途径为地理数据服务,图表显示空间数据访问端接受从一个通用数据库或数据查询中提取数据,这些数据库是一组不由全属性相关或对象数据库管理系统包含或管理的数据文件和元数据文件,开放GIS接口将提供内部层间进行通讯的通用语言。
DCP发展第三阶段,描述了许多专家预言的完全面向对象的应用软件,其中的应用程序是applet的临时应用程序,用户可以使用各种服务,数据库管理系统并可查询对象“群”和占据很大网络空间的查询对象代替。
横向地观察表4-2,查看开放GIS规范适合每一层的:
影像层:应用软件的扩充依靠操作环境(X Window系统、Visual Basic和“Control”等)中的用户界面源,而不是专用的或与应用软件密切结合的用户界面。为管理不同绘图和互操作数据处理问题,这一层要使用开放GIS。即使用户界面调用的基本服务,如打开某一区域或全幅显示功能,也位于不同的平台和操作系统,“最接近观察孔”的应用软件部分要用到特殊的开放GIS接口。例如:用户在察看一个地理影像并放大或缩小它时,如果开发者要包含或移除某一用于显示的地理属性或标志用户界面要与应用软件服务器或其它基本的贮存或处理这些属性的层通讯。这本书中,我们把用户界面和相关程序管理叫做“仿人技术界面”。
应用软件层和应用软件服务器层:常规应用软件即使在桌面计算环境中,也正日渐组件化,卸载了直接通用功能,如地图显示、用户互操作、打印、传真和在线帮助。应用软件服务器都具有这些功能,它们可以在任何符合它们服务界面的应用软件操作环境中使用。如以上所述,地理处理应用软件正发生着这一变化,放弃普通地理数据处理功能,改用计算环境允许的软件服务器共享工具。地理数据处理软件“Applets”和以下提到的地理处理过渡软件将通过开放GIS界面通讯,这些小型应用软件很容易写,因为它们可以通过编写简单的界面来提供服务而不是用集成的子程序。用户也因为从出现的大量可选的产品中受益,地理处理软件“applets”很少出现在以前的地理处理应用软件环境中,集成者可以廉价快速地把应用软件集成到工作流程的解决方案中。
空间数据访问端:空间数据访问端在应用软件语义和数据库语义间可双向翻译,例如:一个应用程序向一个数据库查询,它可能是以一个特殊的地理数据模型发送查询信息,而数据库只能理解SQL或专用的查询语言,除了媒介查询和回应,这个层使应用软件和应用软件服务器能访问其它与安全、版本控制等相关的数据库管理服务。这一层中还包括当前可用的商业产品,这些产品为GIS应用软件提供了一个与特殊目的相关数据库管理系统间的界面。将来,这个层中被提议的开放GIS一致性中间软件为所有开放GIS一致性应用软件提供访问任何配有中间软件的数据库管理系统中的数据。
数据库层:我们用术语“数据库”指数据库管理软件产品,如Oracle或Access,不只是简单的地理数据集。近来,主要的数据库厂家越来越对提供适合地理数据的数据库产品感兴趣,这对地理处理协会有利,因为:1)现代的数据库很快,而且提供一系列属性如安全性和版本控制,这些在传统私有空间数据库系统中不能使用;2)用户的地理数据与其它数据在同一数据库中,集成者和它们的客户可以更容易把地理处理集成到软件和决策过程中。将来的面向对象时代,传统的数据库可以服从随遇的数据对象。现在大部分地理数据(尤其是考虑地球图像数据时)贮存在文件中或目录中,这些文件或目录具有固定的结构,它们中没有一个的灵活性或功能可以与现代的数据库相比,有些地理数据库现在是通过配有开放GIS接口的专门目的查询系统访问,但几乎所有这种将被代替的地理数据都将在五年内转换成能管理大量无表格数据的现代数据库。
硬件和网络层:DCPs、硬件与网络标准使硬件与网络层对地理处理问题是透明的。
4.5.2.1开放GIS界面可用面向对象和非面向对象技术执行
如以上提到的,执行者可以用常规结构编程或面向对象技术建立基于开放GIS