Краткая информация
Создает и обновляет листы в существующем кэше сервиса глобуса. Этот инструмент используется для создания новых листов, замены отсутствующих листов, перезаписи устаревших листов и добавления новых листов. Все эти действия могут быть определены прямоугольными экстентами или классом объектов полигона. При создании новых листов можно выбрать, следует ли создать только пустые листы или создать заново все листы.
Использование
Этот инструмент нужно использовать для обновления существующего кэша сервера глобуса. Чтобы обновить кэш, укажите компьютер ArcGIS Server, на котором размещается сервис глобуса. Инструмент автоматически перечислит все сервисы глобуса, доступные на нем.
Запуск обновления без указания экстента обновит весь экстент сервиса.
При указании level_from и level_to для входных слоев убедитесь, что вы указали все уровни, на которых необходимо создание листов. level_from определяет наименьший уровень детальности, с которого будет начинаться ваш кэш данных. level_to определяет максимальное разрешение, до которого будет происходить кэширование ваших данных.
Синтаксис
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 | Выберите режим для обновления кэша. Существует два режима:
| 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).
| 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 Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst