在Esri的会议中,我们经常会举办有关加快地理信息技术Web服务的研讨会。这其中最重要的建议就是尽可能的进行预计算。在这一点上,我们会说明所谓的预计算的含义,同时提供给用户一些简单的方法,通过遵循这些原则来提高ArcGIS
Server服务的性能。
服务器环境下预计算的重要性
当你使用桌面GIS进行程序处理时,计算机是完全供自己使用的。你可以用电脑集约计算一些东西,这通常可以在很短的时间内完成,因为你掌握着计算机所有可利用的资源。
在GIS服务器环境下,情况会有所不同。通常不会只有你一个人在使用GIS服务器,也许会有成千上万的用户同时在使用。而大家都希望迅速从网络中得到想要的回复。如果用户用了超过几秒钟的时间来等待某个事件的响应,那么这个应用程序无论功能有多强大,都被视为是无用的。
预计算的关键就是要弄清楚服务器正在处理什么工作,并且在用户提出要求之前尽可能的完成这些工作。你的服务器在用户提出要求时工作的越少,就能立即满足更多的用户需求。让我们看一些例子。
地图缓存
为了保证你的服务快速运作,地图缓存是预计算的一个最好的例子。你利用初始时间和计算资源来绘制影像(切片)地图并将他们储存在服务器端的缓存中。在缓存建好之后,服务器就可以按需求分发切片,而不是及时绘制影像地图。切片通常在临时服务器上创建好后在非高峰时间复制到生产服务器上,地图缓存不仅快速(即服务器可以迅速返回一个分块影像图片),并且可缩放。当派发缓存切片时,由于你的服务器几乎无法做任何工作,所以此时就可以容纳更多的并发用户。
创建地图缓存需要花费很长时间,特别是对于那些覆盖较大地理范围的大比例尺地图。幸运的是还有许多其他预计算的技巧可以加速切片的创建。
投影数据
实时投影是计算密集型的,它可以在GIS服务器体系结构的各层下引入。如果你可以将源数据、数据框以及Web地图的坐标系进行匹配,那么就可以不用对它们进行实时投影了。
许多人由于他们的web地图使用的是web墨卡托投影,这是一个存储源数据不太理想的投影方式,从而在犹豫使用堆栈时不知道该如何匹配坐标系统。对此,有一个解决办法就是在web墨卡托投影中将你的数据集进行单向复制,仅供网络绘图使用。复制数据就可以向web墨卡托投影输出数据,这也是在脱离原始坐标系统下投影数据集的一个简单的途径。
预计算地理处理结果
果早已作为建筑物的属性储存起来。另外,如果你使用手绘多边形选项来计算太阳能资源,则需要等待服务器运行模型而得出结果。
保持空间和属性的索引
当ArcGIS在画图时,需要检索当前地图范围内的所有数据特征。如果地图上的数据集拥有已建成的空间索引,那么就可以更快的检索到特征,从而提高绘图速度。创建空间索引并保证数据即时更新对绘图效果来说非常重要。
同样的,ArcGIS在响应一个请求时,属性索引可以帮助更快的找到所需记录。如果当你知道某一字段经常会被查询时,那么这就值得为其创建属性索引了。
使用注记进行标注
能够自动的为地图标注找到一个理想的位置需要大量计算,为此已经开展多项调查研究。现代的标注引擎如Maplex,能够在微小的地图空间内无重叠的定位大量标签。然而,这些智能标注放置计算需要耗费CPU和内存资源。如果你使用注记,那么服务器就可以在每个地图绘制请求上避免一些标注的工作。
注记是将标注信息保存到数据库中的一项技术。当你使用注记时,每一个标注都有预设好的位置;因此,服务器不必为每个标签位置放置而进行计算。为了得到更好的结果,你可以使用ArcGIS桌面产品中的Maplex扩展模块,将标注放置到最佳位置,然后便可将标注储存到注记中供网络服务当中使用。
总结
以上的例子向您展示了多种使用预计算信息,从而提升GIS网络服务的途径。许多预计算的技术还可以加快地图切片的创建,这也是预计算的最终形式。
作者:arcgis_all 发表于2012-11-23 9:29:52
原文链接