Skip to main content

exportToSDDraft

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

Класс 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, используя инструменты Промежуточный сервис и Выгрузить определение сервиса.

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

Синтаксис

exportToSDDraft()

Свойства

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

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

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

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