Руководство разработчика 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=9c6333f651846cfc94feae0597b61224
        
      

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

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

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

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

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

Ответ:

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

        
GET /layers?name=testlayer?token=9c6333f651846cfc94feae0597b61224
        
      

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=9c6333f651846cfc94feae0597b61224
        
      

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 /groups/withLayers

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

        
GET /groups/withLayers?token=9c6333f651846cfc94feae0597b61224
        
      

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

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

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

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=9c6333f651846cfc94feae0597b61224
        
      

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=9c6333f651846cfc94feae0597b61224
        
      

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=9c6333f651846cfc94feae0597b61224
        
      

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=9c6333f651846cfc94feae0597b61224
        
      

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=9c6333f651846cfc94feae0597b61224
        
      

layerId: id слоя

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

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

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

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

Ответ:

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

Поиск по адресу (GET запрос)

GET /geocoding

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

        
        GET /geocoding?query=Казань&layersId=12,23,345,56&bbox=46,55,48,57&token=9c6333f651846cfc94feae0597b61224
        
      

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

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

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

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

Ответ:

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

Формат: json

          
[
    {
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Казань, городской округ Казань, Татарстан",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            },
            "address": {
                "city": "Казань",
                "county": "городской округ Казань",
                "state": "Татарстан",
                "country": "Россия",
                "country_code": "ru"
            }
        }]
    }, ...
]
          
        


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

    // расшифровка адреса, объект
        

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

Формат: text/plain

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

Поиск по координатам (POST запрос)

POST /geocoding

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

                
        POST /geocoding?token=9c6333f651846cfc94feae0597b61224
                
            

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

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


{
    "layersId": ["10","12","26"],
    "point": {
        "lon": 50.69091796875,
        "lat": 55.33851784425634
    },
    "zoom": 14
}
                    
                
                // массив id слоев, где также надо осуществлять поиск
                // точка на карты, объект
                // долгота точки, вещественное число
                // широта точки, вещественное число

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

Ответ:

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

Формат: json

                    
[
    {
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Казань, городской округ Казань, Татарстан",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            },
            "address": {
                "city": "Казань",
                "county": "городской округ Казань",
                "state": "Татарстан",
                "country": "Россия",
                "country_code": "ru"
            }
        }]
    }, ...
]
                    
                


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

    // расшифровка адреса, объект
                

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

Формат: text/plain

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

Поиск по координатам (GET запрос)

GET /geocoding

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

                
        GET /geocoding?lon=55.45&lat=49.67&layersId=12,23,345,56&zoom=14&token=9c6333f651846cfc94feae0597b61224
                
            

lon: долгота точки, вещественное число

lat: широта точки, вещественное число

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

zoom: уровень масштабирования карты, влияет на уровень детализации, необходимый для адреса

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

Ответ:

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

Формат: json

                    
[
    {
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Казань, городской округ Казань, Татарстан",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            },
            "address": {
                "city": "Казань",
                "county": "городской округ Казань",
                "state": "Татарстан",
                "country": "Россия",
                "country_code": "ru"
            }
        }]
    }, ...
]
                    
                


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

    // расшифровка адреса, объект
                

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

Формат: text/plain

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