Управление статусом кэша картографического сервиса (Сервер)

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

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

  • Инструмент используется для перестроения статуса кэша после того, как вы вручную скопировали листы в директорию кэша либо построили листы по запросу.

  • Инструмент является единственным способом построения статуса кэша, созданного в предыдущей версии ArcGIS Server или Portal for ArcGIS.

  • Вместо создания статуса всего кэша вы можете воспользоваться этим инструментом, чтобы получить отчеты о статусе интересующих вас территорий и масштабных уровней. Вы можете добиться этого, установив для параметра Режим управления (manage_mode в Python) значение REPORT_BUNDLE_STATUS. Отчет сохраняется в новой файловой базе геоданных, названной Status.gdb, в классе объектов TaskStatus.

    Помните, что ваша директория кэша также содержит базу Status.gdb, относящуюся ко всему кэшу и обновляемую при использовании других опций Режима управления для этого инструмента. В этом местоположении вы не можете заменить базу Status.gdb на другую.

Параметры

ПодписьОписаниеТип данных
Входной сервис
Image Service; Map Server
Режим управления
  • Удалить статус кэшаУдаляет информацию о статусе, используемую сервером.
  • Перестроить статус кэшаУдаляет и создает заново информацию о статусе, используемую сервером.
  • Перестроить статус пакетаСоздает информацию о статусе в новой файловой базе геоданных Status.gdb в указанной вами в параметре Выходная папка директории. Данная опция используется, когда вы собираетесь создать пользовательский отчет о статусе для конкретной интересующей вас области либо определенного набора масштабов.
String
Масштабы
(Дополнительный)

Масштабные уровни, для которых будет изменен статус. Этот параметр применим только при создании пользовательского статуса с использованием опции Перестроить статус пакета параметра Режим управления.

Double
Число экземпляров кэшированного сервиса
(Дополнительный)
Long
Выходная папка
(Дополнительный)

Выходная директория для базы Status.gdb. Этот параметр применяется только при создании пользовательского статуса с использованием опции Перестроить статус пакета.

Folder
Область интереса
(Дополнительный)

Область интереса (полигон), определяющая территорию, покрываемую отчетом о статусе. Этот параметр применяется только при создании пользовательского статуса с использованием опции Перестроить статус пакета.

Feature Set
Экстент отчета
(Дополнительный)

Прямоугольный экстент определяет территорию, для которой будет построен статус. Этот параметр применяется только при создании пользовательского статуса с использованием опции Перестроить статус пакета.

Помните, что параметр Область интереса позволяет вам указать непрямоугольную интересующую вас область.

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене. Эта опция доступна только при наличии активной карты.
  • Нарисовать экстент Draw Extent - экстент будет основан прямоугольнике, нарисованном на карте или сцене. Эта опция создает класс пространственных объектов в базе геоданных проекта и добавляет слой на карту. Класс объектов будет иметь ту же систему координат, что и карта.
    Примечание:

    Данная опция не доступна в диалоговом окне Параметры среды. Он доступен только из параметра инструмента, с экстентом в качестве типа данных, или на вкладке Среды диалогового окна инструмента.

    Примечание:

    Если включена опция Включать и отключать редактирование на вкладке Редактирование, вы должны включить редактирование на вкладке ленты Редактирование, чтобы нарисовать экстент.

  • Экстент слоя Слой — Экстент будет основан на активном слое карты. Используйте раскрывающийся список, чтобы выбрать доступный слой, или используйте опцию Экстент данных во всех слоях, чтобы получить объединенный экстент всех активных слоев карты, за исключением базовой карты. Эта опция доступна только при наличии активной карты со слоями.

    У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов слоя.
    • Выбранные объектыArea from Selected Features - экстент всех выбранных объектов слоя.
    • Отображаемые объекты Extent Indicator - экстент всех отображаемых объектов слоя.
      Примечание:

      Экстенты опций Выбранные объекты Area from Selected Features и Отображаемые объекты Extent Indicator доступны только для векторных слоев.

  • Обзор Обзор — Экстент будет основан на существующем наборе данных.
  • Буфер обмена Вставить - экстент может быть скопирован в буфер обмена и вставлен из него.
    • Копировать экстент Копировать - копирует координаты экстента и систему координат в буфер обмена.
    • Использовать Вставить экстент Вставить - вставляет координаты экстента и, дополнительно, систему координат из буфера обмена. Если значения буфера обмена не содержат систему координат, экстент будет использовать систему координат карты.
    Примечание:

    Координаты экстента копируются в буфер обмена и вставляются из него с использованием того же форматирования и порядка, что и для объекта ArcPy Extent: x-min, y-min, x-max, y-max и пространственная привязка.

  • Сбросить экстент Сбросить — Экстент будет сброшен до значения по умолчанию.
  • Координаты, введенные вручную – Координаты должны быть числовыми значениями и находиться в системе координат активной карты.
    Внимание:

    На карте могут использоваться единицы отображения, отличные от введенных координат. Использование направления по сторонам света (N, S, E, W) не поддерживается. Используйте знак отрицательного значения для координат юга и запада.

