影像服务参数
影像服务具有许多标准参数,这些标准参数的默认值适用于大多数 ArcGIS Server 服务。其中包括池化选项和其他多个选项。然而,由于栅格和影像数据的特性,有一些参数可影响影像服务的速度、可下载的数据、查询以及诸多其他选项。
启用特定功能时,有些参数是必需的。例如,如果启用“下载”功能,则应修改下载参数。这也适用于“目录”、“编辑”和“测量”功能。
控制影像数据的默认参数
影像服务参数分为几个部分;各部分取决于影像服务的输入。其中大部分参数特定于提供镶嵌数据集的影像服务,只有少数参数适用于通过栅格数据集或图层创建的影像服务。许多镶嵌数据集相关的参数是在创建镶嵌数据集时设置的。虽然部分参数可以由服务器管理员进行更改,但是服务器管理员不能将参数值设置为超出您在镶嵌数据集属性中设置的最大值。例如,如果您将允许的镶嵌方法限制为仅其中三种,管理员将不能添加第四种方法。或者,如果您已设置可下载项目的最大数,则管理员可减小但不能增大该值。
如果将镶嵌数据集的参数更改为超出或限制某个值(例如最大请求大小),则需要将该镶嵌数据集重新发布为服务器的影像服务以读取修改的值。如果仅是停止和启动影像服务,则不会读取该镶嵌数据集中已更改的属性;而如果更改影像服务本身的属性,则只需停止并随后启动影像服务即可使更改生效。
影像参数
影像参数用于设置连接到影像服务的用户将看到的影像。
参数 |
描述 |
---|---|
数据源 | 影像服务的源数据集的位置和名称。 适用于所有输入。 |
每次请求返回影像的最大尺寸 |
服务器允许客户端请求的最大像素行数和列数。 如果客户端的请求超过此值,则不会返回任何像素。 适用于所有输入。 |
默认重采样方法 |
请求中使用的重采样方法。这些方法包括:
适用于所有输入。 |
允许的压缩方法 |
允许用于影像服务的压缩方法。提供了三种可能的压缩类型:
可在配置允许列表 对话框中设置默认的 JPEG 质量和 LERC 容差。 因而,客户端可选择允许用于传输的压缩方法。可在图层属性 对话框的显示选项卡中设置此项。 此参数仅适用于通过 SOAP GetImage 方法访问影像服务的客户端,例如 ArcGIS for Desktop 以及通过 ArcObjects 构建的应用程序。 对于通过 REST 访问服务的客户端,无论定义了何种压缩方法,均会基于请求的格式类型自动进行压缩。 |
将 JPGPNG 返回为 JPG | 当用户请求使用 JPGPNG 格式的影像时,如果存在透明度,则返回 PNG;否则返回 JPG。由于 PNG 通常比 JPG 大很多,因此传输需要更长的时间。如果不需要透明度并且您需要确保始终使用较小的影像尺寸来传输影像服务,请选中此复选框。 适用于所有输入。 |
群集参数
默认情况下,每个 ArcGIS Server 站点都有一个群集。如果您拥有多台服务器计算机,则可以将它们配置为在群集中运行。可以对各个群集进行配置,以运行一组专用服务。选择用于托管服务的群集参数用于选择要在其中运行影像服务的群集。
输出目录参数
参数 |
描述 |
---|---|
目录 |
选择可供服务器创建临时文件的输出目录。如果未指定输出目录,ArcGIS Server 只会将影像以 MIME 数据的形式返回。通过指定输出目录,还可以通过 URL 地址访问返回的影像。 适用于所有输入。 |
支持的影像返回类型 |
指明由 ArcGIS Server 生成的影像将只以 MIME 数据形式返回还是以 MIME 和 URL 两种形式返回。要通过 Internet 访问 ArcGIS Server 所生成的影像,必须为输出影像指定输出目录。 适用于所有输入。 |
控制影像服务目录的参数
仅当将镶嵌数据集发布为影像服务时,目录参数才适用。这些参数用于控制或限制用户对元数据和目录字段的访问权限,还用于限制对镶嵌数据集表中的记录的请求。这些参数可影响服务器上的负载。允许用户查看和查询的内容越多,服务器上的负载越大。
镶嵌参数
参数 | 描述 |
---|---|
每个镶嵌图的最大栅格数 |
每次请求的最大可镶嵌栅格数。这样可以避免服务器针对一次请求打开并处理大量栅格。 如果客户端请求要求访问的栅格数量超过此数量,则只会对此数量的栅格进行访问。可能会导致所生成的影像中出现空隙的任何其他栅格的像素均不会返回。建议构建概视图以免客户端在显示时出现空隙。 仅适用于镶嵌数据集。 |
允许的镶嵌方法 |
允许用于影像服务的镶嵌方法。可能的镶嵌方法包括以下几种:
仅适用于镶嵌数据集。 |
目录参数
这些参数仅当选中“目录”功能时适用。
参数 |
描述 |
---|---|
每个请求返回的最大记录数 |
每项事务的传输记录数限制。如果用户的请求超过此值,则返回的影像将使用允许的最大栅格数。 仅适用于镶嵌数据集。 |
栅格元数据等级 |
将要传输到客户端的元数据:
仅适用于镶嵌数据集。 |
允许的字段 |
这是属性表中传输到客户端的字段的列表。取消选中不希望客户端查看或能够在查询中使用的字段。 仅适用于镶嵌数据集。 |
下载参数
影像服务允许下载时,请确保选中影像属性页中的下载功能。此外,除了下面的属性,请确保在参数属性页中配置输出目录。
这些参数将影响服务器上的负载和用户对源影像的访问权限。
参数 |
描述 |
---|---|
每个请求可下载的最大项目数 |
用户一次可以下载的最大栅格数。 仅适用于镶嵌数据集。 |
管理已下载的目录 | 用于将影像所在的物理目录映射到将在其中映射影像 URL 的虚拟目录。 如果允许下载,则必须确保该服务使用指向镶嵌数据集的源栅格的目录。这将避免在影像服务将文件从镶嵌数据集源目录复制到服务器输出目录时可能出现的严重性能瓶颈问题。 凭借虚拟目录,Web 应用程序可通过 URL 地址访问 ArcGIS Server 所创建的文件。虚拟目录应与输出目录指向相同的磁盘位置。必须在 Web 服务器中创建虚拟目录并将其与磁盘上的物理目录相关联。有关虚拟目录的创建方法,请参阅 Web 服务器的相关文档。 仅适用于镶嵌数据集。 |
每个请求的最大下载量 | 这是一次可下载的兆字节总数。 仅适用于镶嵌数据集。 |
控制影像服务内容的参数
编辑参数
如果影像服务是从镶嵌数据集创建的,那么,通过允许客户端将其栅格数据添加到镶嵌数据集,可以将影像服务配置为充当客户端的资料档案库。一旦添加之后,相同的客户端便可编辑所添加数据的属性或移除所添加数据。
这些参数仅当选中“编辑”功能时适用。
提供引用的镶嵌数据集时无法使用“编辑”功能。
参数 | 描述 |
---|---|
管理动态图像工作空间 | 可通过服务器和镶嵌数据集访问的目录位置;将在其中上传和存储栅格数据。必须设置此项,否则服务无法使用编辑操作。 仅适用于镶嵌数据集。 |
编辑器信息 | 选择以在应用编辑时将域添加到用户名,以便可进行跟踪。访问受保护的影像服务时,ArcGIS for Server 会记住用户名及其编辑。ArcGIS for Server 还将追加影像服务中已配置的任何域。 仅适用于镶嵌数据集(镶嵌数据集上已启用编辑器追踪)。 |
允许对其他用户添加的项目进行的操作 |
仅适用于镶嵌数据集(镶嵌数据集上已启用编辑器追踪)。 |
允许添加的类型 | 选择向影像服务添加栅格数据时,可供客户端选择的一个或多个栅格类型。 仅适用于镶嵌数据集。 |
管理自定义类型 | 如果需要客户端添加不按基本栅格类型定义的数据,可以选择一个或多个栅格类型文件 (.art)。 通过打开栅格类型的属性并保存文件,可以在添加栅格至镶嵌数据集工具中创建和编辑栅格类型文件。 仅适用于镶嵌数据集。 |
控制动态处理的参数
函数参数
函数可以通过服务器处理影像服务数据,从而为客户端提供特定的产品。有些函数直接显示,例如“山体阴影”和“坡度”;不过,可以应用到 ArcGIS for Desktop 中栅格数据的所有函数都可以使用栅格函数模板向客户端显示。以下参数使用将向客户端显示的函数控制动态、服务器端处理。
参数 |
描述 |
---|---|
允许特定客户端的渲染规则 |
如果已选中,则客户端可以访问和控制服务器端渲染和处理。如果未选中,则客户端无法访问和请求任何服务器端渲染。 适用于所有输入。 |
将色彩映射表转换为 RGB |
如果您的栅格数据集具有色彩映射表,则可以选择将其发布为 RGB 图像,从而将该色彩映射表应用到图像。这会影响像素值,因为像素值将从单个值和关联色彩映射表更改为三波段像素值。要保留色彩映射表并允许用户基于其色彩映射表来查询像素,则不应选择此选项。 这适用于具有色彩映射表的栅格数据集,也适用于所使用的栅格数据集图层或镶嵌数据集采用“色彩映射表”函数的情况。 适用于所有输入。 |
管理栅格函数模板 | 您可以提供一个或多个函数链,然后使用它们来处理影像服务中的数据。应用这些函数时,它们会被应用到服务器上,而结果会被传输到用户或应用程序。 这些函数链在栅格函数模板编辑器 中创建并另存为 .rft.xml 文件(在 ArcMap 中创建),该文件随后可应用于影像服务。 借助这些函数链,Web 应用程序可以对影像服务中的数据执行各种动态处理。 您可以选择任何时候使用影像服务均适用的默认函数链。将影像服务与拉伸后看起来更好些的数据一起使用时,此项非常有用。ArcMap 将应用拉伸,但 Web 应用程序通常无法应用;因此,您可以确保使用函数链定义拉伸时,它将始终以您想要的方式显示。 适用于所有输入。 |
控制影像测量的参数
测量参数
ArcGIS 提供了一组影像测量工具,其中包括用于测量影像的点、距离、面积和高度的工具。您可以选择是否需要影像服务参与到 ArcGIS 的影像测量中。
适用于所有输入。
参数 |
描述 |
---|---|
允许的测量方法 |
这些允许的方法通过源的测量功能获得,它们作为数据集属性的一部分列出。这些方法用于确定适用于影像服务的测量工具。
适用于所有输入。 |
高程源 |
如果存在应在测量时使用的、首选且可用的高程源,则可以在此处指向该高程源。这样可使用户以 3D 形式进行测量。 有效的高程源包括栅格数据集、影像服务 SOAP URL 和影像服务图层。如果高程影像服务需要身份验证,则应使用影像服务图层。 适用于所有输入。 |
ComputeTiePoints REST 操作
在 10.2 及更高版本中,影像服务支持新的 ComputeTiePoints REST 操作。它在镶嵌数据集中的栅格和预配置参考影像间生成连接点。要在通过镶嵌数据集发布的影像服务上启用计算连接点工具,请执行以下步骤:
- 登录到 ArcGIS Server 管理员目录。通常,URL 的格式为 http://gisserver.domain.com:6080/arcgis/admin。
- 找到您的服务,然后单击编辑。
- 找到字符串“maxImageHeight”。
- 插入要计算连接点的 referenceImage。可以使用以下 referenceImage 中的任意一种:
- 影像服务 SOAP URL
- 切片地图服务
- 本地栅格或镶嵌数据集
- 指向影像服务的图层文件
- 单击保存编辑内容。
在 10.2 及更高版本中,影像服务支持新的 GetSamples REST 操作。该操作可为给定几何生成源数据的采样点位置、像素值和相应的空间分辨率。默认情况下,采样位置的数量最多约为 1,000 个,并可由服务创作者使用以下配置属性自定义:"maxSampleCount":1000,。
使用 cacheControlMaxAge 属性提高影像服务的显示性能
当客户端向 ArcGIS Server 发送请求以显示影像服务时,服务器上的响应通常由浏览器进行缓存,并在一段时间之内重复使用。此行为有助于 ArcGIS Server 获得最理想的影像服务显示性能。但您可以考虑根据影像服务及其相关数据在应用程序中的使用方式来调整浏览器缓存中的响应时间。通过将名为 cacheControlMaxAge 的属性添加到服务的 JavaScript 对象标记法 (JSON),可实现上述操作。
cacheControlMaxAge 属性的使用方式
ArcGIS Server 影像服务响应包括实体标签 (ETag) 和缓存控制头。ETag 头值是响应的唯一标识符。缓存控制头具有一个最长期限值,该值可向浏览器提供有关浏览器缓存中响应可供重复使用的最大时段的信息。该值由 cacheControlMaxAge 属性控制。
如果重复请求且尚未超过缓存的最长期限,则浏览器将使用缓存的响应而不会将请求发送到服务器。如果最长期限已过期,则浏览器必须将请求发送到服务器,并通过与其缓存中响应相对应的相关 ETag 值设置 IF-NONE-MATCH 头。ArcGIS Server 将评估请求,并使用 ETag 值来确定响应是否更改。如果服务器的响应与浏览器中的副本不同,则服务器会将一个全新的响应发送到浏览器。如果响应与浏览器中的副本一致,则服务器将提示浏览器继续使用其缓存中的响应。
定义 cacheControlMaxAge 属性值
ArcGIS Server 管理员可定义 cacheControlMaxAge 属性,以指定允许浏览器使用缓存响应的时长。通过减少 ArcGIS Server 发送完整响应的需要,可提高浏览器缓存的效率,有助于优化应用程序,从而节省网络带宽。
影像服务的默认值为 12 小时(43200 秒)。这表示如果在 12 小时内重复请求,浏览器将使用其缓存中的响应。此值适用于大多数应用程序。
对于含有频繁更改的数据集或符号系统的影像服务,建议使用 5 分钟(300 秒)等值。如果应用程序含有动画或时间感知型数据,则应考虑增加该值从而为应用程序提供更为流畅的动画体验。
要将 cacheControlMaxAge 属性添加到服务并指定其默认值,请执行以下操作:
- 在 Web 浏览器中打开 ArcGIS Server 管理员目录,然后以具有管理员权限的用户身份进行登录。URL 的格式为 http://gisserver.domain.com:6080/arcgis/admin。
- 单击服务,然后从服务列表中选择要修改的影像服务。如果此处没有列出您的服务,则可能在根文件夹下的目录中列出。
- 在服务 - <服务名称>(<服务类型>)页面中滚动至底部,然后单击编辑。
- 在服务属性对话框中,找到服务 JSON 的 "properties" 部分。
- 将 cacheControlMaxAge 属性添加到该部分,然后指定属性值(以秒为单位),如:
"properties": { "cacheControlMaxAge": "300",
- 单击保存编辑内容。
- 在服务 - <服务名称>(<服务类型>)页面中,验证属性部分中是否显示 cacheControlMaxAge 属性以及您为该属性指定的值。