Хотите обновить определение сервиса ArcGIS Online, добавив новое поле? Не смотрите дальше! В этой статье мы рассмотрим, как этого можно добиться с помощью REST API ArcGIS Online. Мы углубимся в различные методы и предоставим примеры кода, которые помогут вам в этом. Итак, начнём!
Прежде чем мы начнем, важно понять, что REST API ArcGIS Online позволяет вам программно взаимодействовать с вашей организацией ArcGIS Online. Он предоставляет набор конечных точек, которые можно использовать для выполнения различных операций, включая обновление определений служб.
Метод 1: использование POST-запроса
Один из способов добавить поле в определение службы — отправить запрос POST в соответствующую конечную точку. Вот пример того, как этого можно добиться с помощью Python и библиотеки requests
:
import requests
url = "https://<your-arcgis-online-url>/arcgis/rest/admin/services/<service-name>.MapServer/admin/updateDefinition"
params = {
"f": "json",
"addToDefinition": "{\"fields\": [{\"name\": \"new_field\", \"type\": \"esriFieldTypeString\", \"alias\": \"New Field\", \"length\": 50}]}",
"token": "<your-arcgis-online-token>"
}
response = requests.post(url, params=params)
В этом примере вам необходимо заменить <your-arcgis-online-url>
на URL-адрес вашей организации ArcGIS Online, <service-name>
на имя вашего сервиса и <your-arcgis-online-token>
с вашим токеном аутентификации.
Метод 2: использование ArcGIS API для Python
Если вы предпочитаете работать с Python и ArcGIS API for Python, вы можете использовать метод update_definition()
для добавления нового поля. Вот пример:
from arcgis.gis import GIS
from arcgis.mapping import WebMap
gis = GIS("<your-arcgis-online-url>", "<your-arcgis-online-username>", "<your-arcgis-online-password>")
item = gis.content.get("<item-id>")
webmap = WebMap(item)
webmap.update_definition({"fields": [{"name": "new_field", "type": "esriFieldTypeString", "alias": "New Field", "length": 50}]})
В этом примере вам необходимо заменить <your-arcgis-online-url>
, <your-arcgis-online-username>
и <your-arcgis-online-password>
своими учетными данными ArcGIS Online и <item-id>
с идентификатором вашей веб-карты.
Метод 3: использование ArcGIS Pro
Если на вашем компьютере установлен ArcGIS Pro, вы также можете добавить поле в определение сервиса с помощью пользовательского интерфейса ArcGIS Pro. Просто откройте ArcGIS Pro, перейдите на панель «Каталог», найдите свой сервис, щелкните его правой кнопкой мыши и выберите «Свойства сервиса». Отсюда вы можете добавить новое поле в определение службы.
Заключение
Добавление поля в определение сервиса ArcGIS Online — простой процесс при использовании REST API. В этой статье мы рассмотрели три метода: отправка запроса POST, использование ArcGIS API for Python и использование ArcGIS Pro. В зависимости от ваших предпочтений и имеющихся у вас под рукой инструментов вы можете выбрать тот метод, который подходит вам лучше всего.
Не забудьте заменить необходимые заполнители в примерах кода собственными значениями, такими как URL-адрес, имя службы, токен аутентификации и идентификатор элемента. Имея в своем распоряжении эти методы, вы можете легко обновить определение сервиса и улучшить свои приложения ArcGIS Online.