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

Уровень лицензии:BasicStandardAdvanced

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

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

Прежние версииПрежние версии:
Параметры этого инструмента изменились в версии 10.1. Модели и скрипты, использующие этот инструмент и написанные до версии 10.1, должны быть изменены для работы в версии 10.1.

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

Синтаксис

ManageGlobeServerCacheTiles_server (service, {update_extent}, in_layers, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {ignore_status})
ПараметрОбъяснениеТип данных
service

Сервис глобуса, листы кэша которого нужно обновить.

Это строка, содержащая информацию как о сервере, так и о сервисе. Чтобы узнать, как сформировать эту строку, откройте ArcCatalog, выберите свой сервис в дереве каталога и обратите внимание на текст на панели инструментов Местоположение (Location). Затем поменяйте обратные косые черты на прямые, например GIS Servers/arcgis on MYSERVER (admin)/Seattle.GlobeServer.

String
update_extent
(дополнительно)

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

Extent
in_layers
[[layer, level_from, level_to],...]

Слои для включения в кэш.

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

Value Table
update_mode

Выберите режим для обновления кэша. Существует два режима:

  • RECREATE_EMPTY_TILESВ этом случае создаются только пустые листы. Существующие листы останутся неизменными.
  • RECREATE_ALL_TILESВсе листы, включая существующие, будут заменены. Кроме того, будут добавлены новые листы, если экстент данных слоя изменился или новые слои были добавлены в сервис и перечислены в этом инструменте.
String
num_of_caching_service_instances
(дополнительно)

Общее количество экземпляров сервиса System/CachingTools, которые вы хотите выделить для работы этого инструмента. Вы можете увеличить Максимальное число экземпляров на компьютер (maximum number of instances per machine) сервиса System/CachingTools с помощью окна Редактор сервисов (Service Editor), доступного через административное подключение к ArcGIS for Server. Убедитесь, что ваши серверы смогут поддерживать выбранное количество экземпляров.

Long
area_of_interest
(дополнительно)

Ограничивает ту область интереса, где листы будут созданы или удалены. Это может быть класс объектов или функция, интерактивно определенная в ArcMap. Этот параметр полезен, если вы хотите управлять листами для областей неправильной формы. Он также полезен в ситуациях, когда вы хотите выполнить предварительное кэширование каких-то районов и оставить менее посещаемые области некэшированными.

Feature Set
ignore_status
(дополнительно)

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

  • TRACK_STATUSПоле Кэшировано класса объектов прочитано (и создано, если оно еще не существует). Объекты, содержащие No или null в этом поле, кэшируются и будут содержать Yes, когда кэширование объекта будет завершено. Объекты, уже помеченные в этом поле как Yes, не кэшируются.
  • DO_NOT_TRACK_STATUSПоле Кэшировано класса объектов игнорируется, и создаются листы для всех объектов в классе.
Boolean

Пример кода

Создает листы кэша для сервиса глобуса.

#ManageGlobeServerCacheTiles For ArcGIS Server 10.1 Beta example (stand-alone script)

# Name: ManageGlobeServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to update the
#               globe map server cache tiles
# Requirements: os, sys, time & traceback modules 
# Author: ESRI

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default values
# 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)"
globeServiceName = "tstGlobeService.GlobeService"
globeService = connectionFile + "\\" + server + "\\" + globeServiceName
inputLayers = ""
updateExtents = ""
updateMode = "RECREATE_ALL_TILES"
numOfCachingServiceInstances = "2"
areaOfInterest = ""
ignoreStatus = "DO_NOT_TRACK_STATUS"

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

try:
    starttime= time.clock()
    result = arcpy.ManageGlobeServerCacheTiles_server (globeService, inputLayers,
                                                       updateMode,
                                                       numOfCachingServiceInstances,
                                                       areaOfInterest,
                                                       ignoreStatus, updateExtents)
    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 the GlobeServer cache successfully for mapservice "
    globeService + "\n 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)
report.close()
    
print "Created the globe server cache successfully"

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

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

Связанные темы

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

ArcGIS for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
5/25/2014