Extent

Производные выходные данные

ПодписьОписаниеТип данных
URL-адрес выходного картографического сервиса

Выходной URL-адрес сервиса.

String

arcpy.management.ManageMapServerCacheStatus(input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
ИмяОписаниеТип данных
input_service
Image Service; Map Server
manage_mode
  • DELETE_CACHE_STATUSУдаляет информацию о статусе, используемую сервером.
  • REBUILD_CACHE_STATUSУдаляет и создает заново информацию о статусе, используемую сервером.
  • REPORT_BUNDLE_STATUSСоздает информацию о статусе в новой файловой базе геоданных Status.gdb в указанной вами в параметре Выходная папка директории. Данная опция используется, когда вы собираетесь создать пользовательский отчет о статусе для конкретной интересующей вас области либо определенного набора масштабов.
String
scales
[scales,...]
(Дополнительный)

Масштабные уровни, для которых будет изменен статус. Этот параметр применим только при создании пользовательского статуса с использованием опции REPORT_BUNDLE_STATUS для параметра manage_mode.

Double
num_of_caching_service_instances
(Дополнительный)
Long
report_folder
(Дополнительный)

Выходная директория для базы Status.gdb. Этот параметр применяется только при создании пользовательского статуса с использованием опции REPORT_BUNDLE_STATUS.

Folder
area_of_interest
(Дополнительный)

Область интереса (полигон), определяющая территорию, покрываемую отчетом о статусе. Этот параметр применяется только при создании пользовательского статуса с использованием опции REPORT_BUNDLE_STATUS.

Feature Set
report_extent
(Дополнительный)

Прямоугольный экстент определяет территорию, для которой будет построен статус. Этот параметр применяется только при создании пользовательского статуса с использованием опции REPORT_BUNDLE_STATUS.

Помните, что параметр area_of_interest позволяет вам указать непрямоугольную интересующую вас область.

  • MAXOF – Будет использоваться максимальный экстент всех входных данных.
  • MINOF – Будет использоваться минимальная область, которая является общей для всех входных данных.
  • DISPLAY — Экстент равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent — будет использоваться экстент указанного объекта.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent

Производные выходные данные

ИмяОписаниеТип данных
output_folder

Выходной URL-адрес сервиса.

String

Пример кода

Пример ManageMapServerCacheStatus, (автономный скрипт)

Удаление информации о статусе кэша.

# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# Requirements: os, sys, time and 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapService"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = ""
manageMode = "DELETE_CACHE_STATUS"
numOfCachingServiceInstances = "2"
outputFolder = ""
areaOfInterest = ""
reportExtents = ""


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

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

# use "scales[0]","scales[-1]","scales[0:3]"

try:
    starttime = time.clock()
    result = arcpy.server.ManageMapServerCacheStatus(inputService,
                                                     manageMode, scales,
                                                     numOfCachingServiceInstances,
                                                     outputFolder,
                                                     areaOfInterest,
                                                     reportExtents)
    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("Reported the Bundle status for scale =" + str(scales[-1]) + "of " + \
        serviceName + "at " + outputFolder + "\n using specified feature class " + \
        areaOfInterest + " 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 3 \n" "Line %i" % tb.tb_lineno)
    report.write(str(e))

report.close()

Параметры среды

Этот инструмент не использует параметры среды геообработки