http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcGIS Server >> 正文

ArcGIS Server 9.3 ADF的改进和提升

作者:唐古拉    文章来源:ESRI中国(北京)有限公司成都代表处    点击数:    更新时间:2009-6-18
摘要:从ArcGIS 9.0推出开始,ArcGIS Server便成为ESRI产品大家族中非常重要的一员,它代表了GIS系统应用发展的趋势。在每一次版本升级中,ArcGIS Server都得到了明显的提升。首先是ArcSDE并入Server体系,在9.3中,ArcGIS Image Server和Schematics extension也成为新的扩展。那么作为企业级服务器端产品ArcGIS Server 9.3,它在ADF方面又有些什么新功能和重要的改进呢?本文将对ArcGIS Server 9.3 ADF的新特性做一简单的介绍。

ArcGIS 9.3 正式版如期发布,其中带有很多实用的新功能和对原有功能的改进,尤其在开发框架ADF方面有大量的提升改进。比如桌面端MAP的动态缓存,消除了地图拖动浏览时的白边,提高了浏览时的地图显示速度等;又比如全新的ArcGIS JavaScript APIs,基于这套新的开发接口,用户可以构建纯浏览器的客户端应用,并且可以扩展Microsoft Virtual Earth和Google Maps JavaScript APIs,轻松创建Web Mashups应用。

    从ArcGIS 9.0推出开始,ArcGIS Server便成为ESRI产品大家族中非常重要的一员,它代表了GIS系统应用发展的趋势。在每一次版本升级中,ArcGIS Server都得到了明显的提升。首先是ArcSDE并入Server体系,在9.3中,ArcGIS Image Server和Schematics extension也成为新的扩展。那么作为企业级服务器端产品ArcGIS Server 9.3,它在ADF方面又有些什么新功能和重要的改进呢?本文将对ArcGIS Server 9.3 ADF的新特性做一简单的介绍。

1. ArcGIS Server 9.3 .net ADF新特性

    1.1. 功能的提升

    首先是9.3中不同的数据源相互叠加显示的效率更高。在9.2版本中,为了增强网络地图的显示效率,Web ADF提供了一种基于地图为中心的块设计方案(tiling scheme)。它是一种整体化的方式,所有的地图块设计方案都遵守这一策略。而在9.3版本中,每一个服务资源都可以拥有自己的块设计方案,这是一种灵活的设计机制。另外,缩短了ASP.ENT页面生命周期,动态缓存地图块的生成不在ASP.ENT页面生命周期范围内。如图1所示动态缓存的矢量数据和静态缓存的高程表面数据拥有不同的块生成方案,它们可以更加快速的叠合在一起,浏览的速度也得到了明显的提升。
 
    在客户端操作方面有更多值得注意的更新,包括以下几方面:

扩展了ASP.NET AJAX客户端的功能;
Web 控件能够提供脚本参考和脚本描述(比如实现IScriptControl接口)而不依赖外部对象;
开发人员可以在同一文档同一地方既描述客户端功能,又描述服务器端功能;
Web 地图可以通过JS代码实现地图事件功能的调用;
地图资源管理器提供了层格式支持功能;
可以给点、线、面添加地图自动标识功能(MapTips);
在tasks框架中,Results中的结果可以和地图进行交互操作,并且Results可以重载图层格式;
Graphics层可以在客户端进行渲染;

    其他功能的增强包括新的JS动画库,集成动画进度工具条,可以更加智能活泼地显示特别信息,以及增强了Overview、TOC、MIME影像的处理功能等。

    1.2. 更好的开发体验

    AJAX技术给Web应用程序的用户的操作体验带来了显著提升,这给Web 应用程序的开发人员提出了新的要求。ArcGIS Server .NET Web ADF 9.3完全和Microsoft ASP.NET AJAX集成,直接改善了GIS Server开发人员的开发体验。除此之外,在提高开发体验方面9.3中还有以下一些新特性:

在Visual Studio 工具箱中新增Web控件包括:MapCopyrightText 、PrintTask 、ColorPicker和ContextMenu;
两个新的ASP.NET AJAX行为:DocExtender 、HoverExpandExtender ;
Web应用程序模板基于ASP.NET AJAX(包括ScriptManager);
完全支持Web ADF 客户端JS库;
支持Visual Studio 2008和Visual Studio 2005,提供两个环境下的模板和例子代码,支持.NET 3.5版本;
增强的JS代码调试功能;
更加丰富和全面的帮助文档。

    1.3. 增强的用户体验

    Server Web应用程序的用户除了享受新功能创造的价值以外(如打印功能、帮助文档等),基于ASP.NET AJAX开发的网络地图应用程序,会给用户带来更好的操作体验。

