CreateWebLayerSDDraft

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

Преобразует документ карты, слой или список слоев в ArcGIS Project в файл черновика определения сервиса (.sddraft).

Обсуждение

Прежние версии:
Модуль arcpy.sharing, который появился в ArcGIS Pro 2.2 для более удобной публикации веб слоев, чем с помощью предыдущей функции CreateWebLayerSDDraft. Исходная функция осталась исключительно для совместимости с предыдущими версиями. Для получения дополнительной информации см. Введение в модуль Общего доступа.

CreateWebLayerSDDraft является первым шагом для автоматизации публикации карты, слоя или списка слоев на размещенном веб-слое с использованием ArcPy. Результатом работы CreateWebLayerSDDraft является файл Черновика определения сервиса (.sddraft).

Чтобы опубликовать веб-слой, необходимо следующее:

  • Учетная запись организации ArcGIS online
  • Роль издателя или администратора, назначенная вашей учетной записи

Черновик определения сервиса затем может быть преобразован в полностью готовый файл определения сервиса (.sd) с помощью инструмента Промежуточный сервис. Во время подготовки компилируется вся информация, необходимая для успешной публикации ГИС-ресурса. Наконец, файл определения сервиса можно загрузить и опубликовать как ГИС-сервис на заданном сервере онлайн-организации с помощью инструмента Загрузить определение сервиса. На этом шаге файл определения сервиса копируется на сервер, извлекается необходимая информация и публикуется ГИС-ресурс.

При публикации размещенных сервисов на ArcGIS Online используется информация об учетных данных (логин и пароль), которая была предоставлена при запуске ArcGIS Pro.

Синтаксис

CreateWebLayerSDDraft (map_or_layers, out_sddraft, service_name, {server_type}, {service_type}, {folder_name}, {overwrite_existing_service}, {copy_data_to_server}, {enable_editing}, {allow_exporting}, {enable_sync}, {summary}, {tags}, {description}, {credits}, {use_limitations})
ПараметрОписаниеТип данных
map_or_layers

Переменная, которая ссылается на объекты Map, Layer или список объектов Layer. Если вы публикуете список объектов Слоя, они должны быть из одной и той же карты.

Object
out_sddraft

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

String
service_name

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

String
server_type

Строка, представляющая тип сервера. В настоящее время единственным значением, которое поддерживается, является MY_HOSTED_SERVICES для ArcGIS Online.

(Значение по умолчанию — MY_HOSTED_SERVICES)

String
service_type

Строка, представляющая тип сервиса.

  • FEATURE_ACCESSПоддерживает запросы слоя, визуализацию и редактирование.
  • TILEDОбеспечивают быструю визуализацию карты с использованием набора заранее сформированных изображений карты или листов (тайлов). Эти листы создаются и хранятся на том сервере, куда вы загружаете свои данные.
Примечание:

Слои изображений карты и картографические сервисы не поддерживаются функцией CreateWebLayerSDDraft. Для них используйте модуль arcpy.sharing.

(Значение по умолчанию — FEATURE_ACCESS)

String
folder_name

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

(Значение по умолчанию — None)

String
overwrite_existing_service

Логическое (Булево) значение, определяющее, следует ли заменить существующую службу или нет.

(Значение по умолчанию — False)

Boolean
copy_data_to_server

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

(Значение по умолчанию — False)

Boolean
enable_editing

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

(Значение по умолчанию — False)

Boolean
allow_exporting

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

(Значение по умолчанию — False)

Boolean
enable_sync

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

(Значение по умолчанию — False)

Boolean
summary

Строка со сводной информацией.

(Значение по умолчанию — None)

String
tags

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

(Значение по умолчанию — None)

String
description

Строка с описанием.

(Значение по умолчанию — None)

String
credits

Строка со сведениями об авторах.

(Значение по умолчанию — None)

String
use_limitations

Строка с ограничениями использования.

(Значение по умолчанию — None)

String

Пример кода

Следующий скрипт публикует карту как векторные слои на ArcGIS Online.

import arcpy
aprx = arcpy.mp.ArcGISProject('C:/Project/Counties.aprx')
m = aprx.listMaps('USA Counties')[0]
arcpy.mp.CreateWebLayerSDDraft(m, 'C:/Project/Counties.sddraft', 'Counties', 'MY_HOSTED_SERVICES', 'FEATURE_ACCESS')
arcpy.StageService_server('C:/Project/Counties.sddraft', 'C:/Project/Counties.sd')
arcpy.UploadServiceDefinition_server('C:/Project/Counties.sd', 'My Hosted Services')

Следующий скрипт публикует список слоев как слои листов на ArcGIS Online.

import arcpy
aprx = arcpy.mp.ArcGISProject('C:/Project/Counties.aprx')
m = aprx.listMaps('USA Counties')[0]
lyrs=[]
lyrs.append(m.listLayers('Cities')[0])
lyrs.append(m.listLayers('Counties')[0])
arcpy.mp.CreateWebLayerSDDraft(lyrs, 'C:/Project/Counties.sddraft', 'Counties', 'MY_HOSTED_SERVICES', 'TILED')
arcpy.StageService_server('C:/Project/Counties.sddraft', 'C:/Project/Counties.sd')
arcpy.UploadServiceDefinition_server('C:/Project/Counties.sd', 'My Hosted Services')

Следующий скрипт публикует отдельный слой как векторный слой на ArcGIS Online.

import arcpy
aprx = arcpy.mp.ArcGISProject('C:/Project/Counties.aprx')
m = aprx.listMaps('USA Counties')[0]
lyr = m.listLayers('Cities')[0]
arcpy.mp.CreateWebLayerSDDraft(lyr, 'C:/Project/Cities.sddraft', 'Cities', 'MY_HOSTED_SERVICES', 'FEATURE_ACCESS')
arcpy.StageService_server('C:/Project/Cities.sddraft', 'C:/Project/Cities.sd')
arcpy.UploadServiceDefinition_server('C:/Project/Cities.sd', 'My Hosted Services')