论文部分内容阅读
当今世界正进入信息时代,以信息技术为代表的当代新技术革命正使人们以前所未有的能力去获得有关地球和人类社会的巨量信息,并对它们进行有机集成和分析,从而主动面对全球变化的挑战,积极地解决资源、环境、人口、灾害等全球共同关注的问题。在这个过程中,作为全球信息总资源重要组成部分的“地理空间数据”倍受重视并得到日趋广泛的应用。同时,如何充分实现数据共享的问题也愈来愈被人们所关注。
本文在论述现有的几种实现空间数据共享的技术模式的基础上,分别评价了各个模式的优缺点,针对当今数据共享所面临的困难提出了解决这些问题的建议,最后本文对数据共享的发展趋势及其解决方案进行了展望。
1.GIS空间数据共享的实现模式
由于地理信息系统的图形数据格式各异,给信息共享带来了极大的不便,解决多格式数据源集成一直是近年来GIS应用系统开发中需要解决的重要问题。目前,实现多源数据集成的方式大致有四种,即:数据格式转换模式、数据互操作模式、直接数据访问模式、开放式数据库互接模式。
1.1数据格式转换模式
格式转换模式是传统GIS数据集成方法。顾名思义,在这种模式下,其他数据格式经专门的数据转换程序进行格式转换后,复制到当前系统中的数据库或文件中。这是目前GIS系统数据集成的主要办法。目前得到公认的几种重要的空间数据格式有:ESRI公司的Arc/lnfo Coverage、Shape Files、EOO格式:AutoDesk的DXF格式和DWG格式;Maplnfo的MIF格式;ntergraph的dgn格式等等。
数据转换模式主要存在的问题是:(1)由于缺乏对空间对象统一的描述方法,从而使得不同数据格式描述空间对象时采用的数据模型不同,因而转换后不能完全准确表达源数据的信息。(2)这种模式需要将数据统一起来,违背了数据分布和独立性的原则:如果数据来源是多个代理或企业单位,这种方法需要所有权的转让等问题。
美国国家空间数据协会(NSDI)制定了统一的空间数据格式规范SDTS (Spatial Data Trans-formation Standard),包括几何坐标、投影、拓扑关系、属性数据、数据字典,也包括栅格格式和矢量格式等不同的空间数据格式的转换标准。许多软件利用SDTS提供了标准的空间数据交换格式。
目前,ESRI在ARC/INFO中提供了SDTSIMPORT以及SDTSEXPORT模块,Intergraph公司在MCE产品系列中也支持SDTS矢量格式。SDTS在一定程度上解决了不同数据格式之间缺乏统一的空间对象描述基础的问题。但SDTS目前还很不完善,还不能完全概括空间对象的不同描述方法,并且还不能统一为各个层次以及从不同应用领域为空间数据转换提供统一的标准:并且SDTS没有为数据的集中和分布式处理提供解决方案,所有的数据仍需要经过格式转换复制到系统中,不能自动同步更新。
1.2数据互操作模式
数据互操作模式是OpenGIS consortium(OGC)制定的规范。OGC是为了发展开放式地理数据系统、研究地学空间信息标准化以及处理方法的一个非盈利组织。GIS互操作是指在异构数据库和分布计算的情况下,GIS用户在相互理解的基础上,能透明地获取所需的信息。OGC为数据互操作制定了统一的规范,从而使得一个系统同时支持不同的空间数据格式成为可能。根据OGC颁布的规范,可以把提供数据源的软件称为数据服务器(Data Servers),把使用数据的软件称为数据客户( Data Clients),数据容户使用某种数据的过程就是发出数据请求,由数据服务器提供服务的过程,其最终目的是使数据客户能读取任意数据服务器提供的空间数据。OGC规范基于OMC的CORBA、Microsoft的OLE/COM以及SQL等,为实现不同平台间服务器和客户端之间数据请求和服务提供了统一的协议。OGC规范正得到OMG和ISO的承认,从而逐渐成为一种国际标准,将被越来越多的GIS软件以及研究者所接受和采纳。目前,还没有商业化GIS软件完全支持这一规范。
数据互操作为多源数据集成提供了崭新的思路和规范。它将GIS带人了开放式的时代,从而为空间数据集中式管理和分布存储与共享提供了操作的依据。OGC标准将计算机软件领域的非空间数据处理标准成功地应用到空间数据上。但是OGC标准更多考虑到采用了OpenGIS协议已有数据的主体。
数据互操作规范为多源数据集成带来了新的模式,但这一模式在应用中存在一定局限性:
首先,为真正实现各种格式数据之间的互操作,需要每个每种格式的宿主软件都按照着统一的规范实现数据访问接口,在一定时期内还不现实:其次,一个软件访问其他软件的数据格式时是通过数据服务器实现的,这个数据服务器实际上就是被访问数据格式的宿主软件,也就是说,用户必须同时拥有这两个GIS软件,并且同时运行,才能完成数据互操作过程。
1.3直接数据访问模式
直接数据访问指在一个GIS软件中实现对其他软件数据格式的直接访问,用户可以使用单个GIS软件存取多种数据格式。直接数据访问不仅避免了繁的数据转换,而且在一个GIS软件中访问某种软件的数据格式不要求用户拥有该数据格式的宿主软件,更不需要该软件运行。直接数据访问提供了一种更为经济实用的多源数据集成模式。
目前使用直接数据访问模式实现多源数据集成的GIS软件主要有两个,即:Intergraph推出的GeoMedia系列软件和中国科学院地理信息产业发展中心研制的SuperMap。GeoMedia实现了对大多数GIS/CAD软件数据格式的直接访问,包括:MGE、Arclnfo,Frame、Oracle Spatial、SQL Server、Access MDB等。SuperMap 2.0则提供了存取SQL Server、Oracle Spatial、ESRI SDE、Access MDB、SuperMap SDB文件等的能力,在以后的版本中将逐步支持对Arc/lnfo Coverage、AutoCAD DWG、MicroStation DGN、ArcView等渤出薪各式的亩掘物了问。
直接数据访问同样要建立在对要访问数据的数据格式的充分了解的基础上,如果要访问的数据的格式不公开,就非破译该格式不可,还要保证破译完全正确,这样才能真正与该格式的宿主软件实现数据共享。如果宿主软件数据格式发生变化,各数据集成软件不得不重新研究该宿主软件数据格式,提供升级版本,而宿主软件的数据格式发生变化时往往不对外声明,这样,其他数据集成软件对基于这种GIS软件数据格式的数据的处理必定存在滞后性。
1.4开放式数据库互接模式
该模式基于这样一个事实:现在尽管各个数据库存储数据的数据格式不同,但几乎每个数据库系统都支持开放式数据库互接(ODBC),都按照ODBC的要求提供接口一致的驱动程序。而一般的GIS数据都具有一些空间数据的特性,因此可以定义一个包含各种数据的元数据文件,在此基础上,采用面向对象的思路,定义一个包含纯虚函数、不可实例化的抽象基类,这个基类应具备GIS空间数据读写的基本接口。在定义好面向抽象GIS数据格式的抽象基类和统一接口的基础上,由各GIS软件厂商完成存取自己格式数据的子类的动态连接库(类似于ODBC中各数据库系统的驱动程序)。实现厂商一次编程,其他开发者拿来就用,省却大量的重复劳动,加快开发进程。
该模式的优点就是,由于各GIS软件开发商提供的派生类是继承统一的抽象基类,各函数接口一致,可集成到自己开发的GIS软件中,提供对其他软件强有力的支持,并且不会产生数据丢失。而且各GIS软件开发商在不暴露其底层文件格式的情况下,最大程度地方便其他软件的开发者,一旦其内部数据格式有所变动,则只需提供相应的升级过的动态连接库,二次开发人员和其他利用其动态连接库的软件不需作任何变动和重新编译程序。
2.空间数据共享的展望
2.10penGIS,SDTS与DLG/F
OpenGIS是目前的主流标准,但SDTS并不会停滞不前,相反笔者认为SDTS将会与OpenGIS走向一体化。SDTS可以为OpenGIS提供一个转换和存取空间数据的标准,该标准是不依赖任何一种特定GIS软件格式的,该标准中利用头文件描述格式的方式使得数据服务者不必专门提供格式说明,而数据客户也不必专门学习该格式,只需读取SDTS头文件就可获得数据服务者提供的数据格式。笔者认为利用SDTS做数据标准,利用OGC作数据互操作的标准(例如空间SQL标准),简单地说就是如果说SDTS提供了数据格式的头文件,而OGC标准则提供了读写这个头文件的标准方法。如果再采用数据库作后台,利用空间数据引擎,空间数据引擎按照SDTS存取空间数据,按照OGC标准对客户软件提供操作接口,这将是空间数据集成的理想解决方案。
USGS还提供了一种称作DLC/F的标准,该标准设计了空间数据在数据库中的动态存储结构,利用该结构可以将拓扑关系动态记录下来,同时可以让用户添加白定义的空间数据类型。怎样利用DLC/F完善SDTS和OpenGIS也将是OpenGIS以及SDTS发展的方向。
2.2统一空间实体编码
多源空间数据格式集成还有一个很重要的方面就是如何处理不同数据库对空间实体采用的编码方式不同的问题。从理论上来说,一个系统对同一空间实体的编码应该是唯一的,实际上由于不同领域从不同视角对同一空间实体编码并不一样,甚至会出现不同空间实体具有相同编码的情况,这些编码放在同一系统中,就会出现空间实体标识的严重问题。从目前来看,OpenGIS和SDTS都是基于地理特征(Feature)定义空间实体的,但都还不能真正提供一个通用的空间实体编码体系。
3.结论与挑战
当前空间数据共享虽然在理论研究和实际应用中取得了一些成绩,但还应该看到,建立规模较大的分布式信息系统尚处于起步阶段,实现空间数据共享还存在以下困难:
(1)经济货物体制上的问题:
(2)难以找到可实际应用数据:
(3)转换中的技术问题:数据模型,数据格式和数据内容:
而且,采用空间数据共享标准还可能引发一些问题:
(1)性能降低。为保证通用的兼容性和广泛的接受,标准通带包含了技术妥协,采用的不是最优或最佳解决方案的数据结构:
(2)功能安全受到限制。为了普遍性,多数标准只包含了一个其他系统可能提供的功能和函数的子集:
(3)安全性可能会降低。由于更多的人清楚标准的操作系统的特征(和漏洞),可能会导致计算机病毒的传染:
采用标准后,为了与标准一致,刚开始时可能会增加完成计划的精力和花费:
可能会选择不合适的标准:一方面用户如果过早接受一个标准,可能会把自己局限于过时的技术:另一方面,即使是一个平庸标准也比没有强;(例如最初的“QWERTY”打印机的键盘设计,本意是为了减慢打印速度,但也统一了键盘布局)。
因此,建立数据转换标准应是实现数据共享的过渡方案:从长远看,开发、完善开放式地理信息系统软件是实现分布式信息系统一体化,信息资源共享的最有效的途径。最优方案应是:统一规划,统一软、硬件平台,统一数据标准;当然达到这一目标并非易事,需要各个方面的共同努力,协同工作。
空间数据共享机制是使数字地球能够运转的关键之一。国际标准化组织ISO/TC211 T作组正为此而努力工作。只有共享才能发展,共享推动信息化,信息化进一步推动共享。政府与民间的联合共建是实现共享原则的基本条件,因为任何国家的政府也不可能包揽整个信息化的建设。
在我国,要遵循这一规律就必然要求打破部门之间和地区之间的界限。统一标准,联合行动,相互协调,互谅互让,分工合作,发挥整体优势。只有大联合才能形成规模经济的优势,才能在国际信息市场的激烈竞争中争取主动。
本文在论述现有的几种实现空间数据共享的技术模式的基础上,分别评价了各个模式的优缺点,针对当今数据共享所面临的困难提出了解决这些问题的建议,最后本文对数据共享的发展趋势及其解决方案进行了展望。
1.GIS空间数据共享的实现模式
由于地理信息系统的图形数据格式各异,给信息共享带来了极大的不便,解决多格式数据源集成一直是近年来GIS应用系统开发中需要解决的重要问题。目前,实现多源数据集成的方式大致有四种,即:数据格式转换模式、数据互操作模式、直接数据访问模式、开放式数据库互接模式。
1.1数据格式转换模式
格式转换模式是传统GIS数据集成方法。顾名思义,在这种模式下,其他数据格式经专门的数据转换程序进行格式转换后,复制到当前系统中的数据库或文件中。这是目前GIS系统数据集成的主要办法。目前得到公认的几种重要的空间数据格式有:ESRI公司的Arc/lnfo Coverage、Shape Files、EOO格式:AutoDesk的DXF格式和DWG格式;Maplnfo的MIF格式;ntergraph的dgn格式等等。
数据转换模式主要存在的问题是:(1)由于缺乏对空间对象统一的描述方法,从而使得不同数据格式描述空间对象时采用的数据模型不同,因而转换后不能完全准确表达源数据的信息。(2)这种模式需要将数据统一起来,违背了数据分布和独立性的原则:如果数据来源是多个代理或企业单位,这种方法需要所有权的转让等问题。
美国国家空间数据协会(NSDI)制定了统一的空间数据格式规范SDTS (Spatial Data Trans-formation Standard),包括几何坐标、投影、拓扑关系、属性数据、数据字典,也包括栅格格式和矢量格式等不同的空间数据格式的转换标准。许多软件利用SDTS提供了标准的空间数据交换格式。
目前,ESRI在ARC/INFO中提供了SDTSIMPORT以及SDTSEXPORT模块,Intergraph公司在MCE产品系列中也支持SDTS矢量格式。SDTS在一定程度上解决了不同数据格式之间缺乏统一的空间对象描述基础的问题。但SDTS目前还很不完善,还不能完全概括空间对象的不同描述方法,并且还不能统一为各个层次以及从不同应用领域为空间数据转换提供统一的标准:并且SDTS没有为数据的集中和分布式处理提供解决方案,所有的数据仍需要经过格式转换复制到系统中,不能自动同步更新。
1.2数据互操作模式
数据互操作模式是OpenGIS consortium(OGC)制定的规范。OGC是为了发展开放式地理数据系统、研究地学空间信息标准化以及处理方法的一个非盈利组织。GIS互操作是指在异构数据库和分布计算的情况下,GIS用户在相互理解的基础上,能透明地获取所需的信息。OGC为数据互操作制定了统一的规范,从而使得一个系统同时支持不同的空间数据格式成为可能。根据OGC颁布的规范,可以把提供数据源的软件称为数据服务器(Data Servers),把使用数据的软件称为数据客户( Data Clients),数据容户使用某种数据的过程就是发出数据请求,由数据服务器提供服务的过程,其最终目的是使数据客户能读取任意数据服务器提供的空间数据。OGC规范基于OMC的CORBA、Microsoft的OLE/COM以及SQL等,为实现不同平台间服务器和客户端之间数据请求和服务提供了统一的协议。OGC规范正得到OMG和ISO的承认,从而逐渐成为一种国际标准,将被越来越多的GIS软件以及研究者所接受和采纳。目前,还没有商业化GIS软件完全支持这一规范。
数据互操作为多源数据集成提供了崭新的思路和规范。它将GIS带人了开放式的时代,从而为空间数据集中式管理和分布存储与共享提供了操作的依据。OGC标准将计算机软件领域的非空间数据处理标准成功地应用到空间数据上。但是OGC标准更多考虑到采用了OpenGIS协议已有数据的主体。
数据互操作规范为多源数据集成带来了新的模式,但这一模式在应用中存在一定局限性:
首先,为真正实现各种格式数据之间的互操作,需要每个每种格式的宿主软件都按照着统一的规范实现数据访问接口,在一定时期内还不现实:其次,一个软件访问其他软件的数据格式时是通过数据服务器实现的,这个数据服务器实际上就是被访问数据格式的宿主软件,也就是说,用户必须同时拥有这两个GIS软件,并且同时运行,才能完成数据互操作过程。
1.3直接数据访问模式
直接数据访问指在一个GIS软件中实现对其他软件数据格式的直接访问,用户可以使用单个GIS软件存取多种数据格式。直接数据访问不仅避免了繁的数据转换,而且在一个GIS软件中访问某种软件的数据格式不要求用户拥有该数据格式的宿主软件,更不需要该软件运行。直接数据访问提供了一种更为经济实用的多源数据集成模式。
目前使用直接数据访问模式实现多源数据集成的GIS软件主要有两个,即:Intergraph推出的GeoMedia系列软件和中国科学院地理信息产业发展中心研制的SuperMap。GeoMedia实现了对大多数GIS/CAD软件数据格式的直接访问,包括:MGE、Arclnfo,Frame、Oracle Spatial、SQL Server、Access MDB等。SuperMap 2.0则提供了存取SQL Server、Oracle Spatial、ESRI SDE、Access MDB、SuperMap SDB文件等的能力,在以后的版本中将逐步支持对Arc/lnfo Coverage、AutoCAD DWG、MicroStation DGN、ArcView等渤出薪各式的亩掘物了问。
直接数据访问同样要建立在对要访问数据的数据格式的充分了解的基础上,如果要访问的数据的格式不公开,就非破译该格式不可,还要保证破译完全正确,这样才能真正与该格式的宿主软件实现数据共享。如果宿主软件数据格式发生变化,各数据集成软件不得不重新研究该宿主软件数据格式,提供升级版本,而宿主软件的数据格式发生变化时往往不对外声明,这样,其他数据集成软件对基于这种GIS软件数据格式的数据的处理必定存在滞后性。
1.4开放式数据库互接模式
该模式基于这样一个事实:现在尽管各个数据库存储数据的数据格式不同,但几乎每个数据库系统都支持开放式数据库互接(ODBC),都按照ODBC的要求提供接口一致的驱动程序。而一般的GIS数据都具有一些空间数据的特性,因此可以定义一个包含各种数据的元数据文件,在此基础上,采用面向对象的思路,定义一个包含纯虚函数、不可实例化的抽象基类,这个基类应具备GIS空间数据读写的基本接口。在定义好面向抽象GIS数据格式的抽象基类和统一接口的基础上,由各GIS软件厂商完成存取自己格式数据的子类的动态连接库(类似于ODBC中各数据库系统的驱动程序)。实现厂商一次编程,其他开发者拿来就用,省却大量的重复劳动,加快开发进程。
该模式的优点就是,由于各GIS软件开发商提供的派生类是继承统一的抽象基类,各函数接口一致,可集成到自己开发的GIS软件中,提供对其他软件强有力的支持,并且不会产生数据丢失。而且各GIS软件开发商在不暴露其底层文件格式的情况下,最大程度地方便其他软件的开发者,一旦其内部数据格式有所变动,则只需提供相应的升级过的动态连接库,二次开发人员和其他利用其动态连接库的软件不需作任何变动和重新编译程序。
2.空间数据共享的展望
2.10penGIS,SDTS与DLG/F
OpenGIS是目前的主流标准,但SDTS并不会停滞不前,相反笔者认为SDTS将会与OpenGIS走向一体化。SDTS可以为OpenGIS提供一个转换和存取空间数据的标准,该标准是不依赖任何一种特定GIS软件格式的,该标准中利用头文件描述格式的方式使得数据服务者不必专门提供格式说明,而数据客户也不必专门学习该格式,只需读取SDTS头文件就可获得数据服务者提供的数据格式。笔者认为利用SDTS做数据标准,利用OGC作数据互操作的标准(例如空间SQL标准),简单地说就是如果说SDTS提供了数据格式的头文件,而OGC标准则提供了读写这个头文件的标准方法。如果再采用数据库作后台,利用空间数据引擎,空间数据引擎按照SDTS存取空间数据,按照OGC标准对客户软件提供操作接口,这将是空间数据集成的理想解决方案。
USGS还提供了一种称作DLC/F的标准,该标准设计了空间数据在数据库中的动态存储结构,利用该结构可以将拓扑关系动态记录下来,同时可以让用户添加白定义的空间数据类型。怎样利用DLC/F完善SDTS和OpenGIS也将是OpenGIS以及SDTS发展的方向。
2.2统一空间实体编码
多源空间数据格式集成还有一个很重要的方面就是如何处理不同数据库对空间实体采用的编码方式不同的问题。从理论上来说,一个系统对同一空间实体的编码应该是唯一的,实际上由于不同领域从不同视角对同一空间实体编码并不一样,甚至会出现不同空间实体具有相同编码的情况,这些编码放在同一系统中,就会出现空间实体标识的严重问题。从目前来看,OpenGIS和SDTS都是基于地理特征(Feature)定义空间实体的,但都还不能真正提供一个通用的空间实体编码体系。
3.结论与挑战
当前空间数据共享虽然在理论研究和实际应用中取得了一些成绩,但还应该看到,建立规模较大的分布式信息系统尚处于起步阶段,实现空间数据共享还存在以下困难:
(1)经济货物体制上的问题:
(2)难以找到可实际应用数据:
(3)转换中的技术问题:数据模型,数据格式和数据内容:
而且,采用空间数据共享标准还可能引发一些问题:
(1)性能降低。为保证通用的兼容性和广泛的接受,标准通带包含了技术妥协,采用的不是最优或最佳解决方案的数据结构:
(2)功能安全受到限制。为了普遍性,多数标准只包含了一个其他系统可能提供的功能和函数的子集:
(3)安全性可能会降低。由于更多的人清楚标准的操作系统的特征(和漏洞),可能会导致计算机病毒的传染:
采用标准后,为了与标准一致,刚开始时可能会增加完成计划的精力和花费:
可能会选择不合适的标准:一方面用户如果过早接受一个标准,可能会把自己局限于过时的技术:另一方面,即使是一个平庸标准也比没有强;(例如最初的“QWERTY”打印机的键盘设计,本意是为了减慢打印速度,但也统一了键盘布局)。
因此,建立数据转换标准应是实现数据共享的过渡方案:从长远看,开发、完善开放式地理信息系统软件是实现分布式信息系统一体化,信息资源共享的最有效的途径。最优方案应是:统一规划,统一软、硬件平台,统一数据标准;当然达到这一目标并非易事,需要各个方面的共同努力,协同工作。
空间数据共享机制是使数字地球能够运转的关键之一。国际标准化组织ISO/TC211 T作组正为此而努力工作。只有共享才能发展,共享推动信息化,信息化进一步推动共享。政府与民间的联合共建是实现共享原则的基本条件,因为任何国家的政府也不可能包揽整个信息化的建设。
在我国,要遵循这一规律就必然要求打破部门之间和地区之间的界限。统一标准,联合行动,相互协调,互谅互让,分工合作,发挥整体优势。只有大联合才能形成规模经济的优势,才能在国际信息市场的激烈竞争中争取主动。