Руководство разработчика REST

WMS - запрос легенды слоя

GET /service/wms

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


GET /service/wms?request=GetLegendGraphic&style=vamin_kioski_p_vw_style_21_03_2011_19_20_16&
    layer=kziokzn:vamin_kioski_p_vw&format=image/png&token=mbs90lon2a8

request: название запроса GetLegendGraphic

layer: английское название слоя

style: название стиля слоя

format: формат, в котором вернется легенда

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

Ответ:

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

Формат: зависит от параметра format

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

Формат: text/plain

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

Статус: 403 - нет доступа к слою

Формат: text/plain

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

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

Формат: text/plain

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

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


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/{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

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

Отображение превью-картинки у метаданных, если она присутствует

GET /layers/{layerId}/metadata/quicklook/{file}

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


GET /layers/179/metadata/quicklook/kosmosnimok2012_02_08_05_06_06.jpg?token=mbs90lon2a8

layerId: id слоя

file: название файла, приходит в качестве значения поля превью у метаданных

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

Ответ:

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

Формат: image/jpeg и т.д.

Статус: 404 - картинка не найдена

Формат: text/plain

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

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

Формат: text/plain

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

Список групп, включая полную информацию по принадлежащим им слоям

GET /groups/withLayers

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


GET /groups/withLayers?token=mbs90lon2a8

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

Поиск списка групп, включая полную информацию по принадлежащим им слоям


GET /groups/withLayers?name=Группа?token=mbs90lon2a8

name: слово/фраза, которая входит в название списка групп

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

Ответ:

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

Формат: json


{
    "groups": [{
        "id": 32,
        "name": "Новая группа",
        "order": "1",
        "groupLayers": [{
            "order": 1,
            "layer": {
                "id": 10,
                "name": "Название слоя",
                "info": {
                    "id": 10,
                    "typeName": "name",
                    "style": "style",
                    "service": "WMS",
                    "poly": false,
                    "requestUrl": "/service/wms",
                },
                "isEditable": true,
                "fields": [{
                     "id": 4076,
                     "name": "Field",
                     "nameRu": "Поле",
                     "order": 1,
                     "title": false,
                     "view": true,
                     "type": "string"
                }]
            },
            "groupId": 32
        }]
    }]
}


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

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


// id группы

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

Формат: text/plain

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

Список групп, включая краткую информацию по принадлежащим им слоям

GET /groups/shortdata/withLayers

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


GET /groups/shortdata/withLayers?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    "groups": [{
        "id": 32,
        "name": "Группа",
        "order": "1",
        "groupLayers": [{
            "layer": {
                "id": 10,
                "name": "Слой",
                "enabled": false,
                "info": {
                    "id": 10,
                    "typeName": "test:test_layer",
                    "style": "test_layer_a",
                    "service": "WMS",
                    "poly": false,
                    "requestUrl": "/service/wms",
                },
            },
            "order": 1,
            "groupId": 32
        }]
    }]
}


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


// порядок слоя в списке, целое число
// id группы

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

Формат: text/plain

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

Группа слоев, включая полную информацию по принадлежащим ей слоям

GET /groups/{groupId}/withLayers

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


GET /groups/32/withLayers?token=mbs90lon2a8

groupId: id группы

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

Ответ:

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

Формат: json


{
    "group": {
        "id": 32,
        "name": "Населенные пункты",
        "order": "1",
        "groupLayers": [{
            "order": 1,
            "layer": {
                "id": 10,
                "name": "Населенные пункты",
                "info": {
                    "id": 10,
                    "typeName": "test:test_a",
                    "style": "style_test__a",
                    "service": "WMS",
                    "poly": true,
                    "requestUrl": "/service/wms",
                },
                "isEditable": true,
                "fields": [{
                    "id": 4076,
                    "name": "test",
                    "nameRu": "Поле1",
                    "order": 1,
                    "title": true,
                    "view": true,
                    "type": "string"
                }]
            },
        "groupId": 32
        }]
    }
}


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


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


// id группы

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

Формат: text/plain

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

Отображение прикрепленной фотографии с масштабированием по высоте

GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}

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


GET /layers/eis/198/141/photo/247/100?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

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

Отображение прикрепленной фотографии с масштабированием по высоте и ширине

GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}/{width}

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


GET /layers/eis/198/141/photo/247/100/150?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

width: ширина для масштабирования

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

Ответ:

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

Формат: image/jpeg и т.д.

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

Формат: text/plain

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

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

Формат: text/plain

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

Отображение прикрепленного файла

GET /layers/eis/{layerId}/{objectId}/{fileType}/{fileId}

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


GET /layers/eis/198/141/file/247?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

fileType: тип файла: photo, video, audio, file

fileId: первичный ключ файла

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

Ответ:

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

Формат: зависит от типа отдаваемого файла

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

Формат: text/plain

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

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

Формат: text/plain

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

GET запрос

GET /geocoding

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


GET /geocoding?query=Казань&lon=55.45&lat=49.67&layersId=12,23,345,56&bbox=46,55,48,57?token=mbs90lon2a8

query: строка запроса

lon: долгота центра карты, число с плавающей точкой

lat: широта центра карты, число с плавающей точкой

layersId: id слоев, где также надо осуществлять поиск, через запятую

bbox: область запроса

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

Ответ:

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

Формат: json


{
    "layers": [{
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Республика Татарстан, Казань, Ледяная",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            }
        }]
    }]
}


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

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

Формат: text/plain

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