ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

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

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

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

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

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

    Прежние версии:
    Параметры этого инструмента изменились в версии 10.1. Модели и скрипты, использующие этот инструмент и написанные до версии 10.1, должны быть изменены для работы в версии 10.1.
  • Прежде чем использовать этот инструмент, убедитесь, что схема листов была определена для картографического сервиса. Создать схему листов можно во вкладке Кэширование в окне Редактор сервисов или с помощью инструмента Построить кэш картографического сервера.
  • Этому инструменту может потребоваться много времени на запуск для кэшей, охватывающих большой географический экстент или очень крупные масштабы карты. Если этот инструмент будет отменен, создание листов остановится, но существующие листы не удалятся. Это означает, что вы можете отменить этот инструмент, если у вас не хватит времени, и снова запустить его позже на том же кэше, используя режим обновления RECREATE_EMPTY_TILES.

Синтаксис

ManageMapServerCacheTiles_server (input_service, scales, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {update_extent}, {wait_for_job_completion})
ПараметрОбъяснениеТип данных
input_service

Картографический сервис или сервис изображений, листы кэша которого вы хотите обновить.

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

Image Service; MapServer
scales

Уровни масштаба, на которых вы создадите или удалите листы при запуске инструмента в зависимости от Режима обновления.

Double
update_mode

Режим для обновления кэша.

  • RECREATE_EMPTY_TILES —В этом случае создаются только пустые листы. Существующие листы останутся неизменными.
  • RECREATE_ALL_TILES —Существующие листы будут заменены, а новые листы добавлены, если экстент изменился.
  • DELETE_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
update_extent
(Дополнительный)

Прямоугольный экстент, на котором должны быть созданы или удалены листы в зависимости от значения параметра Режим обновления. Указывать значения для опции Экстент обновления и для опции Область интереса (area_of_interest) не рекомендуется. Если значения приведены для обоих параметров, будет использоваться значение опции Область интереса.

Extent
wait_for_job_completion
(Дополнительный)

Этот параметр позволяет следить за ходом задания кэширования, выполняемого на сервере.

  • WAIT —Этот инструмент геообработки продолжит работать в ArcGIS for Desktop, пока задание кэширования выполняется в ArcGIS for Server или в ArcGIS Online. С помощью этой опции вы можете запросить подробные отчеты о ходе процесса в любое время и просматривать сообщения геообработки по мере их появления. Это является опцией по умолчанию. Рекомендуется использовать эту опцию в скриптах Python.
  • DO_NOT_WAIT —Инструмент геообработки отправит задание на сервер, позволяя вам запускать другие задачи геообработки в ArcGIS for Desktop или даже закрыть ArcGIS for Desktop. Эта опция используется, когда вы хотите построить кэш автоматически в момент публикации сервиса. Вы также можете установить эту опцию на любом другом создаваемом кэше. Для отслеживания статуса задачи кэширования откройте ArcGIS for Desktop, щелкните правой кнопкой на сервисе в окне Каталога и выберите Просмотреть статус кэша. Вы также можете использовать URL, указанный в сообщении результата инструмента.Эта опция недоступна, если файловой базы геоданных Status.gdb нет в директории кэша сервиса.
Boolean

Пример кода

Пример 1Создание или обновление всех листов в кэше с помощью опции RECREATE_ALL_TILES

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
# cache tiles for the scales in the cache tiling scheme.

# 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.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""

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.ManageMapServerCacheTiles_server(inputService, scales,
                                                    updateMode,
                                                    numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)
    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 cache tiles for given schema successfully for " +\
    serviceName + " in " + str(elapsedtime) + " sec 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 Map server Cache Tiles "

Пример 2Обновление пустых листов для некоторых масштабов с помощью опции RECREATE_EMPTY_TILES

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate  
# empty tiles for one of the default number of scales in the cache
# tiling scheme

# 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.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_EMPTY_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""
cacheDir = "c:\\arcgisserver\\arcgiscache\\"

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.ManageMapServerCacheTiles_server(inputService, scales[-1],
                                                    updateMode, numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)
    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 cache tiles for scale =" + str(scales[-1]) + "for " +\
    serviceName + " at " + cacheDir + " in " + str(elapsedtime) +\
    " sec 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 "Rereated Map server Cache Tiles for scale = " + str(scaleValues[-1])

Пример 3Обновление листов с использованием Области интереса

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all
# tiles using given feature class.

# Requirements: os, sys, time and 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 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.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = "C:/data/shp/CaTxFlMaMin.shp"
waitForJobCompletion = "WAIT"
updateExtents = ""


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.ManageMapServerCacheTiles_server(inputService, scales[-1],
                                                    updateMode,
                                                    numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)                                           
    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 cache tiles for scale =" + str(scales[-1]) + "for " +\
    serviceName + "at " + cacheDir + " using specified feature class " +\
    areaOfInterest + " in " + str(elapsedtime) + " sec on " + arg2

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)

report.close()     
print "Rereated Map server Cache Tiles"
print "for scale = " + str(scaleValues[-1]) + " using area of Interest"

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

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

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

  • ArcGIS Desktop Basic: Да
  • ArcGIS Desktop Standard: Да
  • ArcGIS Desktop Advanced: Да

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

  • Общий обзор группы инструментов Кэширование

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация