生成地图服务器缓存 (服务器)

摘要

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

旧版本旧版本:

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

用法

语法

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

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

默认设置为“新建”。

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仅存在一个缓存,但该缓存将被划分成各个子缓存,而子缓存中将包含源地图文档中每个图层的切片。
Boolean
tiling_schema
(可选)

预定义切片方案的路径。

String
tile_origin
(可选)

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

String
levels
Scale; Scale...
(可选)

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

String
layer
Layer; Layer...
(可选)

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

String
thread_count
(可选)

生成缓存时所使用的地图服务实例数。

Long
Antialiasing
(可选)

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

Boolean
cache_format
(可选)

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

  • PNG8一种无损 8 位彩色图像格式,使用索引调色板和 alpha 表。每个像素存储一个用于查看调色板中的颜色和 alpha 表中的透明度的值 (0-255)。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) 

环境

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

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012