ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

生成地图服务器缓存

  • 摘要
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

为 ArcGIS Server 地图服务生成静态图像切片的缓存。

旧版本:

此工具已弃用。新的操作流程是先通过创建地图服务器缓存对缓存进行初始化,然后再使用管理地图服务器缓存切片将切片添加到缓存中。

用法

  • 此工具只适用于 ArcGIS Server 地图服务。

  • 运行此工具之前,先配置地图服务以使用尽可能多的实例。这会大幅缩短缓存的生成时间。

  • 一次只能缓存一个数据框。如果需要对其他数据框创建缓存,则必须为各数据框分别生成与各独立的地图服务相关联的缓存。

  • 切片方案决定着客户端如何引用缓存中的切片。您可以创建新的切片方案,也可以使用由“生成地图服务器缓存切片方案”工具创建的现有切片方案。

  • 大多数情况下将使用“融合”缓存。对于每个指定的比例级别,地图中的所有图层都将合成为单个图像,然后再分割成许多切片。

  • 如果需要切换图层的打开和关闭状态,请使用“多图层”缓存。

  • “比例级数”参数表示缓存中工具创建图层时使用的不同地图比例的数量。

  • 为超大型地图范围(例如面积广阔的州、省或国家/地区)计算较大的地图比例级别时,缓存创建的时间可能较长。例如,为整个北美洲计算地图比例大于 1:100,000 的切片大小。

  • 在缓存中应用图像压缩的主要优点是可以减小图像切片的大小,从而提高它们在网络中传输的性能。由于客户端和服务器之间传输的数据减少,因此可以缓存大型、无缝栅格数据集(可达几兆兆字节),从而得以在客户端快速显示。另一个优点是磁盘上缓存的大小将大幅减小。

  • 注意,如果使用此工具将其他级别(比例)添加到现有缓存中,请确保将压缩系数指定为与原始级别中使用的压缩系数相同。

  • JPEG 最适用于栅格数据。如果用于矢量数据,行和文本则可能会变得模糊。

  • 多图层缓存不支持 JPEG 文件格式。

  • 缓存一旦生成,就无法对缓存切片格式进行更改。要切换至其他文件格式,则必须删除现有缓存。

  • 如果希望缓存切片到客户端的传输性能达到最佳,请选择 JPEG 图像格式。如果希望传送性能和透明度支持能够更好的结合,请选择 PNG8 图像格式。

  • 抗锯齿选项用于对线和文本的边缘进行平滑处理,但对栅格图像的质量增强效果并不明显。

  • 此工具不接受任何已指定的环境设置参数。

语法

GenerateMapServerCache_server (server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, {map_or_layers}, {tiling_schema}, {tile_origin}, {levels}, {Layer}, {thread_count}, {Antialiasing}, {cache_format}, {tile_compression_quality})
参数说明数据类型
server_name

用于生成缓存的 ArcGIS Server 的主机名。

String
object_name

用于生成缓存的地图服务的名称。

String
data_frame

要缓存的地图文档数据框。请确保选择的数据框与为地图服务选择的数据框相同。

String
out_folder

此地图服务缓存的父目录。

String
tiling_scheme_type

选择采用 NEW 还是 PREDEFINED 切片方案。可自定义新的切片方案,也可加载预定义的方案文件 (.xml)。预定义方案的创建可以通过运行“生成地图服务器缓存切片方案 GP”工具来实现。

默认设置为 NEW。

Boolean
scales_type

设置比例级别

  • STANDARD —根据“比例级数”字段中定义的级数自动生成比例。该比例将采用从 1:1000000 递增或递减一半的级别,并将最接近于源地图文档范围的级别作为起始比例。例如,如果源地图文档的范围是 1:121,000,000 并且定义了 3 个比例级别,则该地图服务将创建一个缓存,其比例级别可以是 1:128,000,000、1:64,000,000 和 1:32,000,000。这是默认设置。
  • CUSTOM —允许缓存设计器以所需的任意比例级别创建“比例级数”输入框中所指定数量的比例。
Boolean
num_of_scales

要在缓存中创建的比例级数。

Long
dpi

专用输出设备的每英寸点数。如果所选择的 DPI 与输出设备的分辨率不匹配,则地图切片将显示错误比例。默认值为 96。

Long
tile_width

