内蒙古java团队

j2se,j2ee开发组
posts - 139, comments - 212, trackbacks - 0, articles - 65
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

FDO

Posted on 2011-12-07 11:00 帅子 阅读(1027) 评论(0)  编辑  收藏 所属分类: 申请加入java团队

FDO 数据访问技术

长久以来,由于地理空间信息行业的固有特点,在这一领域中存在着多种不同的文件或数据库格式。当用户使用了某个公司的数据存储格式之后,常常就被迫使用同一个公司的软件,以访问他们自己的数据。如果希望使用其它公司的软件,就往往要耗费大量的精力把数据从一种格式转换成另一种格式,或者设法去读写这些专有格式。在这个过程中,可能导致的问题包括:

◆ 数据丢失:例如一种格式中记录的数据可能无法或很难转移到另一种格式中;

◆ 精度损失:例如把数据从一个双精度的格式中转移到单精度甚至整型的格式中;

◆ 数据冗余:同一份数据要创建多种格式的拷贝;

◆ 过时信息:当一个版本的数据更新后,未能及时更新其它格式的版本,导致项目成员使用过时的数据而导致不必要的错误;

◆浪费成本:大量的时间和金钱耗费于毫无生产性的工作。

FDO技术的帮助下,针对每种现有的数据存储格式,只要编写一段程序,将原有的数据存储“翻译”到FDO API,就可以提供给使用FDO的应用程序访问。这个“翻译”程序就称为FDO Provider。只要安装了FDO Provider,应用程序就可以通过调用FDO接口来直接访问相应的数据存储,而不再需要进行格式转换。因此,开发人员可以将更多的精力集中于应用程序逻辑,而不是处理各种数据格式。

Autodesk不仅制订了FDO API的标准,还开发了一系列的FDO Provider提供给用户。目前已包括:

◆ 文件型数据源:SDF、SHP;

◆ 数据库型数据源:ArcSDE、Oracle*、MS SQL Server*、MySQL、ODBC;

◆ Web数据源:符合OGC规范的WMS/WFS(只读);

◆ 光栅数据源:多种常见的二维光栅格式和DEM格式*(只读)。

为了推广FDO技术的应用,Autodesk与OSGeo合作,将FDO作为一个开放的标准发布(http://fdo.osgeo.org/),并将已有的FDO Provider作为免费的开源产品贡献给社区(列表中带*号的除外)。

在OSGeo的推动下,FDO正在成为访问地理空间数据格式的统一的标准,并且已经由开源社区的开发人员(而非Autodesk)提供了更丰富的FDO Provider,包括OSGeo FDO Provider for PostGIS和OSGeo FDO Provider for GDAL/OGR。这些Provider程序都基于标准的FDO接口,因此应用程序可以轻松的使用它们来扩展其支持的格式。

另外,由于FDO Provider本身并不必须是开源的,因此对于原先私有数据格式的所有者,即使在不公开该格式的情况下,也可以通过发布FDO Provider使得其它开发人员和应用软件可以访问该格式中存储的数据。借助FDO Provider,应用软件还可以访问遵循OGC(Open Geospatial Consortium)标准的WMS/WFS(网络地图/要素服务)站点,从而获取基于Web的公开的地图数据资源。

有了FDO,企业就不再局限于某一数据格式的软件供应商,而是可以自由的选择功能更强大、价格更低廉的软件来访问其自身的数据资源,从而可以降低成本,提高生产力。

SDF空间数据格式

Autodesk不仅推出了FDO技术以访问现有的地理空间数据格式,还开发了新的开放的空间数据格式SDF(Spatial Data Format)。SDF格式是基于开源数据库格式sqlite(http://www.sqlite.org/),并且针对大型GIS数据集的存储进行了优化。

SDF是一种易于使用的文件型空间数据格式,它能够在一个文件中以表格的方式存储多种地理要素,包括多种几何类型(点、线、多边形和圆弧)以及关联的属性信息。与SHP相比,它更为小巧便携,使用双精度存储,支持真正的圆弧对象,并且支持海量数据存储(可存放超过100GB的数据),性能优越。

而与Oracle等真正的数据库系统相比,它的成本更低廉,更易于复制和传送,因此更适合于个人或小型系统使用。使用FDO技术,还能够轻松的将SDF转换成其它格式,因此当企业规模发生变化,需求从小型系统进化到大型数据库系统时,可以很方便的将SDF的数据迁移进入Oracle这样的数据库。

DWF图形技术

DWF(Design Web Format)图形格式是一种专为网络应用而设计的矢量图形格式,可将其称为“网络时代的电子图纸”。DWF与AutoCAD DWG看起来相似,但也有很大的不同。

首先,DWF是高度压缩的格式,体积小巧,因此更便于网络传输;其次,DWF是专为图形浏览、审阅和打印而设计的,它忠实的再现了原始图形,但却不可进行更改(只能添加批注),因此能够保证数据的安全可靠性;最后,DWF是一种智能的图形格式,它不仅支持图层控制、电子量测、三维模型和多页图纸集,更重要的是它还包含了对象的属性数据。

例如,在一个DWF的地图文件中,审核人员不仅可以选中一个地块,用电子方式测量它的面积,还可以查看其中包含的地块属性,例如产权所有者、绿化率和建筑密度。当发现错误时,可以在图上添加电子批注,然后将DWF文件发回给制图人员修改。因此,在基于网络的图形浏览和审批流程中,DWF是最佳的数据格式。

DWF对于Web应用也有非常重要的意义。我们不仅可以在安装了DWF Viewer插件的Internet Explorer软件中直接浏览DWF文件,更重要的是,由于DWF是一种流媒体格式,这意味着可以在文件下载的过程中逐步显示其中的内容,而不是等到整个文件下载完成之后才显示其全部内容。因此,基于DWF技术的Web应用能提供更好的用户体验。

MapGuide Open Source

MapGuide Open Source是Autodesk开源的地理空间信息技术的集大成者。它综合利用了多种开源技术,提供了一个先进的WebGIS平台,用于集成多种数据源,建立一个基于Web的地理空间信息应用系统,将地理空间数据发布到Internet/Intranet进行共享。并且,由于MapGuide Open Source是专门针对WebGIS应用开发的,因此非常容易学习和使用,性能也更为出色。

MapGuide Open Source是由Autodesk独立开发的全新产品,并于2005年11月发布。尽管其名称与以前的Autodesk MapGuide 6.5相似,但是新的MapGuide是完全重新开发的,使用了与以前截然不同的技术,因此实际上是两个完全不同的产品。新的MapGuide包含两个版本:开源版本MapGuide Open Source和商业版本Autodesk MapGuide Enterprise 2007。

这两个版本的内核完全相同,绝大多数功能也一样,但商业版本提供了更多的高级功能(例如用于Oracle和SQL Server的FDO Provider),并且可以获得Autodesk公司提供的技术支持和服务。

与以前的Autodesk MapGuide 6.5相比,MapGuide Open Source(也同样适用于商业版本)使用了最新的流行技术,因此更加卓越。其主要的新特性如下:

◆ HTML(AJAX)和DWF两种浏览方式

MapGuide Open Source可集成服务器端的多种数据源,并通过HTML方式或DWF方式发送到客户端。这两种方式提供了几乎完全相同的界面和功能,包括动态的图形缩放和平移、图层控制、选中要素并查看属性数据、浮动提示、图上测量和缓冲区分析等。

在HTML方式中,服务器端的地理空间数据被转换成光栅图像发送到浏览器,使用AJAX(Asynchronous JavaScript and XML)技术进行用户交互,而无需在客户端安装任何插件。而在DWF方式中,发送到客户端的是DWF格式的矢量数据,使用浏览器内嵌的DWF Viewer进行查看,因此能够提供更快的用户响应速度、更好的缩放和打印性能,另外还可以将DWF文件保存到本地以备脱机浏览。

◆使用FDO数据访问技术

MapGuide Open Source使用FDO作为数据访问的接口,因此它能够无缝直接读取多种地理空间数据格式,包括SDF、SHP、ArcSDE等。另外,在Autodesk MapGuide Enterprise这一商业产品中还提供了对Oracle和SQL Server的支持。作为一款经过OGC认证的产品,MapGuide Open Source还支持通过WMS/WFS集成和发布Web地图数据。

◆ 更强大的图形平台

MapGuide Open Source还具有更强大的图形显示性能,包括支持真彩色、TrueType字体、地图符号库、透明填充和智能的文字标注功能。另外,它还提供了更方便的用户交互界面。很多在以前的MapGuide 6.5中需要通过开发人员编程实现的常用功能,现在都可直接从MapGuide产品中获取。

◆ 空间应用服务器

由于MapGuide Open Source是在服务器端进行空间数据的访问、查询和分析,因此这就赋予它一种强大的特性,作为一个空间应用服务器,以“机器到机器”的方式与其它应用系统进行交互。

简单来讲,当另一个应用软件(不限于Web浏览器)按照事先约定的方式向MapGuide Open Source服务器发送一个请求时,MapGuide Open Source接受这个请求,执行其操作(例如查询某个指定区域内的地理空间数据),然后将操作的结果以事先约定的格式发送给该应用软件,然后该软件就可以按照其自身的需求对返回的信息进行处理。

将MapGuide作为空间应用服务器的一个最新例子,是加拿大的Nanaimo市使用它与Google Earth进行集成。该网站(http://earth.nanaimo.ca/)可以将市政府的MapGuide服务器中的空间数据输出为kml格式(Google Earth的文件格式)。于是,当用户在Google Earth客户端中打开一个包含MapGuide服务器地址的kml文件时,Google Earth客户端就向该MapGuide服务器进行查询。

而MapGuide服务器接收请求后,就查询该地区的空间数据并生成kml格式返回给Google Earth客户端。然后,Google Earth客户端就可以显示来自MapGuide的空间数据并叠加到它自身的卫星影像上。

因此,MapGuide不仅仅是一个Web地图平台,更是一个基于Web的空间数据引擎。使用MapGuide,可以很容易的为其它应用系统提供空间查询和分析功能,或是将分布于多个系统中的空间数据集成到一个客户端上进行浏览。

MapGuide Open Source(以及Autodesk MapGuide Enterprise)提供了如此之多的强大功能,因此能够用于架设企业级的地理空间信息应用系统。

另外,Autodesk还提供了与之配套的开发工具Autodesk MapGuide Studio,用于收集和整理地图数据、创建地图显示样式,以及集成用.net、Java或PHP开发的应用程序逻辑,并在发布之前对整个系统进行预览。Autodesk MapGuide Studio是一个独立的商业软件,但Autodesk也提供了可下载的免费试用版本,并且可向开发商合作伙伴提供用于开发的许可。

此外,MapGuide Open Source还能够与桌面软件Autodesk Map 3D 2007协同使用,以简化地图创建到发布的流程。Autodesk Map 3D 2007是基于AutoCAD的地图制作与编辑软件(商业产品),它也同样使用FDO数据访问技术,因此能够直接访问多种地理空间数据格式,使用AutoCAD工具进行编辑,并创建地图显示样式和制作专题地图。使用Map 3D制作的地图可以直接输出到MapGuide Open Source服务器上进行发布,并且保持在Map 3D中做好的显示样式。

采用LGPL授权

与开源软件中流行的GPL授权不同,Autodesk在MapGuide Open Source以及大部分FDO Provider中使用的是LGPL授权。与GPL相比,LGPL授权是一种更为宽松的授权。

如果您在自己开发的软件产品中包含了基于LGPL授权的产品(例如在MapGuide Open Source的基础上开发的应用系统),LGPL并不要求开放您新增的这些代码(与之相反,GPL授权要求开放您新增的所有代码)。您所开发的新软件可以是开放的或者私有的,可以是免费的或者收费的,没有任何限制;但如果修改了其中原产品的部分代码,那么您必须明确的指出修改的部分,并公布修改后的代码。因此,与采用GPL授权的开源软件(例如MapServer)相比,MapGuide Open Source更加适合于商业应用。

事实上,Autodesk MapGuide Enterprise 2007就是基于MapGuide Open Source的一个商业产品,它包含MapGuide Open Source的所有功能。

为了让更多用户从MapGuide Open Source受益,Autodesk将此软件捐献给OSGeo基金会。用户可从OSGeo网站下载和使用该产品及其源代码。

这意味着MapGuide Open Source不再属于Autodesk所有,而是属于以OSGeo为代表的全体开源社区。但同时也需注意,Autodesk不对MapGuide Open Source的用户提供技术支持和任何保障,这些用户需通过开源社区获取支持。Autodesk仅对Autodesk MapGuide Enterprise的用户提供支持和服务。

结语

通过本文的介绍,我们简要的浏览了Autodesk在地理空间信息领域的一系列开源技术和产品。使用来自Autodesk的开源技术,能够与其它开源软件或商业软件集成,建立起完善的基于Web的地理空间信息应用系统,从而为最广泛的用户共享地理信息,同时帮助企业降低成本,提高生产力。Autodesk将与OSGeo协作,不断的为地理空间信息的开源事业做出贡献。

图1 FDO数据访问技术

图2 MapGuide Open Source 站点架构


只有注册用户登录后才能发表评论。


网站导航: