liyingben
路人甲
路人甲
  • 注册日期2004-09-30
  • 发帖数55
  • QQ
  • 铜币67枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1458回复:1

XML在空间信息管理中的应用

楼主#
更多 发布于:2004-10-06 17:56
<P>2. XML在GIS中的应用
XML可以在GIS应用中发挥什么样的作用?利用XML我们可以定义查询,其实这和传统的GIS查询没有什么不同,比如可以说"根据用户指定的区域进行水淹分析,并且返回结果",响应消息就可能是基于XML格式的"分析结果在以下图形中"。与传统方式不同之处在于,XML将查询的地理数据和请求统一包含在了一个单独的XML文档中,响应信息也在 XML文档中。如下图所示:</P>
<P><IMG border=0 src="http://www-900.ibm.com/developerWorks/cn/xml/x-gis/fig1.gif"></P>
<P>XML支持自定义标记,提供了强有力的扩展机制,这必然会出现许多GIS行业独有的标记。XML借助DTD等创建文档或者元数据,我们可以设计不同的解析程序来处理这些数据。正如我们前面所述,杂乱的标记必然影响网络数据挖掘和数据管理,因此行业需要基于元数据的XML标准体系。</P>
<P>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进行进一步的介绍。</P>
<P>利用XML,我们能够实现许多GIS任务。可以浏览和生成影像,如SVG, VML and X3D格式;可以进行数据转换,如XSLT, 可以进行Schema配置,如DTD, XML Schema等;可以进行数据查询,如Xpointer和XQL等,还可以运行在不同的平台上,如PDA等。</P>
<P>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标准,应用非常广泛,得到众多产品的支持。</P>
<P>对客户端程序开发来说,根据不同的客户端应用,都可以运用XML技术传输独立信息数据。例如生成ActiveX或者Java控件嵌入IE中作为瘦客户端应用,也可以直接利用Windows构建胖客户端应用,如MapInfo。可以保持当前GIS数据格式,而借助XML去进行分布式传输。MapInfo和ESRI更希望XML能够作为表示高层GIS服务的交互方式,而不只是作为数据分发的工具,例如XML可以为8848这样的零售网站提供诸如"发现离我最近的商店"或者"提供给我商品清单"等服务请求,这样真正实现GIS数据无所不在,任意存取,将极大促进网络经济的发展。</P>
<P>3. GML介绍
GML是基于XML的空间信息编码标准,由OpenGIS Consortium (OGC)提出,得到了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。</P>
<P>运用GML,封装的地理数据和图形解释是清楚分离的。如前所述,图形解释格式包括SVG、VML和X3D等。</P>
<P><B>GML基于文本表示地理信息</B>
文本比较简单、直观,容易理解和编辑。已经在空间信息和三维显示上得到广泛应用的数据格式是虚拟现实建模语言VRML (Virtual Reality Markup Language),现在这些VRML模型元素一样可以在GML上应用。</P>
<P><B>GML封装了地理信息及其属性</B>
GML基于地理信息抽象模型,即空间实体特征及西宁封装。地理特征(Feature)包括一系列的属性和相应的几何信息,一般来说属性由名字、类型和值组成,几何信息由基本元素如点、线、面、曲线、多边形等组成。目前GML主要局限在二维应用,正扩展到二维半和三维空间以及特征间的拓扑关系。GML允许相当复杂的特征,如特征间的嵌套。例如飞机场由出租汽车道、飞机跑道等组成。</P>
<P>以下是一个封装建筑物的GML例子:</P>
<TABLE bgColor=#cccccc border=1 cellPadding=5 cellSpacing=0 width="100%">

<TR>
<TD><PRE><CODE><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>
</CODE>
</PRE></TD></TR></TABLE>


<P><B>GML封装了空间地理参考系统</B>
空间地理参考系统是地理信息系统数据处理的基础。GML封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性。</P>
<P><B>GML可以实现地理数据的分布式存储</B>
GML对地理数据的分发是非常方便的技术手段,但其作用不止局限与此,同样可以成为地理数据分布式存储的重要手段。主要的技术工具是XLink和Xpointer。</P>
<P><B>GML的技术内容</B>
GML是基于XML的,XML是数据描述的最好手段,更准确地说,XML是表达数据描述的语言。XML不是编程语言,XML的行为和操作要由Java和C++实现。</P>
<OL>
<LI>XML Version 1.0
<P>XML用自定义的标记描述数据,看起来如下:</P>
<TABLE bgColor=#cccccc border=1 cellPadding=5 cellSpacing=0>

<TR>
<TD><PRE><CODE><Feature>
.... 许多 XML描述 ...
....
</Feature>
</CODE>
</PRE></TD></TR></TABLE>有效的标记名字由Document Type Definition即DTD确定。XML数据的有效性由XML 解析器检查。利用XML可以非常容易地产生和更新具有复杂继承关系的数据结构,而这样的结构在地理信息应用程序中是非常普遍的。


<LI>图形格式
<P>SVG、VML和X3D等图形格式都有描述图形的不同方式,如属性和颜色、线宽等。浏览SVG, VML和X3D数据文件,需要合适的浏览器,如Internet Explorer 5.0内嵌对VML的支持,Adobe对Internet Explorer和Netscape Communicator由支持SVG的插件,Adobe Illustrator也支持SVG, IBM等公司也开发了SVG的浏览器和支持库,几个Java版本的SVG 浏览器已经可以利用。</P>
<P>下图显示了几种技术在显示图形中的运用方式:
<IMG border=0 src="http://www-900.ibm.com/developerWorks/cn/xml/x-gis/fig2.gif"></P>
<LI>Xlink和XPointer
<P>利用HTML技术,人们通过影像之间的链接,可以建立地理数据的连接的集合。然而,由于HTML链接机制过于简单而不可扩展,对实际复杂的分布式应用是不合适的。</P>
<P>在Xlink中,链接源点只链接到数据库,数据库提供目标文档的指定XML元素。因此链接不象HTML一样,是硬编码方式,这对GML构建复杂的分布式系统是非常重要的。借助于Xlink和XPointer, 不需要改变链接源点就可以方便地进行各种应用地变换。</P></LI></OL>
<P><B>GML与其它地理信息编码标准</B>
目前也有许多地理信息的编码标准,如COGIF, MDIFF, SAIF, DLG和SDTS等,与GML 地不同之处在哪里?严格意义上说,没有本质的不同,只是GML更简单和直观。最重要的区别在于GML是基于XML的!</P>
<P>XML在当前软件技术中的作用和影响力是勿庸置疑的,微软的.NET计划就是搭建在XML之上的,在此不再赘述。由于XML的发展一场迅速,如果地理信息编码不基于XML技术,对将来的扩展和广泛应用都是巨大的阻碍。用XSLT或者任何编程语言如VB、VBScript、Java、C++、Javascript,我们可以方便地将XML数据传输到任意地方,唯一的技术就可以处理一系列的地理数据、非地理数据的任意转换和传输。我们才真正可以说,现在GIS才是Open GIS!</P>
<P><B>GML可以由许多公开工具浏览</B>
GML可以由文本编辑器打开和编辑,由于GML是XML文档,可以由许多XML解析器打开,下图是用XMLSpy打开一个GML文档:
<IMG border=0 src="http://www-900.ibm.com/developerWorks/cn/xml/x-gis/fig3.gif"></P>
<P><B>GML可以与非空间数据集成</B>
二进制数据与其它数据的继承是非常困难的,必须理解数据结构和数据库设计。对许多老系统来说,改变数据结构必须改变应用程序,这是非常繁重甚至是不可能完成的任务。借助XLink and Xpointer,改变是非常方便的,集成也就相当容易。</P>
<P>总之,GML是强有力的地理信息编码标准,GML的广泛应用必然带动一个地理信息开放系统时代的到来。</P>
<P>以上介绍了XML在空间信息管理中地一些应用,主要介绍了GML,如果对此GML的应用感兴趣,可以与作者联系。</P><!-- Make author heading singular or plural as needed -->
喜欢0 评分0
3echo
路人甲
路人甲
  • 注册日期2004-11-09
  • 发帖数38
  • QQ
  • 铜币211枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-11-23 19:45
<P>好!</P><P>兄弟支持!</P>
诚信以立德,立志以植本,博学以扩知,强身以健体!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部