论文部分内容阅读
摘要:本研究将分为三部分以理论与实践相结合的方式来研究掌握地图缓存术。第一部分是对地图缓存技术的概括性介绍,第二部分是利用自定义的Servlet地图缓存cache显示ArcGIS Server发布的地图服务,最后一部分是利用ArcGIS Server本身自带的地图缓存来显示地图服务。实验中,前端显示的客户端将用到OpenLayer。
关键词:地图缓存技术 地图 计算机
1 地图缓存技术概况
所谓的地图缓存技术,就是按照一定的数学规则,把地图切成一定规格的图片保存到计算机硬盘里,当用户通过客户端浏览器访问地图服务时,服务器直接返回当前地图坐标区域所对应的“瓦片”,从而达到降低服务器负担,提升地图浏览速度的效果。
对实时性要求比较高的系统来说,一般不建议使用地图缓存技术。但地图缓存带来的性能的体验却又非常良好。不使用地图缓存的系统交互响应需要大量、频繁的与服务器通讯以传输数据,因而常常陷入等待之中。需要解决的就是实时性的问题,地图缓存技术一般针对相对稳定的数据,因为地图切为瓦片以后,以图片的形式存在,对于数据的变化(这里指的是数据的几何形状变化)不能及时的反应,这就是地图缓存技术的不足之处。要想地图的变化得到及时的反映,那就必须重建地图缓存。而重建地图缓存要视地图的区域范围和缓存的比例尺而定,时间为几分钟到几十个小时不等。因此,缓存的管理是一件相对麻烦的事情。
目前主流的电子地图的地图缓存应用状况视情况的不同而表现出差异,按系统的类型不同地图缓存可以分为:C/S地图缓存、B/S地图缓存、移动地图缓存。
2 自定义Servlet Map Cache显示地图服务
对于自定义Servlet Map Cache显示地图服务的步骤是:
首先,用ArcCatalog或者ArcGIS Server manage-
ment发布一个WMS的地图服务,如图1所示。对于地图缓存的设置使用可以参考ArcGIS系列软件的用户使用说明书,由于这套软件是商业的大型软件。所以像缓存设置的高级工具是必须购买正版软件才能使用的。大多数的试用版本是不具备缓存的设置的。
其次,在MyEclipse中创建工程文件,建立一个显示的客户端Html文件;对于其中的打开Wms文件设置其处理的url转向一个servlet,最终返回瓦片地址。本实验选择Openlayer的客户端进行显示,如图2所示。
最后,编写servlet服务,配置相关的web.xml文件,经过测试发现,自定义的MapCache具有高度自主性、开源免费的商业价值和地图浏览速度的可调试性等特点。并且可以通过算法进一步提高地图的浏览速度,逃脱出了商业GIS地图服务器的束缚。
3 ArcGiS Server配置MapCache连接OpenLayer客户端
对于ArcGIS Server配置MapCache连接OpenLayer客户端的步骤是:
首先,Arccatlog或者ArcGIS Server Management发布一个WMS的地图服务。对于地图缓存的设置使用可以参考ArcGIS系列软件的用户使用说明书,由于这套软件是商业的大型软件。所以像缓存设置的高级工具是必须购买正版软件才能使用的。大多数的试用版本是不具备缓存的设置的。此外,在使用ArcGIS自备的缓存设置中需要指定缓存生成的路径以及缓存的刷新以及等待时间,一般是开辟4个连接池,等待时间在60-120秒之间。
定义其Service properties如图3所示。
其次,在MyEclipse中创建工程文件,建立一个显示的客户端Html文件。
对于其中的打开Wms属性设置:
OpenLayers.Layer.WMS("Test",
"http://localhost:8399/arcgis/services/NJGIS/MapS-
erver/WMSServer",
{'layers': '0,1,2',
… }
其中那串Wms服务的地址可以在catlog或者management在发布的地图属性中查出Layers:1,2,3代表显示地图中的第一、二、三层。
最后,运行打开地图进行浏览,速度取决于开放的SOM instance以及计算机硬件设备。服务器机>双核机>单核机,以下是单核机下运行地图的CPU、内存使用情况,以及示例机子性能硬件条件截图如图4所示。
内存:1G
研究比较发现,ArcGIS Server结合OpenLayer的开发是一套完整成熟的商业GIS开发模型,适合于大型系统的解决方案。而OpenLayer连接ArcGIS Server的两种方法,第一种开源瓦片自定义的方式更加有利于开发者自己掌控地图瓦片的生成以及服务器端对客户端地图浏览的控制,而后者是借助于ESRI公司的ArcGIS系列软件来自动生成瓦片的,内部核心代码的封装具有不可控制性。
参考文献:
[1]周文生,毛锋,胡鹏.开放式WebGIS的理论与实践[M].科学出版社,2007.
[2]毛锋,沈小华,艾丽双.ArcGIS 8开发与实践[M].科学出版社,2004.
[3]吴秀芹,张洪岩,李瑞改.ArcGIS 9地理信息系统应用与实践[M].清华大学出版社,2007.
[4]邓芳,李新城,朱伟兴.一种新的基于ArcIMS 3.1的WebGIS方案[J].计算机工程,2002,28(10):208-209.
[5]胡亚明,金焱.浅谈WebGIS的结构[J].测绘与空间地理信息,2005(3):31-58.
[6]颜金沙.Flash MAX 2004 ActionScript 2.0与RIA应用程序开发[M].北京:电子工业出版社,2005.
[7]傅兆敏,胡金宝.地理信息系统概述[J].重庆工学院学报,2006,20(2):135-137.
[8]栾绍鹏.基于RIA的地理信息服务研究与实践[D].郑州:信息工程大学,2007.
作者简介:广旗一兰(1984-),女,满族,辽宁大连人,大连科技学院电气信息系助教。
关键词:地图缓存技术 地图 计算机
1 地图缓存技术概况
所谓的地图缓存技术,就是按照一定的数学规则,把地图切成一定规格的图片保存到计算机硬盘里,当用户通过客户端浏览器访问地图服务时,服务器直接返回当前地图坐标区域所对应的“瓦片”,从而达到降低服务器负担,提升地图浏览速度的效果。
对实时性要求比较高的系统来说,一般不建议使用地图缓存技术。但地图缓存带来的性能的体验却又非常良好。不使用地图缓存的系统交互响应需要大量、频繁的与服务器通讯以传输数据,因而常常陷入等待之中。需要解决的就是实时性的问题,地图缓存技术一般针对相对稳定的数据,因为地图切为瓦片以后,以图片的形式存在,对于数据的变化(这里指的是数据的几何形状变化)不能及时的反应,这就是地图缓存技术的不足之处。要想地图的变化得到及时的反映,那就必须重建地图缓存。而重建地图缓存要视地图的区域范围和缓存的比例尺而定,时间为几分钟到几十个小时不等。因此,缓存的管理是一件相对麻烦的事情。
目前主流的电子地图的地图缓存应用状况视情况的不同而表现出差异,按系统的类型不同地图缓存可以分为:C/S地图缓存、B/S地图缓存、移动地图缓存。
2 自定义Servlet Map Cache显示地图服务
对于自定义Servlet Map Cache显示地图服务的步骤是:
首先,用ArcCatalog或者ArcGIS Server manage-
ment发布一个WMS的地图服务,如图1所示。对于地图缓存的设置使用可以参考ArcGIS系列软件的用户使用说明书,由于这套软件是商业的大型软件。所以像缓存设置的高级工具是必须购买正版软件才能使用的。大多数的试用版本是不具备缓存的设置的。
其次,在MyEclipse中创建工程文件,建立一个显示的客户端Html文件;对于其中的打开Wms文件设置其处理的url转向一个servlet,最终返回瓦片地址。本实验选择Openlayer的客户端进行显示,如图2所示。
最后,编写servlet服务,配置相关的web.xml文件,经过测试发现,自定义的MapCache具有高度自主性、开源免费的商业价值和地图浏览速度的可调试性等特点。并且可以通过算法进一步提高地图的浏览速度,逃脱出了商业GIS地图服务器的束缚。
3 ArcGiS Server配置MapCache连接OpenLayer客户端
对于ArcGIS Server配置MapCache连接OpenLayer客户端的步骤是:
首先,Arccatlog或者ArcGIS Server Management发布一个WMS的地图服务。对于地图缓存的设置使用可以参考ArcGIS系列软件的用户使用说明书,由于这套软件是商业的大型软件。所以像缓存设置的高级工具是必须购买正版软件才能使用的。大多数的试用版本是不具备缓存的设置的。此外,在使用ArcGIS自备的缓存设置中需要指定缓存生成的路径以及缓存的刷新以及等待时间,一般是开辟4个连接池,等待时间在60-120秒之间。
定义其Service properties如图3所示。
其次,在MyEclipse中创建工程文件,建立一个显示的客户端Html文件。
对于其中的打开Wms属性设置:
OpenLayers.Layer.WMS("Test",
"http://localhost:8399/arcgis/services/NJGIS/MapS-
erver/WMSServer",
{'layers': '0,1,2',
… }
其中那串Wms服务的地址可以在catlog或者management在发布的地图属性中查出Layers:1,2,3代表显示地图中的第一、二、三层。
最后,运行打开地图进行浏览,速度取决于开放的SOM instance以及计算机硬件设备。服务器机>双核机>单核机,以下是单核机下运行地图的CPU、内存使用情况,以及示例机子性能硬件条件截图如图4所示。
内存:1G
研究比较发现,ArcGIS Server结合OpenLayer的开发是一套完整成熟的商业GIS开发模型,适合于大型系统的解决方案。而OpenLayer连接ArcGIS Server的两种方法,第一种开源瓦片自定义的方式更加有利于开发者自己掌控地图瓦片的生成以及服务器端对客户端地图浏览的控制,而后者是借助于ESRI公司的ArcGIS系列软件来自动生成瓦片的,内部核心代码的封装具有不可控制性。
参考文献:
[1]周文生,毛锋,胡鹏.开放式WebGIS的理论与实践[M].科学出版社,2007.
[2]毛锋,沈小华,艾丽双.ArcGIS 8开发与实践[M].科学出版社,2004.
[3]吴秀芹,张洪岩,李瑞改.ArcGIS 9地理信息系统应用与实践[M].清华大学出版社,2007.
[4]邓芳,李新城,朱伟兴.一种新的基于ArcIMS 3.1的WebGIS方案[J].计算机工程,2002,28(10):208-209.
[5]胡亚明,金焱.浅谈WebGIS的结构[J].测绘与空间地理信息,2005(3):31-58.
[6]颜金沙.Flash MAX 2004 ActionScript 2.0与RIA应用程序开发[M].北京:电子工业出版社,2005.
[7]傅兆敏,胡金宝.地理信息系统概述[J].重庆工学院学报,2006,20(2):135-137.
[8]栾绍鹏.基于RIA的地理信息服务研究与实践[D].郑州:信息工程大学,2007.
作者简介:广旗一兰(1984-),女,满族,辽宁大连人,大连科技学院电气信息系助教。