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

Краткая информация

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

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

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

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

  • Если отмечен параметр Готовый для обслуживания формат, схема содержания кэша создается с использованием открытой спецификации пакета листов.

Параметры

ПодписьОписаниеТип данных
Документ карты

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

Map
Точка отсчета разбиения на листы (в единицах карты)

Начало (верхний левый угол) схемы листов, в координатах пространственной привязки исходного фрейма данных.

Point
Выходная схема листов

Путь и имя файла схемы листов, который будет создан.

File
Число масштабов

Количество уровней масштаба, которые будут включены в схему разбивки на листы.

Long
Масштабы

Уровни масштаба, которые будут включены в схему разбивки на листы. Они не представлены в виде дробей. Например, вместо этого используйте 500 для представления масштаба 1:500 и так далее.

Value Table
Точек (пикселов) на дюйм

Точки на дюйм (DPI) предполагаемого устройства вывода. Если указано значение DPI, не соответствующее разрешению устройства вывода, масштаб листа карты будет отображаться неправильно. Значение, предлагаемое по умолчанию, равно 96.

Long
Размер листа

Указывает ширину и высоту листов кэша в пикселах. Для достижения наилучшего баланса между производительностью и управляемостью избегайте отклонения от стандартных размеров 256 на 256 или 512 на 512.

  • 128 на 128 пикселовШирина и высота кэшированных листов составит 128 на 128 пикселей.
  • 256 на 256 пикселовШирина и высота кэшированных листов составит 256 на 256 пикселей. Это значение по умолчанию
  • 512 на 512 пикселовШирина и высота кэшированных листов составит 512 на 512 пикселей.
  • 1024 на 1024 пикселовШирина и высота кэшированных листов составит 1024 на 1024 пикселей.
String
Готовый для обслуживания формат
(Дополнительный)

Указывает формат файла схемы кэша, который будет использоваться, и будет ли он создан с использованием открытой спецификации пакета листов.

  • Отмечен - схема кэша будет построена в формате JSON с использованием спецификации пакета Open Tile. В параметре Выходная папка необходимо указать выходную папку.
  • Не отмечено - схема кэша будет создана в формате XML. Это значение по умолчанию

Boolean
Выходная папка
(Дополнительный)

Расположение папки, в которой будут созданы схема кэша и файлы iteminfo в формате JSON.

Folder

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size, {ready_to_serve_format}, {output_folder})
ИмяОписаниеТип данных
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) предполагаемого устройства вывода. Если указано значение DPI, не соответствующее разрешению устройства вывода, масштаб листа карты будет отображаться неправильно. Значение, предлагаемое по умолчанию, равно 96.

Long
tile_size

Указывает ширину и высоту листов кэша в пикселах. Для достижения наилучшего баланса между производительностью и управляемостью избегайте отклонения от стандартных размеров 256 на 256 или 512 на 512.

  • 128 x 128Ширина и высота кэшированных листов составит 128 на 128 пикселей.
  • 256 x 256Ширина и высота кэшированных листов составит 256 на 256 пикселей. Это значение по умолчанию
  • 512 x 512Ширина и высота кэшированных листов составит 512 на 512 пикселей.
  • 1024 x 1024Ширина и высота кэшированных листов составит 1024 на 1024 пикселей.
String
ready_to_serve_format
(Дополнительный)

Указывает формат файла схемы кэша, который будет использоваться, и будет ли он создан с использованием открытой спецификации пакета листов.

  • READY_TO_SERVE_FORMATСхема кэша будет построена в формате JSON с использованием спецификации пакета Open Tile. В параметре output_folder необходимо указать выходную папку.
  • NON_READY_TO_SERVE_FORMATСхема кэша будет создана в формате XML. Это значение по умолчанию
Boolean
output_folder
(Дополнительный)

Расположение папки, в которой будут созданы схема кэша и файлы iteminfo в формате JSON.

Folder

Пример кода

Пример 1 GenerateMapServerCacheTilingScheme (формат XML)

В следующем примере создается схема разбиения кэша карты в формате XML.

# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "E:/path/to/myschema.xml"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize)

    #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 )

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()
Пример 2 GenerateMapServerCacheTilingScheme (формат JSON)

В следующем примере создается схема разбиения кэша карты в формате JSON.

# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
#               server cache schema in ready to serve format using a given map document at a given
#               folder
# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "None"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"
ready_to_serve_format = "READY_TO_SERVE_FORMAT"
output_folder = "E:\path\to\myfolder"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize,
                                                             ready_to_serve_format,
                                                             output_folder)

    #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 )

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: Да

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