ImageSharingDraft

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

Класс ImageSharingDraft позволяет создать файл черновика определения сервиса (.sddraft) для веб-слоя изображений или сервиса изображений.

Обсуждение

Чтобы создать объект ImageSharingDraft, используйте функцию CreateSharingDraft.

  • Для публикации веб-слоя изображений задайте для параметра server_type значение FEDERATED_SERVER, а для параметра service_type - значение WEB_IMAGERY_LAYER.
  • Чтобы опубликовать сервис изображений, задайте параметр server_type как STANDALONE_SERVER, а параметр service_type как IMAGE_SERVICE.

Затем объект ImageSharingDraft можно будет настроить, задав свойства на уровне сервиса или слоя. Используйте параметр targetServer, чтобы указать, на каком сервере будет опубликован данный сервис изображений и веб-слой изображений.

Изменить свойства сервиса и веб-слоя изображений можно также путем изменения файла .sddraft. Если для свойства не указано никакого значения, будет использоваться значение по умолчанию. Вы должны задать значения этих свойств, даже если вы изменяете сервис или веб-слой изображений, для которых свойства уже настроены.

Примечание:

Если свойства метаданных (credits, description, summary, tags и useLimitations) не заданы или состоят из пустых строк, элемент веб-слоя будет получать метаданные от данных, в зависимости от того, что опубликовано.

После того, как объект ImageSharingDraft сконфигурирован, его можно сохранить в файле черновика определения сервиса (.sddraft) с помощью метода exportToSDDraft. Затем он может быть применен и опубликован либо в ArcGIS Enterprise, либо в ArcGIS Server, используя инструменты Промежуточный сервис и Выгрузить определение сервиса.

Примеры кода доступны ниже для следующих задач:

Свойства

СвойствоОписаниеТип данных
allowAnalysis
(чтение и запись)

Устанавливает, будут ли инструменты сервиса геообработки из набора инструментов Анализ растров получать доступ к веб-слою изображений и сервису изображений.

Boolean
allowCopy
(чтение и запись)

Устанавливает, будет ли инструмент сервиса геообработки Загрузить растр получать доступ к слою веб-изображений и сервису изображений.

Boolean
allowCompressions
(чтение и запись)

Устанавливает допустимые методы сжатия для веб-сервиса изображений или для сервиса изображений.

  • JPEG
  • LERC
  • LZ77
  • Нет

String
allowedFields
(чтение и запись)

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

String
allowedItemMetadata
(чтение и запись)

Устанавливает, какие элементы метаданных будут передаваться клиенту:

  • Basic - клиенту будут передаваться метаданные растра.
  • Full - клиенту будут передаваться метаданные растра и функции растра, которые к нему применены.
  • None - клиенту не будут передаваться никакие метаданные.

String
allowedMensurationCapabilities
(чтение и запись)

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

  • None
  • Basic
  • Base-Top Height
  • Top-Top Shadow Height
  • Base-Top Shadow Height
  • 3D

String
allowedMosaicMethods
(чтение и запись)

Устанавливает допустимые методы мозаики для веб-слоя изображений или для сервиса изображений.

  • NorthWest
  • Center
  • LockRaster
  • ByAttribute
  • Nadir
  • Viewpoint
  • Seamline
  • None

Это свойство доступно только для наборов данных мозаики.

String
allowedTemplates
(чтение и запись)

Имена функций растров на стороне сервера. Укажите поля в виде строки с разделителями-запятыми или списка строк.

String
allowFunction
(чтение и запись)

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

Boolean
cache.cacheOnDemand
(чтение и запись)

Указывает, будут ли листы, которые не кэшируются, созданы по запросу, когда клиентское приложение запрашивает их. Значение по умолчанию равно False.

Boolean
cache.configuration
(чтение и запись)

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

String
cache.exportTiles
(чтение и запись)

Устанавливает, будет ли клиентам разрешено загружать листы для автономного использования. Значение по умолчанию равно False.

