MapSurfer — rest — layers

GET /layers

Структура запроса:


GET /layers?token=mbs90lon2a8

token: ключ доступа

Получение списка слоев по английскому названию


GET /layers?name=testlayer?token=mbs90lon2a8

name: английское название слоя или слово, встречающееся в названии списка слоев

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "layers": [{
        "order": 9,
        "layer": {
            "id": 135,
            "name": "testlayerpoint",
            "info": {
                "id": 135,
                "typeName": "test:testlayerpoint1410257743497_vw",
                "style": "point",
                "service": "WFS",
                "poly": false,
                "requestUrl": "/service/wfs"
            },
            "isEditable": true,
            "fields": {
                "id": 250,
                "name": "Field",
                "nameRu": "Поле",
                "order": 1,
                "title": false,
                "view": true,
                "type": "string"
            }
        },
    "groupId": 12
    }]
}



// массив слоев
// порядковый номер в списке, целое число
// объект слоя
// id слоя, целое число
// название слоя, строка
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка

// является ли редактируемым, булевое поле
// объект полей
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип, строка


// id группы

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers/count

Структура запроса:


GET /layers/count?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    237
}



// количество слоев

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /layers

Структура запроса:


POST /layers?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json


{
    "attributes": [{
        "rusName": "Атрибут",
        "name": "attribute",
        "type": "str",
        "isTitle": false,
        "isView": true
    }],
    "customFields": {
        "field_1": {
            "field_id": 41,
            "value": "1"
        },
    },
    "geometryType": "point",
    "groupId": 1053,
    "dataStoreId": 12,
    "fromFile": false,
    "isEditable": true,
    "layerType": "vector",
    "name": "Novyi-sloy",
    "styles": {
        "isBase": true
    },
    "title": "Новый слой"
}



// данные об атрибутах, массив
// русское название, строка
// английское название, строка
// тип, строка
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле

// дополнительные поля, объект
// название дополнительного поля
// id поля, целое число
// значение поля, строка


// тип геометрии, строка
// id группы, целое число
// id хранилища, целое число
// из файла, булевое поле
// является редактируемым, булевое поле
// тип слоя, строка
// английское название слоя, строка
// стили, объект
// является ли стиль простым, булевое поле

// заголовок, строка

Примечание:

В зависимости от выбранного типа геометрии в «styles» могут передаваться следующие параметры:

  • isBase — базовый стиль (булевое поле)
  • isSymple — простой стиль (булевое поле)
  • style — расширенный стиль (строка — описывается geocss)

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "id": 154,
    "name": "Новый слой",
    "info": {
        "id": 154,
        "typeName": "test:novcyj_sloj_vw",
        "style": "polygon",
        "service": "WMS",
        "poly": true,
        "requestUrl": "/service/wms"
    },
    "isEditable": true,
    "fields": [{
        "id": 3452,
        "name": "parameter",
        "nameRu": "parameter",
        "order": 1,
        "title": false,
        "view": true,
        "type": "str"
    }],
    "groupId": 42,
    "dataStoreId": 22,
    "order": 3,
    "geometryType": "multipolygon",
    "dataStoreName": "fail_store",
    "layerType": "vector"
}



// id слоя, целое число
// название слоя, строка
// информация о слое, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка

// является ли редактируемым, булевое поле
// информация об атрибутах, массив
// id атрибута, целое число
// английское название атрибута, строка
// русское название атрибута, строка
// порядковый номер в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип, строка

// id группы, целое число
// id хранилища данных, целое число
// порядковый номер в списке, целое число
// тип геометрии, строка
// название хранилища, строка
// тип слоя, строка

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PUT /layers/{layerId}

Структура запроса:


PUT /layers/365?token=mbs90lon2a8

layerId: id изменяемого слоя

token: ключ доступа

Пример запроса:

Формат: json


{
    "attributes": [{
        "name": "nomer",
        "rusName": "NOMER",
        "type": "Long",
        "isGeometryField": false,
        "visible": null,
        "view": true
    },…],
    "customFields": {
        "field": {
        "field_id": 501,
        "value": ""
        },
    },
    "dataStoreId": "21",
    "fileName": "p19bmqvgl6101t1996124718ckqp4v.zip",
    "fromFile": true,
    "geometryType": "polygon",
    "groupId": 1053,
    "isEditable": true,
    "layerType": "vector",
    "name": "sloj_sloj",
    "styles": {
        "isBase": false,
        "isSimple": true,
        "style": "*{fill:#0000FF;}"
    },
    "title": "Слой слой",
    "withProjection": true
}



// данные об атрибутах, массив
// русское название, строка
// английское название, строка
// тип, строка
// является геометрией, булевое поле



// дополнительные поля, объект
// название дополнительного поля
// id поля, целое число
// значение поля, строка


// id хранилища, строка
// название файла, строка
// из файла, булевое поле
// тип геометрии, строка
// id группы, целое число
// является редактируемым, булевое поле
// тип слоя, строка
// название слоя, строка
// стили, объект
// является ли стиль базовым, булевое поле
// является ли стиль простым, булевое поле
// geocss стиль

// заголовок, строка
// с проекцией, булевое поле

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "id": 365,
    "name": "Название слоя",
    "info": {
        "id": 365,
        "typeName": "test:nazvanie_sloya_21399556133349_vw",
        "style": "nazvanie_sloya_21399556133349style",
        "service": "WFS",
        "poly": false,
        "requestUrl": "/service/wfs"
    },
    "isEditable": true,
    "fields": [{
        "id": 5972,
        "name": "pole1",
        "nameRu": "Атрибут_1",
        "order": 1,
        "title": true,
        "view": true,
        "type": "string"
    },],
    "dataStoreName": "ssc_inf",
    "layerType": "vector",
    "groupId": 117,
    "dataStoreId": 21,
    "order": 1,
    "geometryType": "multipoint"
}