输出地图切片的宽度(以像素为单位)。较小的宽度可提高从缓存请求切片的应用程序的性能,这是因为只有较少的数据通过网络。但切片越小,缓存越大且创建时间越长。默认切片宽度为 512。

Long
tile_height

输出地图切片的高度(以像素为单位)。较小的高度可提高从缓存请求切片的应用程序的性能,这是因为只有较少的数据通过网络。但切片越小,缓存越大且创建时间越长。默认切片高度为 512。

Long
map_or_layers
(可选)

选择生成FUSED 或 MULTI_LAYER 缓存:

  • FUSED —以源地图文档中所有图层的融合图像的形式创建各个切片。
  • MULTI_LAYER —仅存在一个缓存,但该缓存将被划分成各个子缓存,而子缓存中将包含源地图文档中每个图层的切片。
Boolean
tiling_schema
(可选)

预定义切片方案文件的路径。

String
tile_origin
(可选)

指定在源地图文档空间参考的坐标中切片方案的原点(左上角)。源地图文档的范围必须在此原点范围内(但不必与原点重合)。

String
levels
[Scale; Scale...,...]
(可选)

缓存地图服务时所使用的比例。

String
Layer
[Layer; Layer...,...]
(可选)

选择 MULTI_LAYER 缓存类型时要包含在缓存中的图层。

String
thread_count
(可选)

生成缓存时所使用的 MapServer 实例数。

Long
Antialiasing
(可选)

选择是否在渲染切片时使用抗锯齿功能。如果选择了 ANTIALIASING,则会对线、边框和文本的边缘进行平滑处理。此选项会带来性能开销。栅格数据不会获得任何益处。

Boolean
cache_format
(可选)

为缓存中的切片选择 PNG8、PNG24、PNG32 或 JPEG 文件格式。PNG24 为默认选项。

  • PNG8 —一种无损 8 位彩色图像格式,使用索引调色板和 alpha 表。每个像素都存储一个值(0 到 255),用于查看调色板中的颜色和 alpha 表中的透明度。8 位 PNG 类似于 GIF 图像,并对多数 Web 浏览器的透明背景提供最佳支持。
  • PNG24 —一种无损三通道图像格式,支持大幅度的颜色变化(1600 万个颜色),并对透明度提供有限的支持。每个像素包含三条 8 位颜色通道,并且头文件中包含用于表示透明背景的单一颜色。可在 ArcMap 中对表示透明背景色的颜色进行设置。低于版本 7 的 Internet Explorer 版本不支持此透明类型。采用 PNG24 的缓存比采用 PNG8 或 JPEG 的缓存大得多,并且需要占用更多磁盘空间和更大带宽才能为客户端提供服务。
  • PNG32 —一种无损四通道图像格式,支持大幅度的颜色变化(1600 万个颜色),并支持透明度。每个像素包含三条 8 位颜色通道和一条表示每个像素的透明度级别的 8 位 alpha 通道。虽然 PNG32 格式允许部分透明像素位于范围 0 到 255 之间,但是 ArcGIS Server 缓存生成工具仅将完全透明值 (0) 或完全不透明值 (255) 写入透明度通道。采用 PNG32 的缓存比采用其他受支持的格式的缓存大得多,并且需要占用更多磁盘空间和更大带宽才能为客户端提供服务。
  • JPEG —一种有损三通道图像格式,支持大幅度的颜色变化(1600 万个颜色),但不支持透明度。每个像素包含三条 8 位颜色通道。采用 JPEG 的缓存可控制输出质量和大小,并且比 PNG 格式的压缩程度更高。
String
tile_compression_quality
(可选)

针对 JPEG 压缩质量输入一个介于 1 和 100 之间的值。对于 JPEG 切片格式,默认值为 75;对于其他切片格式,默认值为 0。

仅 JPEG 格式支持压缩。压缩等级取决于数据,但也可通过更改压缩质量进行控制。选择较高的值,则生成的图像的压缩程度较低,但质量较高。如果选择了较低的值,则生成的图像的压缩程度较高,但质量较低。

Long

代码示例

# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
 
try:
    print 'Starting Cache Generation'
    gp.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type,  scales_type, num_of_scales, dpi, tile_width, tile_height, map_or_layers, tiling_schema, tile_origin, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
    print 'Finished Cache Generation'
except:
    gp.AddMessage(gp.GetMessages(2))
    print gp.GetMessages(2)

环境

此工具不使用任何地理处理环境。

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 缓存工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明