Вы можете автоматизировать публикацию, перезаписывание и замену веб-слоев с помощью Python, используя комбинации функций ArcPy в Модуле публикаций и инструменты геообработки в наборах инструментов Публикация, Кэширование, Полистный кэш и Упаковка.
Есть два способа автоматизировать публикацию веб-слоев: вы можете опубликовать веб-слои из определения сервиса или из пакетов. Подход, который вы должны использовать, зависит от типа веб-слоя, который вы хотите опубликовать. Если вы используете способ с определением сервиса, веб-слой публикуется из определения сервиса. Если вы используете подход с пакетом, кэш создается локально как пакет, который потом загружается и используется для публикации веб-слоя.
Тип веб-слоя | Определение сервиса | Пакет |
---|---|---|
Примечание:
Некоторые конфигурации веб-слоев не могут быть опубликованы с помощью Python. Следующее должно быть опубликовано с помощью пользовательского интерфейса приложения:
- Слой векторных листов со связанным слоем изображения карты и/или векторным веб-слоем
- Слой веб-сцены со связанным слоем изображения карты и/или векторным веб-слоем
Публикация веб-слоев из определений сервисов
Рабочий процесс публикации веб-слоя начинается с карты в проекте или набора растровых данных, которые вы хотите опубликовать.
- Для начала создайте черновик определения сервиса с помощью метода getWebLayerSharingDraft из класса Map. Для получения дополнительной информации см. раздел FeatureSharingDraft, MapImageSharingDraft или TileSharingDraft. Чтобы создать черновик определения сервиса для отдельной таблицы, используйте функцию ListTables с классом FeatureSharingDraft. Чтобы создать черновик определения сервиса для веб-слоя изображения, используйте функцию CreateImageSDDraft.
Чтобы перезаписать векторный веб-слой, слой изображения карты или отдельную таблицу, измените свойство overwriteExistingService черновика публикации.
Примечание:
Это свойство недоступно для TileSharingDraft или CreateImageSDDraft. Для веб-слоя листов используйте вместо этого инструмент геообработки Заменить веб-слой.
- Затем воспользуйтесь инструментом геообработки Организовать сервис, чтобы подготовить определение сервиса. В ходе подготовки в черновике определения сервиса будет собрана вся информация, которая необходима для публикации веб-слоя в полном определении сервиса.
- Наконец, запустите инструмент геообработки Загрузить определение сервиса для отправки определения сервиса на сервер и публикации веб-слоя.
Примечание:
Вам нужно будет войти в AllSource с учетной записью ArcGIS Online или ArcGIS Enterprise, у которой есть права на создание и публикацию ресурсов.
Публикация веб-слоев из пакетов
Для веб-слоев листов и слоев векторных листов рабочий процесс начинается с карты в проекте, которую вы хотите опубликовать. Для веб-слоев сцен и веб-слоев высот он начинается с поддерживаемого входного набора данных.
- Сначала создайте пакет для типа веб-слоя, который вы хотите опубликовать, с помощью соответствующих инструментов геообработки.
Тип веб-слоя Инструмент или инструменты геообработки Создать пакет листов карты Создание пакета векторных листов Есть несколько инструментов, которые создают пакеты слоев сцены. Дополнительные сведения см. в Создание и публикация пакетов слоя сцены
Веб-слои по инструментам геообработки, используемым для создания ресурса. Подсказка:
Перед созданием пакета листов для веб-слоя листов или веб-слоя высот можно использовать инструмент Построить схему листов кэша Map Server или Построить схему листов полистного кэша для создания схемы листов в проекции вашей карты или набора данных высот. Вы можете пропустить этот шаг, если вы хотите использовать схему листов ArcGIS Online/Bing Maps/Google Maps. Более подробно см. в разделе Публикация пакета листов.
- Далее используйте инструмент Опубликовать пакет, чтобы загрузить и опубликовать пакет как веб-слой на ArcGIS Online или ArcGIS Enterprise.
- В конце, при необходимости, используйте инструмент Заменить веб-слой, чтобы заменить ресурс существующего веб-слоя на портале ресурсом нового веб-слоя.
Примечание:
Веб-слои высот не могут быть заменены.