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 |
Строка, представляющая путь и имя файла для выходного файла черновика определения сервиса ( |
String |
|
service_name |
Строка, представляющая имя сервиса. Это то имя, которое будут видеть другие пользователи и использовать для обозначения этого сервиса. Имя может содержать только буквы, цифры и знак подчеркивания. В имени нельзя использовать пробелы и специальные символы. Длина имени не должна превышать 120 символов. |
String |
|
server_type |
Строка, представляющая тип сервера. В настоящее время единственным значением, которое поддерживается, является (Значение по умолчанию — MY_HOSTED_SERVICES) |
String |
|
service_type |
Строка, представляющая тип сервиса.
Примечание:Слои изображений карты и картографические сервисы не поддерживаются функцией (Значение по умолчанию — 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.server.StageService('C:/Project/Counties.sddraft', 'C:/Project/Counties.sd')
arcpy.server.UploadServiceDefinition('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.server.StageService('C:/Project/Counties.sddraft', 'C:/Project/Counties.sd')
arcpy.server.UploadServiceDefinition('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.server.StageService('C:/Project/Cities.sddraft', 'C:/Project/Cities.sd')
arcpy.server.UploadServiceDefinition('C:/Project/Cities.sd', 'My Hosted Services')