Краткая информация
Создает XML-файл схемы листов, определяющий уровни масштаба, размеры листов и другие свойства кэша картографического сервиса. Этот инструмент полезен при создании схемы листов для использования в нескольких кэшах. Вы можете загрузить файл схемы листов при создании кэша в ArcGIS Desktop или ArcGIS Server Manager или запустить Построить кэш картографического сервиса и передать файл схемы листов в качестве параметра.
Схема листов описывает, как клиенты должны ссылаться на листы в кэше, и является сопоставлением пространственной привязки исходного документа карты и сетки листов. Сетка листов использует схему привязки уровней детальности (масштабов), строк и столбцов. Схема также определяет уровни масштабов (уровни детальности), при которых в кэше есть листы, размер листов в пикселях и разрешение экрана, при котором листы будут отображаться наиболее часто. Схема листов необходима для создания кэша карты.
Использование
Если вы уже определили кэш в ArcGIS Desktop или ArcGIS Server Manager, то вам не придется использовать этот инструмент. У вас уже будет схема листов (conf.xml) в папке кэша, на которую можно ссылаться при создании других кэшей.
По умолчанию начало координат разбиения на листы лежит в верхнем левом углу системы координат, используемой исходным документом карты сервиса.
Как только кэш будет создан, уровни масштаба станут единственной изменяемой частью схемы листов. Используйте Управление масштабами кэша картографического сервиса для добавления и удаления уровней масштаба.
Синтаксис
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 на 256 или 512 на 512.
| 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: Да