Boolean
cache.exportTilesCount
(чтение и запись)

Максимальное количество листов, которые можно загрузить за один запрос. Это свойство поддерживается, только если для параметра cache.exportTiles установлено значение True. Значение по умолчанию равно 100000.

Integer
cache.useExistingCache
(чтение и запись)

Указывает, будут ли данные извлекаться из существующего кэша. Это свойство поддерживается, только если для параметра enableCache установлено значение True. Значение по умолчанию равно False.

Boolean
cacheControlMaxAge
(чтение и запись)

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

Integer
colormapToRGB
(чтение и запись)

Определяет, будет ли цветовая карта в наборе растровых данных опубликована в виде изображения RGB путем применения к нему цветовой карты. Это повлияет на значения пикселов, поскольку отдельные значения, связанные с цветовыми картами, будут изменены на трехканальные значения пикселов. Чтобы сохранить цветовую карту и запросить пиксел по его цветовой карте, укажите значение False.

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

Boolean
copyDataToServer
(чтение и запись)

Устанавливает, будут ли данные скопированы на сервер. Если значение True, то будут скопированы все данные, в том числе данные, которые зарегистрированы на сервере. При значении False будут скопированы только данные, которые не зарегистрированы на вашем сервере. Сервис будет использовать данные, которые зарегистрированы на вашем сервере. Значение по умолчанию равно False.

Boolean
credits
(чтение и запись)

Кредиты веб-слоя изображений и сервиса изображений.

String
defaultCompressionQuality
(чтение и запись)

Качество сжатия по умолчанию. Введите значение от 0 до 100. Значение 80 обеспечивает приемлемое качество изображения в сочетании с примерно 8-кратным сжатием.

Integer
defaultCompressionTolerance
(чтение и запись)

Максимальное значение ошибки, применимое к каждому пикселю, а не среднее значение для изображения. Это значение измеряется в единицах набора данных мозаики. Например, если ошибка равна 10 см, а единицы измерения набора данных мозаики выражены в метрах, используйте значение 0,1.

Double
defaultResamplingMethod
(чтение и запись)

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

  • NEAREST
  • BILINEAR
  • CUBIC
  • MAJORITY

String
defaultTemplate
(чтение и запись)

Имя по умолчанию шаблона функции растра (RFT) на стороне сервера.

String
DEM
(чтение и запись)

Источник высот, который будет использоваться при измерении. Это позволит выполнять измерения в 3D.

String
description
(чтение и запись)

Описание веб-слоя изображений или сервиса изображений. Значение по умолчанию равно None.

String
downloadDirectory
(чтение и запись)

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

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

String
enableCache
(чтение и запись)

Указывает, будет ли данный слой отображаться динамически или из кэша. Значение по умолчанию равно False.

Boolean
hasLiveData
(чтение и запись)

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

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

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

Boolean
maxDownloadImageCount
(чтение и запись)

Максимальное количество растров, которые пользователь может загрузить за один раз.

Это свойство применяется только к наборам данных мозаики.

Integer
maxDownloadSizeLimit
(чтение и запись)

Общий объем в мегабайтах (МБ), который можно загрузить за один раз.

Это свойство применяется только к наборам данных мозаики.

Integer
maxImageHeight
(чтение и запись)

Максимальное число строк, которое можно использовать в запросе клиента.

Integer
maxImageWidth
(чтение и запись)

Максимальное число столбцов, которое можно использовать в запросе клиента.

Integer
maxMosaicImageCount
(чтение и запись)

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

Integer
maxRecordCount
(чтение и запись)

Максимальное количество записей, возвращаемых во время запроса. Значением по умолчанию является 2000.

Integer
maxSampleCount
(чтение и запись)

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

Integer
maxScale
(чтение и запись)

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

Double
minScale
(чтение и запись)

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

Double
offline
(чтение и запись)

