ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

生成地图服务器缓存切片方案

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

可生成用于定义比例级别、切片尺寸以及地图服务缓存其他属性的 XML 切片方案文件。如果要创建在多个缓存中都可以使用的切片方案,此工具非常有用。在 ArcGIS Desktop 或 ArcGIS Server Manager 中创建缓存时可加载切片方案文件,也可以运行创建地图服务器缓存将切片方案文件直接作为参数传入。

切片方案是一种源地图文档空间参考与切片格网之间的映射,用于说明客户端应如何引用缓存中的切片。切片格网将使用细节层次(比例)、行和列参考方案。方案中还将定义缓存中切片的比例级别(细节层次)、切片大小(以像素为单位)以及显示切片时最常用的屏幕分辨率。要生成地图缓存需要切片方案。

使用方法

    旧版本:
    在 10.1 版本中,此工具的各个参数均发生了变化。 在 10.1 版本之前使用该工具编写的模型或脚本均必须经过修改才能在 10.1 版本中使用。
  • 如果已在 ArcGIS Desktop 或 ArcGIS Server Manager 中定义缓存,则不必再运行此工具。这表示缓存文件夹中已存在一个切片方案 (conf.xml),因此创建其他缓存时可参考此方案。

  • 默认情况下,切片原点起始于服务的源地图文档所用坐标系的左上角。

  • 缓存一经创建,比例级别将成为切片方案中唯一可以更改的部分。使用管理地图服务器缓存比例添加或移除比例级别。

语法

arcpy.server.GenerateMapServerCacheTilingScheme(map_document, data_frame, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
参数说明数据类型
map_document

切片方案中将用到的源地图文档。

File
data_frame

切片方案中将用到的数据框。

String
tile_origin

切片方案的左上角,采用源数据框的空间参考坐标。

Point
output_tiling_scheme

要创建的切片方案文件的路径和文件名。

File
num_of_scales

切片方案中的比例级数。

Long
scales
[scales,...]

要包含在切片方案中的比例级别。不使用分数表示比例级别, 而使用 500 表示比例 1:500,依此类推。

Value Table
dots_per_inch

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

Long
tile_size

缓存切片的宽度和高度(以像素为单位)。默认值为 256 x 256。为在性能和可管理性之间寻求最佳平衡,应避免偏离标准尺寸 256 x 256 或 512 x 512。

  • 128 x 128 —128 x 128 像素
  • 256 x 256 —256 x 256 像素
  • 512 x 512 —512 x 512 像素
  • 1024 x 1024 —1024 x 1024 像素
String

代码示例

GenerateMapServerCacheTilingScheme 示例

创建具有四种比例的地图缓存切片方案。

# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
#               server cache schema using a given map document at a given
#               "pathForOutputXml"
# Requirements: os, sys, time & traceback modules

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
#                                                           "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, datetime, traceback, string

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
mapDocument = "C:/data/101/Portland/mxd/_M_Portland_classic_FGDB_Local.mxd"
dataFrame = "" 
outputTilingScheme = "C:/data/port.xml"
tileOrigin = ""
numOfScales = "4"
scales = "500000,250000,125000,64000"
tileSize = "256 x 256"
dotsPerInch = "96"

currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = r'C:/data/report_%s.txt' % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.GenerateMapServerCacheTilingScheme_server(mapDocument, dataFrame,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize)
    finishtime = time.clock()
    elapsedtime = finishtime-starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print " Created MapServer cache tiling schema successfully using"
    mapDocument + " at "+ outputTilingScheme + " in " + str(elapsedtime)
    " sec \n on " + arg2
    
except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
    
print "Created Map server Cache Tiling schema "

report.close()

环境

  • 当前工作空间

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 缓存工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

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