-- 作者:xuyunhe
-- 发布时间:3/21/2004 11:50:00 AM
-- XML在空间信息管理中的应用
XML在空间信息管理中的应用 内容: 一.空间信息管理的发展 二.XML在GIS中的作用 作者简介 乔智君 适普公司高级系统架构师 2001 年 7 月 GIS,特别是它与全球定位系统GPS和遥感RS的集成,已经深刻地影响人类生产与生活的各个方面,影响信息化社会的进程。然而,地理信息系统的研究与应用,都是极其庞大而复杂的工程。它涉及多学科的相互渗透、相互支撑,它的发展需要多学科专家的共同努力。而XML在其中具有广泛的应用前景。 一.空间信息管理的发展 人们在日常生活中,会频繁地接触各类空间信息,例如地图、气象图等。据统计,人们周围的信息80%都与空间信息有关,只是我们经常忽视它们的存在。例如,出行需要地图,城市交通管理需要路线定位和调度,水利访汛需要高时域变化信息,消防需要房屋的高度和结构,规划和房产需要了解城市结构。可见空间信息是国家命脉性基础数据,关系到国计民生,广泛应用于规划、交通、测绘、水利、军事等各个行业。 地理信息系统(Geographic Information System,GIS)作为60年代提出并逐步发展起来的一种采集、存贮、管理、分析和描述空间和地理分布有关的数据的空间信息系统,集计算机、测绘、遥感、地理学、空间科学、信息科学和管理科学于一体,得到了迅猛的发展。美国前副总统戈尔于1998年1月在"数字地球-新世纪人类星球之认识"演说时,提出了"数字地球"的概念,是关于整个地球、全方位的GIS与虚拟现实技术、网络技术相结合的产物。其中重要的目标是获得全球范围的一米分辩率的遥感卫星图像。 我国自70年代中后期开展GIS系统的研究与应用工作以来,已经在地形图与专题制图、城市规划与市政工程、土地利用与规划、资源环境评价、生物资源保护与利用等诸多领域得到了广泛的应用。我国的GIS软件开发与有关理论研究也已取得了进步。武汉测绘科技大学、北京大学、中国地质大学等单位先后推出了具有自主版权的GIS开发平台,但距离国际先进水平在应用上仍有很大的差距。 二.XML在GIS中的作用 1.Web GIS Internet改变了我们的世界。当前,Internet已不仅仅是一种单纯的技术手段了,它已演变成为一种经济方式--网络经济。随着GIS与各种新技术的结合,网络化思想也得到了迅速的的发展,建立Web GIS已成为近年来GIS领域的一个热门话题。GIS技术和Internet技术的融合,使产品的应用环境、产品的概念、软件的结构都发生了变化。和传统的GIS相比,Web GIS具有如下优点和特征: 更广泛的访问范围,网络功能将使GIS更容易被全社会所接受,真正实现GIS无所不在。 平台独立性。适应于不同的软硬件平台,这是基本要求。 降低系统成本 实时性强。网上发布数据,能真正做到实时更新。 数据可分布管理。数据的采集、输入、分析、发布,将在多组织协调下进行。 更简单的操作。 现在,Web GIS得到越来越广泛的应用。概括起来,其应用方向分为两大类,一类为基于Internet的公共信息在线服务,为公众提供交通、旅游、餐饮娱乐、房地产、购物等与空间信息有关的信息服务。另外一类应用为基于Intranet的企业内部业务管理,如帮助企业进行设备管理、线路管理以及安全监控管理等等。随着企业Intranet应用的深入和发展,基于Intranet的WebGIS应用会有越来越大的市场,这无疑是未来的发展方向。 目前Web GIS的建设面临几方面的挑战:网上数据发布和数据互操作、网上数据采掘和网上数据管理。 网上数据发布和互操作 在网上数据发布方面已经有一定的进展,许多公司已经推出了网上浏览器。如:AutoDesk的MapGuide,ESRI的ArcExplorer,GenaMap的Spatial WebBroker,Intergraph公司的GeoMedia Web Map,MapInfo的ProServer等,技术上基本采用ActiveX或JavaBeans组件。从实用的角度看,这些方法在互联网上的真正实现,尚待时日。通讯带宽是GIS复杂应用的瓶颈,还需解决不同公司间软件异构组件的兼容和并存问题,这需要第二代高速互联网或高速内部网的建立。 网上数据采掘和网上数据管理 从各专业系统数据中提炼新数据即网上数据采掘和异构数据理解、同步等数据管理问题,是Web GIS真正的核心价值。这需要复杂的数据库技术,而网络上各种空间数据使数据管理面临严重挑战,如不统一的数据格式、遗漏的数据、失效的数据、来历不清的数据、不同代码体系的数据、不同比例尺、不同精度、不同时序、不同分辩率等等,这些都使目前的数据管理方法无所适从。要解决问题,必须发挥元数据(Metadata)的作用,元数据关于数据的数据,即数据的说明。为解决地理信息领域的各种技术矛盾,元数据的标准化尤为重要。地理信息标准化是信息共享的基础,在不同部门、不同系统、不同地区之间传输数据,离不开地理信息标准化。而XML是最合适支持元数据的技术手段,适合定义国际认同的地理信息编码规则。 可见,XML对空间信息管理和网络化应用的重要意义。 2. XML在GIS中的应用 XML可以在GIS应用中发挥什么样的作用?利用XML我们可以定义查询,其实这和传统的GIS查询没有什么不同,比如可以说"根据用户指定的区域进行水淹分析,并且返回结果",响应消息就可能是基于XML格式的"分析结果在以下图形中"。与传统方式不同之处在于,XML将查询的地理数据和请求统一包含在了一个单独的XML文档中,响应信息也在 XML文档中。如下图所示: XML支持自定义标记,提供了强有力的扩展机制,这必然会出现许多GIS行业独有的标记。XML借助DTD等创建文档或者元数据,我们可以设计不同的解析程序来处理这些数据。正如我们前面所述,杂乱的标记必然影响网络数据挖掘和数据管理,因此行业需要基于元数据的XML标准体系。 OpenGIS Consortium(OGC) 适时推出了GIS的XML标记集GML(Geography Markup Language),为XML在GIS中的应用提供了良好的规范化道路,得到了行业内众多公司的支持,如Oracle、ESRI、Galdos、MapInfo、CubeWerx等。如ESRI在ArcIMS 3.0z中集成了XML,ArcXML是其针对XML的产品,内容是GML的超集。我们将在下面的主题中对GML进行进一步的介绍。 利用XML,我们能够实现许多GIS任务。可以浏览和生成影像,如SVG, VML and X3D格式;可以进行数据转换,如XSLT, 可以进行Schema配置,如DTD, XML Schema等;可以进行数据查询,如Xpointer和XQL等,还可以运行在不同的平台上,如PDA等。 XML在GIS中另外一个重要的应用是GIS图形的浏览和生成。由于XML将地理数据的内容和图形显示分离开来,可以有多种对其内容进行解释的工具。可能的图形显示格式 SVG(Scalable Vector Graphics), Microsoft VML(Vector Markup Language)和X3D等。Office支持输出图形为VML,Internet Explorer 5.0可以显示该格式,AutoDesk也在AutoCAD Map中支持VML输出。而SVG作为W3C标准,应用非常广泛,得到众多产品的支持。 对客户端程序开发来说,根据不同的客户端应用,都可以运用XML技术传输独立信息数据。例如生成ActiveX或者Java控件嵌入IE中作为瘦客户端应用,也可以直接利用Windows构建胖客户端应用,如MapInfo。可以保持当前GIS数据格式,而借助XML去进行分布式传输。MapInfo和ESRI更希望XML能够作为表示高层GIS服务的交互方式,而不只是作为数据分发的工具,例如XML可以为8848这样的零售网站提供诸如"发现离我最近的商店"或者"提供给我商品清单"等服务请求,这样真正实现GIS数据无所不在,任意存取,将极大促进网络经济的发展。 3. GML介绍 GML是基于XML的空间信息编码标准,由OpenGIS Consortium (OGC)提出,得到了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。 运用GML,封装的地理数据和图形解释是清楚分离的。如前所述,图形解释格式包括SVG、VML和X3D等。 GML基于文本表示地理信息 文本比较简单、直观,容易理解和编辑。已经在空间信息和三维显示上得到广泛应用的数据格式是虚拟现实建模语言VRML (Virtual Reality Markup Language),现在这些VRML模型元素一样可以在GML上应用。 GML封装了地理信息及其属性 GML基于地理信息抽象模型,即空间实体特征及西宁封装。地理特征(Feature)包括一系列的属性和相应的几何信息,一般来说属性由名字、类型和值组成,几何信息由基本元素如点、线、面、曲线、多边形等组成。目前GML主要局限在二维应用,正扩展到二维半和三维空间以及特征间的拓扑关系。GML允许相当复杂的特征,如特征间的嵌套。例如飞机场由出租汽车道、飞机跑道等组成。 以下是一个封装建筑物的GML例子: <Feature fid="142" featureType="school" Description="A middle school"> <Polygon name="extent" srsName="epsg:27354"> <LineString name="extent" srsName="epsg:27354"> <CData> 491888.999999459,5458045.99963358 491904.999999458,5458044.99963358 491908.999999462,5458064.99963358 491924.999999461,5458064.99963358 491925.999999462,5458079.99963359 491977.999999466,5458120.9996336 491953.999999466,5458017.99963357 </CData> </LineString> </Polygon> </Feature> 上面只有集合信息,没有实际属性,增加了属性的例子如下: <Feature fid="142" featureType="school" > <Description>Balmoral Middle School</Description>> <Property Name="NumFloors" type="Integer" value="3"/> <Property Name="NumStudents" type="Integer" value="987"/> <Polygon name="extent" srsName="epsg:27354"> <LineString name="extent" srsName="epsg:27354"> <CData> 491888.999999459,5458045.99963358 491904.999999458,5458044.99963358 491908.999999462,5458064.99963358 491924.999999461,5458064.99963358 491925.999999462,5458079.99963359 491977.999999466,5458120.9996336 491953.999999466,5458017.99963357 </CData> </LineString> </Polygon> </Feature> GML封装了空间地理参考系统 空间地理参考系统是地理信息系统数据处理的基础。GML封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性。 GML可以实现地理数据的分布式存储 GML对地理数据的分发是非常方便的技术手段,但其作用不止局限与此,同样可以成为地理数据分布式存储的重要手段。主要的技术工具是XLink和Xpointer。 GML的技术内容 GML是基于XML的,XML是数据描述的最好手段,更准确地说,XML是表达数据描述的语言。XML不是编程语言,XML的行为和操作要由Java和C++实现。 XML Version 1.0 XML用自定义的标记描述数据,看起来如下: <Feature> .... 许多 XML描述 ... .... </Feature> 有效的标记名字由Document Type Definition即DTD确定。XML数据的有效性由XML 解析器检查。利用XML可以非常容易地产生和更新具有复杂继承关系的数据结构,而这样的结构在地理信息应用程序中是非常普遍的。 图形格式 SVG、VML和X3D等图形格式都有描述图形的不同方式,如属性和颜色、线宽等。浏览SVG, VML和X3D数据文件,需要合适的浏览器,如Internet Explorer 5.0内嵌对VML的支持,Adobe对Internet Explorer和Netscape Communicator由支持SVG的插件,Adobe Illustrator也支持SVG, IBM等公司也开发了SVG的浏览器和支持库,几个Java版本的SVG 浏览器已经可以利用。 下图显示了几种技术在显示图形中的运用方式: Xlink和XPointer 利用HTML技术,人们通过影像之间的链接,可以建立地理数据的连接的集合。然而,由于HTML链接机制过于简单而不可扩展,对实际复杂的分布式应用是不合适的。 在Xlink中,链接源点只链接到数据库,数据库提供目标文档的指定XML元素。因此链接不象HTML一样,是硬编码方式,这对GML构建复杂的分布式系统是非常重要的。借助于Xlink和XPointer, 不需要改变链接源点就可以方便地进行各种应用地变换。 GML与其它地理信息编码标准 目前也有许多地理信息的编码标准,如COGIF, MDIFF, SAIF, DLG和SDTS等,与GML 地不同之处在哪里?严格意义上说,没有本质的不同,只是GML更简单和直观。最重要的区别在于GML是基于XML的! XML在当前软件技术中的作用和影响力是勿庸置疑的,微软的.NET计划就是搭建在XML之上的,在此不再赘述。由于XML的发展一场迅速,如果地理信息编码不基于XML技术,对将来的扩展和广泛应用都是巨大的阻碍。用XSLT或者任何编程语言如VB、VBScript、Java、C++、Javascript,我们可以方便地将XML数据传输到任意地方,唯一的技术就可以处理一系列的地理数据、非地理数据的任意转换和传输。我们才真正可以说,现在GIS才是Open GIS! GML可以由许多公开工具浏览 GML可以由文本编辑器打开和编辑,由于GML是XML文档,可以由许多XML解析器打开,下图是用XMLSpy打开一个GML文档: GML可以与非空间数据集成 二进制数据与其它数据的继承是非常困难的,必须理解数据结构和数据库设计。对许多老系统来说,改变数据结构必须改变应用程序,这是非常繁重甚至是不可能完成的任务。借助XLink and Xpointer,改变是非常方便的,集成也就相当容易。 总之,GML是强有力的地理信息编码标准,GML的广泛应用必然带动一个地理信息开放系统时代的到来。 以上介绍了XML在空间信息管理中地一些应用,主要介绍了GML,如果对此GML的应用感兴趣,可以与作者联系。 作者简介 乔智君:适普公司高级系统架构师,曾就职于ASDC公司,出任该公司JavaBeans Around World项目总工程师。可以通过qiaozj@sina.com与作者联系。
|