Определяет, будет ли сохраняться определение сервиса офлайн.

  • False - используйте при создании подключенного файла черновика определения сервиса (.sddraft) методом exportToSDDraft класса. Войдите на портал, если для serverType property установлено значение FEDERATED_SERVER. Укажите URL сервера или файл подключения к серверу (.ags) для параметра targetServer этого класса, если для свойства serverType задано значение STANDALONE_SERVER. Используется по умолчанию.
  • True - используйте при создании автономного файла черновика определения сервиса (.sddraft) методом exportToSDDraft класса. Не нужно выполнять вход на портал, если для свойства serverType задано значение FEDERATED_SERVER, а также не нужно указывать файл подключения к серверу или URL, если для свойства serverType задано значение STANDALONE_SERVER.

Boolean
overwriteExistingService
(чтение и запись)

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

Boolean
pooling.maxInstances
(чтение и запись)

Максимальное число экземпляров на компьютер. Это свойство поддерживается, только если для параметра pooling.type установлено значение DEDICATED.

Integer
pooling.minInstances
(чтение и запись)

Минимальное число экземпляров на компьютер. Это свойство выполняется только в том случае, если для параметра pooling.type установлено значение DEDICATED.

Integer
pooling.type
(чтение и запись)

Устанавливает тип слияния сервисов, который будет использоваться.

  • SHARED
  • DEDICATED - используется по умолчанию.

String
portalFolder
(чтение и запись)

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

String
referenceImage
(чтение и запись)

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

String
returnJPGPNGAsJPG
(чтение и запись)

Устанавливает, будут ли возвращаться изображения формата JPG. Когда вы направляете запросы к изображению в формате JPG, PNG, при наличии прозрачности возвращается изображение в формате PNG; в противном случае возвращается изображение в формате JPG. Изображение в формате PNG часто намного больше, чем изображение в формате JPG, и его передача может занять больше времени. Если прозрачность не требуется, и вы хотите, чтобы веб-слой изображений или сервис изображений всегда передавались с использованием изображений меньшего размера, укажите значение True.

Boolean
serverFolder
(чтение и запись)

Имя папки сервера, в которой будет опубликован сервис. По умолчанию будет использоваться корневой каталог сервера. Если такой папки (каталога) нет, она будет создана.

String
serverType
(чтение и запись)

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

  • FEDERATED_SERVER - интегрированный сервер портала ArcGIS Enterprise поддерживается для публикации.
  • STANDALONE_SERVER - автономный сайт ArcGIS Server поддерживается для публикации. Используется по умолчанию.
String
serviceName
(только чтение)

Имя сервиса изображений или веб-слоя изображений. Это - имя, которое вы будете видеть и использовать для идентификации этого сервиса. Имя может содержать только буквы, цифры и знак подчеркивания. Для веб-слоя изображений допускаются пробелы. Для сервиса изображений пробелы или специальные символы не допускаются. Длина имени не должна превышать 120 символов.

String
sharing.groups
(чтение и запись)

Имена групп, разделенные запятыми. Это свойство доступно только в том случае, если для свойства serverType установлено значение FEDERATED_SERVER.

String
sharing.sharingLevel
(чтение и запись)

Определяет уровень доступа веб-слоя. Это свойство доступно только в том случае, если для свойства serverType установлено значение FEDERATED_SERVER.

  • OWNER - элемент доступен только владельцу и участникам организации с правами доступа на просмотр ресурсов, принадлежащих другим участникам.
  • ORGANIZATION - элемент доступен всем аутентифицированным пользователям организации.
  • EVERYONE - элемент доступен всем желающим.

String
sortField
(чтение и запись)

Поле сортировки правила построения мозаики по умолчанию, когда свойству allowedMosaicMethods установлено значение ByAttribute..

String
sortValue
(чтение и запись)

Базовое значение сортировки правила построения мозаики, когда свойству allowedMosaicMethod установлено значение ByAttribute. Этот тип зависит от типа атрибута.

String
summary
(чтение и запись)

