我注意到 Arc Gis 地图的渲染速度非常慢。缩放时,渲染速度很慢。平移时,渲染速度很慢。有没有人有任何建议让地图渲染得更快,类似于谷歌地图和微软虚拟地球。
7 回答
动态地图渲染速度通常受两个因素支配:数据访问和标签布局。进行坐标投影和典型 2D 渲染的速度与从外部源(例如 shapefile 或数据库)读取数据的速度差不多。诀窍是您要加载多少数据来绘制地图?以及需要多长时间才能拿到?复杂的数据库查询可能会导致查询效率低下。查询未编入索引的数据会导致速度变慢。即使您快速找到数据,您也需要知道您正在加载多少数据。您的数据是否包含非常详细的加拿大所有岛屿的单个多部分多边形,但您只渲染怀俄明州的美加边界?
您使用的是哪种产品?桌面 ArcGIS、ArcEngine、ArcGIS 服务器,还是什么?
并不是说它真的很重要。与其在这里提问,我认为您最好搜索在线 ArcGIS 支持或在ArcGIS 论坛上提问。例如,ESRI 的桌面 ArcGIS 性能提示。据我所知,在这里闲逛的 ArcGIS 专家并不多。
对不起堆栈溢出 - 爱你!
如果您访问 ArcGIS 论坛,您可能会找到答案,但如果其他人遇到此问题,我会在此处插话。
谷歌地图等服务速度快的主要原因是它们预渲染和缓存数据。因此,他们针对各种分辨率进行渲染并将其存储,因此当用户请求数据时,可以快速交付数据的栅格。
ArcMap 确实有一个使用地图缓存的选项,这应该可以加快重复访问视图的速度。有一个可以打开的地图缓存工具栏。ESRI 帮助通常可以很好地帮助您入门,因此只需搜索地图缓存即可。
ArcMap 和 ArcGIS Server 都可以使用加速的缓存。在 ArcMap 的情况下,它可以用于各种数据源,缺点是它在使用非本地资源时会增加网络活动。在 ArcGIS Server 中,缓存是提供类似于 GE 的用户体验的最佳方式。
然后,所有服务器客户端(Web ADF、JavaScript、ArcGIS Explorer)都可以从预先计算的地图缓存中受益——缓存也可以从静态 Web 服务器传送。查看resources.esri.com,有完整的 AGS 帮助可用,在其中您可以找到规划地图缓存部分。
地图缓存仅适用于静态地图,不适用于动态图层。动态层通常是瓶颈,绘制和渲染需要很长时间。例如,我有一个包含大约 2000 个位置的动态图层,在 ArcMap 中渲染大约需要 9 秒。在 java ADF、JSF 和 JS 中实现的 GUI 中渲染大约需要 15 秒。任何想法,如何提高动态层的性能???
谢谢,唐
是的,有几种方法可以让地图加载得更快。首先,您可以使用尽可能少的要素图层。这样,要加载的数据量会更少,因此加载时间也会更短。如果你是开发应用程序的程序员,我建议尽量减少服务器调用,因为加载故事图像可能很耗时。第三,如果您正在处理大量数据,我建议您查看 HTML5 中的本地存储。
老问题,但我相信添加到 ArcGIS 10.0 的底图图层功能解决了这些问题。
静态栅格或要素可以添加到底图图层组中,并且在地图/布局视图更改时不会重新计算。它们将被锁定为设定的分辨率,因此在您放大时功能不会锐化。
https://blogs.esri.com/esri/arcgis/2010/02/02/basemap-layers-new-at-arcgis-10/