Загрузка данных по API
Вы можете загружать данные из внешних источников в Про по API. Этот способ лучше всего подходит для работы с изменчивыми по своей природе данными.
Примечание
Загрузить данные по API вы можете только в отдельный набор данных, созданный по инструкции ниже. Загрузка в системные наборы данных недоступна.
Начало работы
-
Создайте пустой набор, в который будут подгружаться данные:
-
Отправьте POST-запрос к
/dynamic_asset
:https://pro-api.2gis.ru/dynamic_asset
Для авторизации используйте Bearer-токен.
Как получить Bearer-токен
- Откройте интерфейс Про в браузере и откройте Developer Tools (клавиша F12).
- В интерфейсе Про нажмите , чтобы открыть вкладку профиля.
- На панели Developer Tools во вкладке Networks появится строка
user?include_permissions=true
. Нажмите на неё. - В открывшейся таблице найдите строку Authorization и скопируйте символы после Bearer. Используйте эти символы как токен авторизации.
-
В теле запроса передайте JSON с необходимыми параметрами:
geometry_dimension
: тип геометрии (точка, линия, полигон). Обязательный параметр.name
: имя набора данных. Обязательный параметр.description
: описание набора данных.attribute_groups
: список атрибутов данных. Вы можете указать не более 100 атрибутов каждого типа.filters
: настройки фильтров данных по указанным атрибутам: тип UI-элемента, список значений и т.д.
Более подробную информацию о параметрах см. в Справочнике API.
Пример тела запроса
{ "geometry_dimension": "polygon", "name": "Машины на карте города", "description": "Показывает позиции автомобилей на карте", "attribute_groups": [ { "name": "Main features", "attributes": [ { "id": "Model", "type": "string", "caption": "Модель" }, { "id": "Year", "type": "number", "caption": "Год выпуска" } ] } ], "filters": [ { "attribute_id": "Model", "control_type": "check_box_list", "items": [ { "value": "Mercedes Benz S600", "caption": "Mercedes Benz S600" }, { "value": "Citroen C3", "caption": "Citroen C3" } ] }, { "attribute_id": "Year", "control_type": "range", "min": 1969, "max": 2022 } ] }
В случае успешного выполнения запроса вернется ответ с ID созданного набора данных (поле
asset_id
) и токеном доступа (полеaccess_token
). -
-
Откройте интерфейс Про и обновите страницу. Созданный набор появится в списке загруженных данных.
Примечание
Создание набора данных может занять некоторое время. Если набор не появился в интерфейсе сразу, попробуйте обновить страницу позднее.
Чтобы увидеть настроенные фильтры, откройте набор данных и выберите территорию (пока данные не загружены, результаты будут пустые).
Загрузка данных
Чтобы загрузить в Про порцию данных:
-
Отправьте PUT-запрос к
/dynamic_asset
:https://pro-api.2gis.ru/dynamic_asset/{assetId}/data
Для отправки запроса необходимы следующие данные, которые вы получили при создании набора:
- ID набора данных (
assetId
). Вы можете скопировать его из интерфейса Про: откройте созданный набор данных и скопируйте значение между...assetId/
и?m=...
из адреса открывшейся страницы. - Токен доступа для авторизации. Вы можете найти его во вкладке личного профиля в интерфейсе Про.
- ID набора данных (
-
В теле запроса передайте данные в формате GeoJSON:
-
type
: тип объекта GeoJSON. -
features
: параметры объекта:-
type
: тип объекта GeoJSON. -
geometry
: геометрия объекта в формате JSON. -
id
: идентификатор объекта. -
properties
: свойства объекта по схеме атрибутов данных, заданных при создании набора.Если в свойствах объекта имена или значения атрибутов отличаются от заданных при создании набора данных, то все новые значения будут отображены в карточке объекта, но не попадут в настройки фильтров. Чтобы обновить фильтры, отправьте запрос на изменение метаданных набора.
-
Более подробную информацию о параметрах см. в Справочнике API.
Пример тела запроса
{ "type": "FeatureCollection", "features": [ { "id": "1", "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [37.67340873626523, 55.689291576019315], [37.67340873626523, 55.68384205945338], [37.68043927275957, 55.68384205945338], [37.68043927275957, 55.689291576019315], [37.67340873626523, 55.689291576019315] ] ] }, "properties": { "Model": "Citroen C3", "Year": 2002 } } ] }
-
-
Откройте интерфейс Про, обновите страницу и выберите нужный набор данных. Загруженные данные отобразятся на карте.
Примечание
Загрузка данных обычно занимает около минуты. Если данные не появились сразу, попробуйте обновить страницу позже.
Лимиты
- Наборы для загрузки данных по API учитываются в общем лимите пользовательских данных. Вы можете найти текущую статистику во вкладке личного профиля в интерфейсе Про.
- Максимальное общее количество объектов в наборе данных — 100 000. Чтобы увеличить этот лимит, обратитесь в поддержку.
- Максимальное количество загружаемых объектов в одной операции — 1000.
- Максимальный размер тела запроса в PUT-запросах — 1 Мб.
Операции с загруженными данными
Для отправки запросов ниже необходимы следующие данные, которые вы получили при создании набора:
-
ID набора данных.
Вы можете скопировать его из интерфейса Про: откройте созданный набор данных и скопируйте значение между
...assetId/
и?m=...
из адреса открывшейся страницы. -
Токен доступа для авторизации.
Вы можете найти его во вкладке личного профиля в интерфейсе Про.
Просмотреть параметры набора данных
Отправьте GET-запрос к /dynamic_asset
с указанием ID созданного набора данных (параметр assetId
):
https://pro-api.2gis.ru/dynamic_asset/{assetId}
Подробную информацию о структуре тела ответа см. в Справочнике API.
Изменить параметры набора данных
Важно
Если вы добавите новый фильтр к уже существующему атрибуту, фильтрация будет происходить только по новым данным, которые будут загружены после добавления фильтра. Старые данные не будут учитываться при фильтрации. Вы можете добавить новый атрибут вместе с новым фильтром, чтобы учесть все данные.
-
Отправьте PUT-запрос к
/dynamic_asset
:https://pro-api.2gis.ru/dynamic_asset
-
В теле запроса передайте JSON с ID и названием набора данных, а также параметрами, которые необходимо изменить.
Полный список параметров см. в Справочнике API.
Удалить объекты из набора данных
-
Отправьте DELETE-запрос к
/dynamic_asset
с указанием ID созданного набора данных (параметрassetId
):-
Чтобы удалить часть объектов:
https://pro-api.2gis.ru/dynamic_asset/{assetId}/data
-
Чтобы удалить все объекты:
https://pro-api.2gis.ru/dynamic_asset/{assetId}/data/all
-
-
Если вы удаляете только часть объектов, передайте в теле запроса JSON со списком ID объектов для удаления.
Более подробную информацию о параметрах см. в Справочнике API.
Удалить набор данных
- В интерфейсе Про наведите курсор на карточку загруженных данных.
- Нажмите на значок и выберите пункт Удалить.
- Подтвердите удаление, нажав Удалить.
Что дальше?
- Справочник API.
- Узнайте как работать со Слоями.
- Узнайте больше о возможностях Визуализации данных.
- Познакомьтесь с готовыми Сценариями аналитики.