Краткое описание сервиса. При вводе значения это свойство изменяет сводную информацию о соответствующем наборе данных или добавляет сводную информацию, если ее еще не существует. Эта сводная информация не будет применяться к исходному набору данных. Значение по умолчанию равно None.

String
tags
(чтение и запись)

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

String
targetServer
(чтение и запись)

Сервер, на котором будет опубликован сервис. Это свойство необходимо устанавливать, когда для параметра offline задано значение False, которое является значением по умолчанию.

Если для свойства serverType задано FEDERATED_SERVER, укажите URL-адрес сервера, интегрированного с порталом ArcGIS Enterprise.

Если для свойства serverType задано STANDALONE_SERVER, поддерживаются следующие варианты:

  • Подключение к ArcGIS Server - можете использовать подключения ArcGIS Server, перечисленные в узле Серверы в окне ArcGIS Pro Project илиперейти в папку, где хранятся файлы подключения к серверу (.ags).
  • URL-адрес к ArcGIS Server - можете указать URL-адрес к ArcGIS Server, при условии, что подключение администратора к ArcGIS Server добавлено в проект ArcGIS Pro, а вы открываете этот проект из скрипта или запускаете инструмент в ArcGIS Pro. Вы также можете войти на портал в текущем сеансе Python для подключения к серверу.

String
useLimitations
(чтение и запись)

Ограничения по использованию веб-слоя.

String
virtualDownloadDirectory
(чтение и запись)

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

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

String

Обзор метода

МетодОписание
exportToSDDraft (out_sddraft)

Конвертирует ImageSharingDraft в файл черновика определения сервиса (.sddraft).

Методы

exportToSDDraft (out_sddraft)
ПараметрОписаниеТип данных
out_sddraft

The path and file name for the output service definition draft file (.sddraft).

String

Пример кода

ImageSharingDraft, пример 1: Публикация веб-слоя изображений в папку портала интегрированного сервера портала ArcGIS Enterprise

Следующий скрипт создает файл черновика определения сервиса веб-слоя изображений (.sddraft) и задает свойства метаданных. Рекомендуется перед публикацией зарегистрировать местоположение этих данных. Если местоположение данных не будет зарегистрировано, они будут копироваться в ArcGIS Server. Затем этот веб-слой изображений публикуется в папку в ArcGIS Enterprise и становится общедоступным (для всех). Информация о портале извлекается с помощью функции SignInToPortal.

import arcpy
import os

# Sign in to portal
arcpy.SignInToPortal(portal_url="https://organization.example.com/webadaptorname", username="MyUserName", password="MyPassword")

# Set output file names
outdir = r"C:\Project\Output"
service_name = "ImageSharingDraftExample"
sddraft_filename = service_name + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
sd_filename = service_name + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
datapath = r"C:\Project\data\Raster1.tif"

# Create ImageSharingDraft and set metadata, portal folder, and server folder properties
federated_server_url = "https://gisserver.example.com/webadaptor"
sddraft = arcpy.sharing.CreateSharingDraft(server_type="FEDERATED_SERVER", service_type="WEB_IMAGERY_LAYER",
                                           service_name=service_name, draft_value=datapath)
sddraft.targetServer = federated_server_url
sddraft.credits = "These are credits"
sddraft.description = "This is description"
sddraft.summary = "This is summary"
sddraft.tags = "tag1, tag2"
sddraft.useLimitations = "These are use limitations"
sddraft.portalFolder = "my folder name"
sddraft.serverFolder = "MyServerFolder"
sddraft.sharing.sharingLevel = "EVERYONE"
sddraft.sharing.groups = ""  # Group names = "group1,group2"

# Create Service Definition Draft file
sddraft.exportToSDDraft(sddraft_output_filename)

# Stage Service
print("Start Staging")
arcpy.server.StageService(sddraft_output_filename, sd_output_filename)

# Share to portal
print("Start Uploading")
arcpy.server.UploadServiceDefinition(sd_output_filename, federated_server_url)

print("Finish Publishing")
ImageSharingDraft, пример 2: Публикация сервиса изображений в папку сервера автономного сайта ArcGIS Server

Следующий скрипт создает файл черновика определения сервиса (.sddraft) для сервиса изображений и задает свойства метаданных. Сервис изображений публикуется в папку на отдельном сайте ArcGIS Server.

import arcpy
import os

# Set output file names
outdir = r"C:\Project\Output"
service_name = "ImageSharingDraftExample"
sddraft_filename = service_name + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
sd_filename = service_name + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
datapath = r"C:\Project\data\Raster2.crf"

# Create ImageSharingDraft and set metadata and server folder properties
target_server_connection = r"C:\Project\gisserver.ags.esri.com (publisher).ags"
sddraft = arcpy.sharing.CreateSharingDraft(server_type="STANDALONE_SERVER", service_type="IMAGE_SERVICE",
                                           service_name=service_name, draft_value=datapath)
sddraft.targetServer = target_server_connection
sddraft.credits = "These are credits"
sddraft.description = "This is description"
sddraft.summary = "This is summary"
sddraft.tags = "tag1, tag2"
sddraft.useLimitations = "These are use limitations"
sddraft.serverFolder = "MyServerFolder"

# Create Service Definition Draft file
sddraft.exportToSDDraft(sddraft_output_filename)

# Stage Service
print("Start Staging")
arcpy.server.StageService(sddraft_output_filename, sd_output_filename)

# Publish to server
print("Start Uploading")
arcpy.server.UploadServiceDefinition(sd_output_filename, target_server_connection)

print("Finish Publishing")
ImageSharingDraft, пример 3: Перезапись (замена) веб-слоя изображений

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

import arcpy
import os

# Sign in to portal
arcpy.SignInToPortal(portal_url="https://organization.example.com/webadaptorname", username="MyUserName", password="MyPassword")

# Set output file names
outdir = r"C:\Project\Output"
service_name = "ImageSharingDraftExample"
sddraft_filename = service_name + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
sd_filename = service_name + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
datapath = r"C:\Project\data\Sample.gdb\Mosaic1"

# Create ImageSharingDraft and set overwrite property
federated_server_url = "https://gisserver.example.com/webadaptor"
sddraft = arcpy.sharing.CreateSharingDraft(server_type="FEDERATED_SERVER", service_type="WEB_IMAGERY_LAYER",
                                           service_name=service_name, draft_value=datapath)
sddraft.targetServer = federated_server_url
sddraft.overwriteExistingService = True

# Create Service Definition Draft file
sddraft.exportToSDDraft(sddraft_output_filename)

# Stage Service
print("Start Staging")
arcpy.server.StageService(sddraft_output_filename, sd_output_filename)

# Share to portal
print("Start Uploading")
arcpy.server.UploadServiceDefinition(sd_output_filename, federated_server_url)

print("Finish Publishing")
ImageSharingDraft, пример 4: Перезапись (замена) сервиса изображений

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

import arcpy
import os

# Set output file names
outdir = r"C:\Project\Output"
service_name = "ImageSharingDraftExample"
sddraft_filename = service_name + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
sd_filename = service_name + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
datapath = r"C:\Project\data\Sample.gdb\Mosaic2"

# Create ImageSharingDraft and set metadata, and server folder properties
target_server_connection = r"C:\Project\gisserver.ags.esri.com (publisher).ags"
sddraft = arcpy.sharing.CreateSharingDraft(server_type="STANDALONE_SERVER", service_type="IMAGE_SERVICE",
                                           service_name=service_name, draft_value=datapath)
sddraft.targetServer = target_server_connection
sddraft.overwriteExistingService = True

# Create Service Definition Draft file
sddraft.exportToSDDraft(sddraft_output_filename)

# Stage Service
print("Start Staging")
arcpy.server.StageService(sddraft_output_filename, sd_output_filename)

# Share to portal
print("Start Uploading")
arcpy.server.UploadServiceDefinition(sd_output_filename, target_server_connection)

print("Finish Publishing")

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