2. ArcGIS Server 9.3 java ADF新特性

    Server 9.3 ADF在功能方面有较大的改进,新增了Printing task 和Graphics Resource的同时,Map Results和Editing也增加了不少实用的功能。修正了原来产品中的一些问题,帮助文档和例子代码也更加完善。

    2.1. 功能上的改进

    2.1.1. 打印功能(Printing)

    在9.3,java ADF中提供了跟.NET版本中类似的打印功能。新的打印功能做为一个task出现和其他的tasks使用方式一样:首先在jsp页面添加task标签,然后在face-config.xml文件中进行配置,如图2所示。图3展示了WEB页面打印的场景和功能。

    2.1.2. 图形资源(Graphics Resource)

    在9.2版本中,WebGraphics可以让用户添加几何对象到地图上,而图形资源可以让用户轻松地添加少量的矢量数据,这两个功能感觉有点类似,但是相比之下,WebGraphics少了很多功能。

    使用Graphics Resource的注意事项:

    首先,使用少量的要素数据(低于50000个顶点)。对矢量数据的操作发生在Web服务器,所有的要素存储在Web服务器的session内存中;即使有很多人使用同一个要素,每一个session都拥有自己单独的要素拷贝;如果session数据量很大的话,集群的性能也很差。

    其次,在一个session中的数据最好少变更,数据源没有自动同步机制。

    最后,显示数据最好的方式是,数据已经是一个操作或者是task的结果。不到万不得已,最好不直接把第三方的数据源加到Graphics Resource中,如果要用就自定义一个GIS Resource吧。

    2.1.3. 要素属性识别(Map Results)

    Map Results的效果如图4所示,当我们点击一个要素时弹出一个属性框,在9.3中有以下一些新的功能:

可以选择要显示的属性字段;
可以定义字段的别名;
可以定制显示结果中的数量;
显示符号可以自定制;
显示窗口模板InfoWindow可以自定制;
 窗口内也可以内嵌图片;
要素属性识别定义在LayerDefinition类的基础之上,图5显示了它的使用方法。首先在faces-config.xml中定义LayerDefinition managed-bean,然后在task声明中把要素属性识别功能指向你创建的层定义,最好是通过arcgis server manager创建一个faces-config.xml,然后把相应的代码粘贴过来。

    2.1.4. 编辑功能(Editing)

    9.2已经有了编辑功能,但是在9.3除了GIS专业人员使用的Edit Task外,还有为大众服务的EditBean,以改进非GIS专业人员的编辑流程。需要注意的是EditBean并不是task框架的一部分。简单的编辑功能仍然可以直接用manager进行定制,而如果要用更加复杂的编辑功能和客户化的操作方式就需要在程序中进行控制。

    2.2. 性能和体验上的提升

    2.2.1. 性能

    在Server Java 9.3中要增加应用程序的性能可以考虑以下几个因素:一是使用尽量少的资源;二是限制数据在网络上的传输量,设置要素数量的最小和最大值;最后是限制WebGraphics 和 GraphicsResource上的要素数量。另外,9.3中java ADF在性能方面有以下一些改进:

全局切片方案的性能提高了25%;
解决了java和COM间调用时可能出现的内存溢出问题;
连续移动浏览的速度变快了,删除了不必要的访问;
TOC显示性能的改进;
修复了两个自定义性能优化参数设置时可能出现的bug;

    2.2.2. 文档

    在文档方面也有不少改进:

改进了表结构的内容,更易于文档内容的搜索;
新功能(打印和图形资源)的帮助文档有完善的类和方法描述;
增加了ADF JS库和SOAP库的内容;
改进了ADF的新手帮助和全库总览;
美国ESRI官方的ArcGIS Server博客上开始增加java的内容。

    2.2.3. 功能

    ESRI在9.3中修复了100多个用户报告的bugs,并且顺利通过以下测试:

把9.2的应用程序移植到9.3;
网络应用程序的集成测试;
功能性回归测试;
安全性测试;
内存溢出检测测试;
java应用服务兼容性测试。

3. 总结

    综上所述,ArcGIS Server 9.3在ADF中有很多实用的新特性。.NET中的动态缓存,新的开发控件,与ASP.NET AJAX的完全集成等;java中新增的PrintTask和Graphics Resource,改进的Editing和Map Results等,这些更新将会在各个方面提升用户在使用ArcGIS Server产品中的体验。如果需要了解更多关于ArcGIS Server 93的内容,可以访问:
http://www.esri.com/software/arcgis/arcgisserver/whats_new.html

Tags:ArcGIS Server  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图