您可以打印和导出包含服务图层的地图。但应该切记:在使用提供基于图像的服务的服务器时存在一定的限制。大多数服务器会通过对它们所创建的所有输出图像指定大小限制来最大限度提供性能和可用性。该大小限制由各服务器设定,并能根据服务的不同而有所变化。由于服务主要用于在计算机显示器上进行显示,因此由服务器设置的大小限制将很可能与在常用显示器上显示的图像大小相同,屏幕分辨率通常为 96 点每英寸 (dpi)。此外,大多数已缓存的 Web 地图服务(如 ArcGIS Online 上可用的 Web 地图服务)也设计为在屏幕 (96 dpi) 上进行查看。
有一点需要特别注意,即打印或导出包含图像服务的地图时,您所处理的是栅格。输出图像质量 (OIQ) 将影响服务中所有要素的绘制,包括线和文本。为了获得最佳质量,您可能需要使用“最佳 OIQ”(重采样比率为 1 比 1)。但这需要花费一定的成本 - dpi 的增加将导致请求服务器创建更大的图像,当服务器无法提供具有如此高分辨率的图像时,则可能会产生问题。
有关查看图像服务与打印图像服务之间对比的示例
您已经向 5 英寸 x 5 英寸的数据框添加了基于图像的服务,并且计算机显示器的分辨率为 96 dpi。在 dpi 为 96 时,5 英寸相当于 480 个像素 (5 x 96 = 480)。要在此 dpi 下获得适合此数据框的图像,ArcMap 会请求服务器创建 480 x 480 像素(或者总像素为 230400)的图像。
具有此大小的图像应该不会超出服务器的限制。您可以检查从服务器端接收到的图像大小,方法是使用“Windows 资源管理器”或者图像查看应用程序查看图像的属性。图像文件应该位于由当前用户的 TMP 环境变量指定的目录中(如 C:\Documents and Settings\<当前用户>\Local Settings\Temp)。如果不存在 TMP 变量,则将使用 TEMP 变量的目录。如果使用的是“Windows 资源管理器”,则只需按照修改的日期排列文件即可找到图像(图像文件的名称对您没有任何意义),找到之后右键单击该图像文件,然后单击属性。文件大小在摘要选项卡中列出。
您会看到图像的宽度和高度为 480 x 480 像素,这正是 ArcMap 请求的尺寸。将使用该图像在您的计算机显示器上显示布局视图内的服务。实际上,这不是用于打印地图的图像。由于请求的图像的参数有可能会根据打印或导出设置而进行更改,因此在实际打印或导出地图时,会发出不同的图像请求。
但现在您希望打印包含图像服务图层的同一地图,并将此地图发送至 600 dpi 的打印机。如果将 OIQ 设置为“最佳”,则 ArcMap 会设置 600 dpi,并请求服务器创建高度和宽度均为 3000 像素(5 英寸 x 600 像素)的图像 - 总共为 900 万像素。您可以看到在向服务器请求用于在屏幕上显示的图像和用于打印的图像之间的差异。虽然在这两种情况下,图像的尺寸都是 5 英寸 x 5 英寸,但用于打印的图像所需像素数目明显要更大一些。
输出用途示例 | dpi 示例 | 以英寸为单位的高度和宽度 | 以像素(dpi x 英寸)为单位的高度和宽度 | 请求的总像素 |
---|---|---|---|---|
在屏幕上显示 | 96 | 5x5 | 480x480 | 230,400 |
打印 | 600 | 5x5 | 3000x3000 | 9,000,000 |
如果请求的图像文件大小超出了服务器设置的限制(因为有可能会有这样的请求),则根据服务类型的不同,图层将被拉伸,或者根本不对图层进行绘制。有关打印不同类型的服务图层的详细信息,请参阅下一节。
ArcGIS Server 地图服务图层
当在屏幕上查看地图时,例如在“数据”视图、“布局”视图或者“打印预览”中,dpi 表示您计算机显示器的分辨率。当发送地图以供打印时,请求中的 dpi 将是打印机的 dpi;如果您正在导出地图,则请求中的 dpi 将是您为输出文件设置的 dpi。因此,在打印或导出包含图像服务的地图时,ArcMap 会向服务器发出新的请求。请求中的 dpi 值将会根据 ArcMap 中设置的输出图像质量值进行调整。
高度和宽度使用以像素为单位的所请求的图像尺寸,并且地图服务具有大小限制。与 ArcIMS 影像服务和 ArcMap Server 服务类似,如果 ArcMap 请求的大小超出限制,则服务器将发送它所能创建的最大图像。然后 ArcMap 将拉伸此图像以使其适合数据框。因此,当图像拉伸时,图像的质量会下降;ArcMap 对图像拉伸的程度越大,图像质量就会越差。
对于一般的 ArcGIS 地图服务,您应能够打印出效果不错的信纸大小的地图。除非服务器允许使用更大的图像大小,否则试图创建更大尺寸的打印将会显著影响质量。大小限制不能由客户端 (ArcMap) 更改;它只能由 ArcGIS Server 管理员进行更改。
ArcGIS Server 地图服务图层完全支持图例。在使用 ArcGIS Server 地图服务图例项时,各个符号和文本标注的图像会存储在客户端计算机的内存中。如果地图服务中包含了多个图例项,则存在一定的风险:计算机可能会耗尽显示图例时所需的资源。因此,默认情况下,如果子图层包含的图例项超过 100 个,则 ArcMap 将不会显示其中的图例。
可以为您提供 ArcGIS Server 或第三方切片的服务图层(例如 Bing 地图)的数据源制作者名单或属性,这样您即可在打印或导出的地图中显示出这些内容。当在数据视图中处理服务图层时,您将在数据框的右下角看到一个图标。
单击该图标将打开一个独立窗口,其中列出了您的数据框中当前打开的所有服务图层的源信息。
导出数据框或者切换到布局视图后,该图标则替换为服务图层属性的已实现文本。无法移动或更改此文本。但是,可以选择以服务图层制作者名单动态文本元素替换此文本。此选项位于主菜单下的插入 > 动态文本。启动此动态文本元素后,数据框中已实现的文本将不再显示。使用服务图层制作者名单动态文本元素的方式与使用其他动态文本元素的方式相同,可以对文本符号的放置位置、大小进行调整,并可以更改文本符号,直至您觉得合适为止。
了解有关使用 ArcGIS Server 地图服务图层的详细信息
ArcIMS 服务图层
ArcIMS 要素服务
由于 ArcIMS 要素服务不基于图像,因此这些服务不存在类似的限制。不过要记住,服务的要素通过网络发送,因此根据流式传输的要素数的不同,性能可能会有所下降。
ArcIMS 影像服务和 ArcMap 服务
ArcIMS 服务的 ArcMap 图像请求(<GET_IMAGE> 请求)包括四个参数:dpi、高度、宽度和 autosize(自动调整大小)。
当在屏幕上查看地图时,例如在“数据”视图、“布局”视图或者“打印预览”中,dpi 表示您计算机显示器的分辨率。当发送地图以供打印时,请求中的 dpi 将是打印机的 dpi;如果您正在导出地图,则请求中的 dpi 将是您为输出文件设置的 dpi。因此,在打印或导出包含图像服务的地图时,ArcMap 会向服务器发出新的请求。请求中的 dpi 值将会根据 ArcMap 中设置的输出图像质量值进行调整。
高度和宽度是指以像素为单位的所请求的图像尺寸。当 autosize 属性被设置为 True(ArcMap 会自动执行此操作)时,如果请求的大小比设置的限制大,则 ArcIMS 服务器将发送它能创建的最大图像。例如,如果在填充页面布局中的数据框时所需的图像大小比服务器允许的大小大,则 ArcMap 会从服务器获取它所能得到的最大图像,然后将该图像拉伸以使其适合数据框。因此,当图像拉伸时,图像的质量会下降;ArcMap 对图像拉伸的程度越大,图像质量就会越差。对于普通的 ArcIMS 服务,您应该能够打印出效果不错的信纸大小的地图。除非服务器允许使用更大的图像大小,否则试图创建更大尺寸的打印将会显著影响质量。
对于很多 ArcIMS 服务而言,4 MB 或者 1024 x 1024 像素(总共 1,048,576 像素)是图像输出的大小限制。此大小限制由服务器管理员设置,可以小于或大于 4 MB。客户端 (ArcMap) 无法更改此大小限制。
打印 ArcIMS 影像服务和 ArcMap 服务的示例
介绍部分中的地图被发送至 dpi 设置为 600 且输出图像质量为最佳的打印机。ArcMap 请求一个 900 万像素的图像,但请求的图像大小(3000 x 3000 像素)远远超出了服务器允许的限制(1024 x 1024 像素)。
ArcIMS 服务器发送它所能创建的最大图像,因此在 600 dpi 时,将允许大小为 1.71 英寸 x 1.71 英寸的图像。要在打印布局中填充 5 英寸 x 5 英寸的数据框,则需要对该图像进行拉伸。您应该能够在信纸大小的纸上打印地图。
但现在您将布局页面大小更改为 ANSI E(44 英寸 x 34 英寸),并根据更改后的页面大小按比例缩放地图元素。然后,对地图比例进行适当更改,以使此比例与先前地图保持一致,因此现在页面布局上的数据框大小大致为 27 英寸 x 27 英寸。通过在屏幕上查看完整布局,可以看到图像的质量相当不错。
但如果在布局工具条上单击缩放至 100% 按钮,就会看到图像在打印时的实际显示效果。正如本示例中所示,您可能会发现显示画面的质量很差,不适合打印。
服务器允许的最大大小不能够充分满足打印地图中的数据框大小的要求。只有两个方法可以修复此缺陷:减小打印地图的大小,或者增加服务输出的大小限制。要增加此限制,您必须具有服务器管理权限。
在 ArcIMS 图层中支持的图例
根据服务的不同,您可能会注意到在创建图例时会产生一些异常结果。例如,有些 ArcIMS 影像服务子图层的图例项是重复的。如下所示:
这是因为 ArcIMS 允许在单个图层内执行按比例渲染。但 ArcMap 不支持按比例渲染。由于渲染会根据比例范围的不同而有所变化,因此 ArcMap 将显示所有的 ArcIMS 渲染组。
这不会影响地图中子图层要素的显示。仅影响内容列表和图例。您可能需要手动编辑图例。
了解有关使用 ArcIMS 服务图层的详细信息。
WMS 服务图层
网络地图服务 (WMS) 服务器可能会(也可能不会)规定输出图像的大小限制。如果 ArcMap 感知到此大小限制,则通过打印或导出的方式在 WMS 图层中获得的结果与其他影像服务图层类似,如 ArcIMS 影像服务图层。当 ArcMap 需要的图像大小比限制值大时,ArcMap 将获得 WMS 服务器所允许的最大图像,然后将该图像进行拉伸以使其适合数据框。这会导致输出质量发生变化。
如果 WMS 服务器没有规定输出图像的大小限制,则 ArcMap 无法确定 WMS 服务器的大小限制,因此 ArcMap 无法选择最大的大小。此外,ArcMap 也不能选择任意大小,因为图像可能没有必要进行拉伸,拉伸后对质量会产生不利影响。某些 WMS 服务器会在错误消息中报告大小限制,而其他 WMS 服务器可能不会。您需要对大小进行试验,方可找到能用于打印或导出的最大大小。
例如,在先前示例中对 900 万像素图像的请求可能超出了服务器的图像大小限制。但如果您将 OIQ 更改为“快速”(重采样比率为 1:5),则 ArcMap 将请求较小的图像。如果图像大小在 WMS 服务器的限制范围内,则将绘制图层。
在 WMS 图层中支持的图例
根据开放地理空间联盟 (OGC) 的 WMS 规范,可以选择是否支持图例。当服务器不支持图例时,您将不会看见在图例向导中列出的 WMS 服务图层,也不会在这些图层的内容列表中看见任何图例项。WMS 图例属于复合图像,其中包含 WMS 子图层的所有符号系统和文本标注,知道这一点很重要。这与 ArcIMS 服务子图层的图例或者 ArcGIS Server 地图服务子图层的图例不同,在后两者中,图例的每个部分(每个单独符号和每个文本标注)均被发送至 ArcMap,并且由 ArcMap 分别处理。因此,WMS 图例图像的大小可以比 ArcIMS 图像服务或者 ArcGIS Server 地图服务图例图像的大小大许多。
如果 WMS 服务器支持图例,则可能需要根据由 WMS 服务器创建的可用图例项的大小来试验多种操作。如果大小相对较小,则应在 ArcMap 内容列表中看见图例,并且在向页面布局中插入图例时,应看见在“图例向导”中列出的 WMS 子图层。如果您在内容列表中没有看见图例项,或者没有看见图例向导中列出的子图层,则可能是因为图例图像的大小过大。此时,您可以在 WMS 子图层属性对话框的样式选项卡上查看图例。如果希望在页面布局中显示图例,则可使用子图层快捷菜单命令将 WMS 图例添加至地图。该命令会将图例作为图形添加到地图中。请注意,在任何时候,您都只能添加单个 WMS 子图层图例。
有关 OGC WMS 规范的详细信息,请参阅 OGC 网站,网址为 www.opengeospatial.org/standards。
了解有关使用 WMS 服务图层的详细信息