ArcGIS Server 地图制作的注意事项
要使地图在服务端可用,您需要首先在 ArcMap 中创建地图并发布到 ArcGIS Server,然后使用生成的地图服务。使用 ArcGIS Server 执行各种操作之前,都需要在地图制作的最初阶段做一些准备工作。本主题涵盖了在制作一幅计划发布到 ArcGIS Server 的地图时需要考虑的一些问题。
一般性提示
下面的提示对于所有将要发布到 ArcGIS Server 的地图文档都很重要:
- 不要在数据框名称或图层名称中使用空格或非字母数字字符。因为当这类名称包含在 URL 中时,有些 Web 服务器可能无法解释其中的空格或特殊字符。另外,如果试图为服务创建缓存,由于缓存文件夹需要以数据框名称和图层名称命名,因此在操作系统尝试命名时可能无法识别特殊字符。
- 从文档属性中移除敏感信息。通过 ArcGIS Server 的 ArcGIS 服务目录,用户可以浏览服务器中的内容并获取服务的元数据信息。即使您想要您的服务通过服务目录公开显示(ArcGIS Server 的默认配置),也不排除地图文档中仍包含一些希望隐藏的敏感信息。要查看哪些信息呈可见状态,请打开地图文档然后单击文件 > 文档属性。发布地图之前,最好移除此对话框中所有不希望通过服务目录显示的作者用户名、注释或其他信息。
- 从地图文档中移除所有受保护的 ArcGIS Server 地图服务图层。ArcGIS Server 可阻止地图服务中包含任何受保护的服务。不过,一般来说,最好不要将某些服务嵌套在其他服务中。而是将客户端设置为直连至要包含的服务。
- 将地图文档作为服务发布之前,请从地图文档中移除所有 ArcMap 底图图层(使用新建 > 底图图层创建的图层)。通过设置底图图层而获得的性能优势,仅能在 ArcMap 显示环境中得以体现,而无法传递到地图服务中。如果要在地图中保留此类图层,则可将它们重新标记为一个图层组。如果要将图层作为快捷地图服务(即在应用程序中用于提供背景上下文环境)呈现,则建议您创建一个只包含基础数据图层的独立地图文档,然后将该文档作为缓存地图服务发布。建议使用缓存方式创建 ArcGIS Server 的快速底图。
-
应明确设置一种数据框背景色,而不要保持默认的空背景色不变。地图服务会将默认的背景色视为透明,因此应避免选择会在地图中其他位置出现的颜色。要避免地图的白色区域变为透明,可将背景色设置为接近白色(例如:RGB 254, 255, 255)。
您可以在数据框属性 对话框的框架 选项卡中设置背景色。
- 发布用于 ArcGIS Server 的 PMF 文件之前,请打开 Publisher 的设置 并转至应用程序 选项卡。取消选中仅在 ArcReader 中打开,然后选中不受限制地访问已发布地图的内容。
能否缓存地图以提高性能?
如果地图中包含的数据不大可能发生变化,则应考虑缓存该地图以提高性能。缓存地图时,将在某些比例级别上创建一组经过预渲染的地图图像。而实际的缓存过程会在地图作为服务发布后开始执行。但是,如果事先已计划要缓存地图,则可会对地图的制作过程略作改动。最好将地图制作为,在所有要缓存的比例下均显示良好。您可以使用任何不会影响性能的制图工具,因为这些缓存切片只是一系列数据图片;缓存创建完成后,您便不会用到实际的渲染和标注引擎。
如果无法缓存某地图,则渲染和标注引擎将影响地图服务的性能。
针对未缓存地图的有关性能方面的提示
只要条件合适,就应该创建地图缓存。但是,如果其中的大量数据都需要频繁更改,则创建和维护地图缓存并不切实可行。这种情况下,您可以按照以下提示来提高地图的性能。使用地图服务发布 工具条分析地图后,便可以从地图文档中快速识别出某些需要提高性能的区域。
-
对数据图层设置按比例渲染 - 使用按比例渲染,可确保地图缩小时不会绘制那些不必要的图层。数据密集的图层或详细的图层则仅在地图放大到某一较大比例时才会渲染。
-
移除未使用的图层和数据框 - 检查页面布局和数据视图以确保地图文档中未包含与地图用途无关的数据框和图层。例如,如果页面布局视图中包含的数据框并不会显示在任何使用该服务的应用程序中,则请移除这些数据框。
-
恰当使用定义查询 - 定义查询可作为一个限制地图数据量的过滤器,从而加快地图的绘制。例如,如果正在创建的是某个州的地图而要素类中包含的是整个国家的数据,则可通过定义查询功能只显示落在州边界范围之内的那些要素。请注意,一些复杂的查询实际上也可能对性能产生负面影响。
简化图层符号系统 - 对于基于 MXD 的地图服务,绘制复杂符号远比绘制简单符号耗用的时间多。因此请尽量使用简单的线符号和填充符号,避免使用包含多个图层和复杂的虚线、混列线或轮廓线样式的符号系统。高速公路盾形路牌符号也可能会减慢绘制速度。
使用图片填充符号时,相比 BMP 文件,使用 EMF 文件可以更好地提高性能。
用于简化地图中部分符号的一种简单方法是应用 ESRI_Optimized 样式。这种样式中包含旨在提高性能但又与默认 ESRI 样式中对应符号的外观类似的线符号和填充符号。了解如何使用这种样式的信息,请参阅 ArcGIS Desktop 帮助中的组织样式内容主题。
提示:在可能的情况下,尽量使用地图服务定义 (MSD) 文件代替 MXD 文件完成服务的发布。基于 MSD 的服务利用的是一种优化的绘制引擎,从而不仅可以快速渲染简单符号,还可以快速渲染复杂符号。因此,如果使用 MSD,便无需简化所有的符号。
如果正在创建的是一个缓存地图服务,简化地图并不会影响成品地图的传输速度,而只会影响缓存的创建速度。如果缓存构建所花费的时间是合理的,就不必再考虑进行符号简化了。
-
使用注记替代标注 - 由于标注的显示需要计算机判断放置策略,因此通常选择使用注记图层会节省时间。
-
简化标注 - 如果地图中包含标注,则需要谨慎使用标注和要素冲突权重。另外,晕圈、偏移及其他标注效果也会减慢绘制速度。
-
为标注设置按比例渲染 - 地图被缩小时,会要求绘制更多的标注,从而花费更多的时间。因此请检查地图文档并确定是否存在某些标注并不需要在较小的比例下显示。
-
数据和地图使用同一坐标系 - 如果源数据和地图文档使用了不同的坐标系,则数据必然会进行动态投影,从而降低显示性能。要获得最佳性能,建议数据和地图文档使用同一坐标系。如果该操作无法实现,请确保对需要动态投影的图层应用恰当的地理(坐标)变换。
地图是否要用于 Web ADF 编辑器任务?
如果此地图要用于某 Web ADF 编辑应用程序中,您可在地图的制作过程中执行一些操作,以便改善这个任务的外观和性能。
最为重要的一点是,地图中的可编辑图层必须来自 ArcSDE 地理数据库。对于小型部署,可以使用 Microsoft SQL Server Express 的 ArcSDE;而对于较大型部署,可以使用企业级 RDBMS 的 ArcSDE,如 Oracle。地图中其他不参与编辑的图层则无需来自 ArcSDE 地理数据库。
如果要使编辑器任务的用户可以快速选出要创建的要素类型,请使用基于唯一值的符号。通过唯一值渲染器得到的符号将反映在各个编辑器任务按钮上。
上图显示的是当地图中的“Buildings”图层应用了唯一值渲染器时,编辑器任务的外观。渲染器基于一个建筑物类型字段。该任务显示了创建各种建筑类型所需的按钮。例如,单击绿色按钮,用户可创建一个住宅建筑物。
帮助编辑器任务的用户配置数据集的另一种方法是使用属性域。对字段应用属性域时,任务用户可以通过下拉列表来填入值而不必输入值。这些下拉列表非常适合快速填入属性值,同时还能避免数据输入错误。下图显示的是对“街道类”字段应用了属性域后,显示在编辑器任务中的下拉列表。
此地图是否要在某 Web 应用程序中用于地理处理?
如果您正在某 Web 应用程序中执行地理处理,则可以指定一个用于确定任务输入和输出数据符号系统的关联地图服务。这要求您在 ArcToolbox 中选择一种模型,然后拖到 ArcMap 内容列表中,使该模型在列表中成为一个工具图层。发布服务前,您可以设置该工具图层的输入和输出符号。
如果您未将工具图层添加到地图中,而在地理处理 Web 应用程序中直接使用该地图,那么结果会在客户端上绘制。这样一来,您将无法使用复杂的符号系统。
有关 Web ADF 地理处理任务以及将结果分别绘制在服务器和客户端上的情况的详细论述,请参阅教程:发布地理处理服务。
是否要通过此地图在服务器上执行分布式地理数据库操作?
如果希望将此地图服务与 ArcMap 分布式地理数据库(Geodatabase) 工具条结合使用,则在制作地图时必须添加一个地理数据库图层。将该地图发布为服务时,可启用“地理数据访问”功能。这会创建一个与地图服务同名的关联地理数据服务。该地图及其地理数据服务均处于运行状态时,您可以通过 ArcMap 界面在服务器上执行数据的提取和复制。
是否要通过此地图在服务器上执行网络分析?
如果要使用此地图在服务器上执行网络分析,则需要添加一个引用某网络数据集的网络分析图层。地图服务发布后,便可选中 Network Analysis 功能。这将创建一个 Web 服务,用以在地图中执行各种网络分析任务。
是否要在移动设备上查看地图?
通过“移动数据访问”功能可提取某地图服务中的内容,以便在移动设备上进行查看。如果计划在移动设备上查看地图,则应尽量使地图简单。请考虑为背景图层和参考图层应用数据制图综合(例如对面要素进行平滑处理以及降低栅格分辨率等)。这将有助于加快地图的绘制速度。
是否希望在使用此地图创建的 Web 应用程序中显示版权文本?
ArcGIS Server 管理器在创建 Web 制图应用程序时,会在地图文档中搜索版权信息。如果发现了版权信息,该地图的一角将显示一个链接,用户可以单击该链接以便在浮动面板上查看制作者名单。如果希望以此方式提供版权文本,则需要在 ArcMap 中显示数据框或图层属性。单击常规选项卡,然后在制作者名单文本框中输入版权信息。
如果要将地图用于通过 ArcGIS API for JavaScript、ArcGIS API for Flex 或 ArcGIS API for Silverlight 构建的基于 REST 的应用程序,请考虑输入描述。此描述将显示在目录服务中,并可由遵循 REST 规则的应用程序的开发人员用于实现各自的确认窗口和信息窗口。该描述还可以提高服务的可搜索性。
希望在 Web 应用程序的内容列表上如何显示图层名称和地图要素描述?
Web 应用程序内容列表中的图层名称和地图要素描述可反映出在 ArcMap 内容列表中输入的所有图层名称或地图要素描述。在 Web 制图应用程序内容列表中,虽然标题无法显示,但是服务名称却可以显示。请参见下图来对比 ArcMap 内容列表和 Web ADF 内容列表。