// id слоя, целое число
// название слоя, строка
// информация о слое, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка

// является ли редактируемым, булевое поле
// информация об атрибутах, массив
// id атрибута, целое число
// английское название атрибута, строка
// русское название атрибута, строка
// порядковый номер в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип, строка

// название хранилища, строка
// тип слоя, строка
// id группы, целое число
// id хранилища данных, целое число
// порядковый номер в списке, целое число
// тип геометрии, строка

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PATCH /layers/{layerId}

Структура запроса:


PATCH /layers/1413?token=mbs90lon2a8

layerId: id изменяемого слоя

token: ключ доступа

Пример запроса:

Формат: json


{
    "attributes": [{
        "rusName": "Атрибут№1",
        "name": "Attribute№1",
        "type": "num",
        "isTitle": false,
        "isView": true
    }],
    "customFields": {
        "newfield": {
            "field_id": 501,
            "value": "value"
        },
    },
    "groupId": "1093",
    "styles": {
        "isBase": true
    },
    "title": "New layer name"
}



// данные об атрибутах, массив
// русское название, строка
// английское название, строка
// тип, строка
// является заголовком, булевое поле


// дополнительные поля, объект
// название дополнительного поля
// id поля, целое число
// значение поля, строка


// id группы, целое число
// стили, объект
// является ли стиль базовым, булевое поле

// заголовок, строка

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "id": 1413,
    "name": "New layer name",
    "info": {
        "id": 1413,
        "typeName": "test:new_layer1419506827493_vw",
        "style": "point",
        "service": "WFS",
        "poly": false,
        "requestUrl": "/service/wfs"
    },
    "isEditable": true,
    "fields": [{
        "id": 15236,
        "name": "newfield",
        "nameRu": "Новое поле",
        "order": 1,
        "title": false,
        "view": true,
        "type": "str"
    }],
    "groupId": 1093,
    "dataStoreId": 21,
    "order": 6,
    "geometryType": "multipoint",
    "layerType": "vector",
    "dataStoreName": "ssc_inf"
}



// id слоя, целое число
// название слоя, строка
// информация о слое, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка

// является ли редактируемым, булевое поле
// информация о дополнительных полях, массив
// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядковый номер в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип, строка

// id группы, целое число
// id хранилища данных, целое число
// порядковый номер в списке, целое число
// тип геометрии, строка
// тип слоя, строка
// название хранилища, строка

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

DELETE /layers/{layerId}

Структура запроса:


DELETE /layers/14?token=mbs90lon2a8

layerId: id удаляемого слоя

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "delete": true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers.xlsx

Структура запроса:


GET /layers.xlsx?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

Возвращает бинарный файл

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers/{layerId}

Структура запроса:


GET /layers/136?token=mbs90lon2a8

layerId: id слоя

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "layer": {
        "order": 2,
        "layer": {
            "id": 136,
            "name": "Тестовый слой",
            "info": {
                "id": 136,
                "typeName": "test:test_p",
                "style": "test_p_style",
                "service": "WMS",
                "poly": false,
                "requestUrl": "/service/wms",
                "eisInfo": {
                    "hasEis": true,
                    "pkField": "id"
                }
            },
            "isEditable": true,
            "fields": [
                {
                    "id": 4423,
                    "name": "Field",
                    "nameRu": "Поле 1",
                    "order": 1,
                    "title": false,
                    "view": true,
                    "type": "string"
                }
            ],
            "customFields": null,
            "dataStoreName": "ssc_inf",
            "layerType": "vector",
            "isKosmosnimok": false,
            "access": {
                "edit": true,
                "write": true,
                "read": true
            },
            "geometryType": "multipolygon",
            "cluster": null
        },
        "groupId": 14
    }
}



// объект
// порядковый номер в списке, целое число
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка


// является ли редактируемым, булевое поле
// массив полей

// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип поля, строка


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

// тип геометрии, строка
// кластер, строка

// id группы

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Информация по слою, исключая данные о группе слоя

GET /layers/{layerId}/info

Структура запроса:


GET /layers/132/info?token=mbs90lon2a8

layerId: id слоя

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "layer": {
        "id": 136,
        "name": "Тестовый слой",
        "info": {
            "id": 136,
            "typeName": "test:test_p",
            "style": "test_p_style",
            "service": "WMS",
            "poly": false,
            "requestUrl": "/service/wms",
            "eisInfo": {
                "hasEis": true,
                "pkField": "id",
            }
        },
        "isEditable": true,
        "fields": [
            {
                "id": 4423,
                "name": "vid",
                "nameRu": "Поле1",
                "order": 1,
                "title": false,
                "view": true,
                "type": "string"
            }
        ],
        "customFields": null,
        "dataStoreName": "ssc_inf",
        "layerType": "vector",
        "isKosmosnimok": false,
        "access": {
            "edit": true,
            "write": true,
            "read": true
        },
        "geometryType": "multipolygon",
        "cluster": null
    }
}



// объект слоя
// id слоя, целое число
// русское название слоя, строка
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка


// является ли редактируемым, булевое поле
// массив полей

// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// показывать ли поле, булевое поле
// тип поля, строка


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

// тип геометрии, строка
// кластер, строка

Статус: 403 — у вас нет доступа к данному слою

Формат: text/plain

Содержит описание ошибки

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки