如何加快动态地图服务的速度?


16

我正在基于ESRI Flex的应用程序上工作,该应用程序将显示动态地图服务中的数据。它必须是动态的,因为最终用户应该可以选择打开和关闭图层。这仅适用于动态地图服务而不适用于平铺地图服务。

可采取哪些步骤提高服务器将图块发送到客户端的速度?

我正在网上查看ArcGIS上可用的ESRI动态地图,它们的速度非常快。他们如何获得如此出色的表现有什么想法?


4
您可以为每个图层使用单独的平铺地图服务,然后打开或关闭每个地图服务。
Britt Wescott 2010年

@Seth:我得出的结论与您相同。借助我们正在使用的层数和预期的同时用户数,单独的切片地图服务可提供最佳性能。
Devdatta Tengshe 2010年

我们遇到了同样的问题,我已经向ESRI发送了一个增强请求,以获取对动态地图服务中各层的并行执行的支持,我认为这将大大提高性能。
MathiasWestin 2010年

Answers:


11

您可能已经做到了,但是对于其他可能会提到的人来说值得一提。使用ArcMap中的“地图服务发布”工具栏花费一些时间可以使动态地图服务的性能大为不同。“分析地图”工具很好地用于发现降低地图服务速度的问题。此外,将其保存并发布为地图服务定义(MSD)而不是MXD可以显着提高性能。

一些链接:


虽然其他答案提出了有效的观点,但我已经考虑过了。您链接到的研讨会除了为他人提供了所有建议的解决方案之外,还为我提供了一些我不知道的信息。因此,我会将您的答案标记为已接受,因为您的链接提供了更多的观点以及解决问题的全面方法。
Devdatta Tengshe

14

我假设您只是想使用任何实时网络地图服务,都可以使地图服务器“尽可能少地”思考。换句话说,请预先计算所有可能的内容。

  1. 将所有数据都放在同一个SRS中,这样就不会“即时”进行任何投影。
  2. 在数据上创建空间索引。
  3. 构建数据的通用概述,并使用比例依赖关系为特定比例选择适当的图层。(例如,如果输出图像仅为250 x 250像素,则绘制具有10,000个顶点的多边形是没有意义的。)

8

DavidF的答案还有其他几点:

  • 如果可以,请确保使用基于优化(MSD)的服务。它们的绘制速度确实比常规(MXD)服务快,并且创建MSD服务的过程将在您的地图上运行某些分析,从而可能暴露出可能导致绘制时间变慢的问题。

  • 尽可能使用简化的渲染器。避免进行复杂的绘图操作,如抖动,颜色渐变和光栅标记。

  • 使用满足您的业务需求的最少数据量。如果您的数据中有一些属性不会用于绘制地图,请删除它们。即使确实需要报告数据,也可以根据需要从客户端获取数据(尽管这会增加额外的编程工作)

  • 打开地图的详细日志记录并查看日志文件,以查看绘制地图时ArcGIS Server的工作。有关配置详细日志记录的说明,请参见Esri的博客网站。该版本适用于9.3版,但ArcGIS 10的配置位置相同。

请记住,调优是一个非常具体的操作,它非常主观且特定于您所执行的操作。将自己的地图的性能与其自身进行比较将比将您的地图与其他人的性能进行比较更有价值。


我已经解决了前三点,但是您能否进一步说明“详细记录地图”?我试图找出答案,但是唯一找到的链接是关于ArcIMS服务的。
Devdatta Tengshe 2010年

我在Esri的博客中添加了有关ArcGIS Server日志记录的链接。
mwalker 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.