Создать схему листов кэша картографического сервиса (Сервер)

Сводка

Создает файл пользовательской схемы листов, определяющий уровни масштаба, размеры листов и другие свойства веб-слоя листов.

Схема листов описывает, как клиенты должны ссылаться на листы в кэше, и является сопоставлением пространственной привязки исходного документа карты и сетки листов. Сетка листов использует схему привязки уровней детальности (масштабов), строк и столбцов. Схема также определяет уровни масштабов (уровни детальности), при которых в кэше есть листы, размер листов в пикселях и разрешение экрана, при котором листы будут отображаться наиболее часто. Схема листов необходима для создания кэша карты.

Использование

  • По умолчанию начало координат разбиения на листы лежит в верхнем левом углу системы координат, используемой исходным документом карты сервиса.

Синтаксис

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
ParameterОбъяснениеТип данных
in_map

Текущая карта или исходный документ .mxd, который будет использоваться для схемы листов.

Map
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.

  • 128 x 128128 на 128 пикселов
  • 256 x 256256 на 256 пикселов
  • 512 x 512512 на 512 пикселов
  • 1024 x 10241024 на 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 as 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(str(e))

print("Created Map server Cache Tiling schema ")

report.close()

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы