mapAdmin — Запросы слоев
Запросы слоев
Список слоев
GET /layers/
Пример ответа:
{
"res": 1,
"resText": "",
"layers": [{
"name": "Тест1",
"layer_id": "q",
"url": "http:\/\/cache1.mapkzn.ru\/geoserver\/wms",
"type_name": "test:test1",
"style": "point",
"have_legend": "f",
"service": "WMS",
"poly": "f",
"server_id": "2",
"group_id": "1",
"from_infrastructure": "f",
"user_id": "1",
"group_name": "Базовые слои",
"read": "t",
"write": "f",
"edit": "t"
},...]
}
Добавление слоя
POST /layers/
Формат входных данных для пользователей:
1. Администратор всех ведомств (role_id = 8):
{
"action": "put",
"server_id": ,
"datastore": ,
"engname": ,
"geomtype": ,
"style":,
"style": {
"point_forma": ,
"point_size": ,
"point_fill_color": ,
"pointstroke": ,
"point_stroke_width": ,
"point_stroke_color":
},
"style": {
"line_width": ,
"line_fill_color": ,
"linestroke": ,
"line_stroke_width": ,
"line_stroke_color":
},
"style": {
"polygon_fill_color": ,
"polygon_opacity": ,
"polygonstroke": ,
"polygon_stroke_color": ,
"polygon_stroke_width":
},
"attributes": [{
"engname": ,
"rusname": ,
"type": ,
"titles": 1
}],
"rusname": ,
"group_id": ,
"newlayer_service":
}
// id сервера
// ссылка datastore
// английское название слоя
// тип геометрии: point, line, polygon
// название стиля, если передается существующий
// новый стиль для типа point
// форма точки: 1 - круг, 2 - квадрат,3 - треугольник
// размер точки (целое число)
// цвет заливки (RGB)
// 0 - нет линии, 1 - есть линия
// если есть линия, ширина линии (целое число)
// цвет линии (RGB)
// новый стиль для типа line
// ширина линии
// цвет линии (RGB)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка
// ширина обводки (целое число)
// цвет обводки (RGB)
// новый стиль для типа polygon
// цвет заливки(RGB)
// прозрачность (число от 0 до 1)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка, цвет обводки (RGB)
// ширина обводки (целое число)
// английское название атрибута
// русское название атрибута
// тип: int - целое число, str - строка,
// num - число с плавающей точкой
// 1, если атрибут является заголовком
// русское название слоя
// id группы
// тип слоя: WMS, WFS
2. Администратор ведомства (role_id = 10):
{
"action": "put",
"datastore_id": "{id datastore}",
"engname": ,
"geomtype": ,
"style":,
"style": {
"point_forma": ,
"point_size": ,
"point_fill_color": ,
"pointstroke": ,
"point_stroke_width": ,
"point_stroke_color":
},
"style": {
"line_width": ,
"line_fill_color": ,
"linestroke": ,
"line_stroke_width": ,
"line_stroke_color":
},
"style": {
"polygon_fill_color": ,
"polygon_opacity": ,
"polygonstroke": ,
"polygon_stroke_color": ,
"polygon_stroke_width":
},
"attributes": [{
"engname": ,
"rusname": ,
"type": ,
"titles": 1
}],
"rusname": ,
"group_id": ,
"newlayer_service":
}
// id datastore
// английское название слоя
// тип геометрии: point, line, polygon
// название стиля, если передается существующий
// новый стиль для типа point
// форма точки: 1 - круг, 2 - квадрат,3 - треугольник
// размер точки (целое число)
// цвет заливки (RGB)
// 0 - нет линии, 1 - есть линия
// если есть линия, ширина линии (целое число)
// цвет линии (RGB)
// новый стиль для типа line
// ширина линии
// цвет линии (RGB)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка
// ширина обводки (целое число)
// цвет обводки (RGB)
// новый стиль для типа polygon
// цвет заливки(RGB)
// прозрачность (число от 0 до 1)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка, цвет обводки (RGB)
// ширина обводки (целое число)
// английское название атрибута
// русское название атрибута
// тип: int - целое число, str - строка,
// num - число с плавающей точкой
// 1, если атрибут является заголовком
// русское название слоя
// id группы
// тип слоя: WMS, WFS
3. Пользователь ведомства (role_id = 7 или 6):
{
"action": "put",
"geomtype": ,
"style":,
"style": {
"point_forma": ,
"point_size": ,
"point_fill_color": ,
"pointstroke": ,
"point_stroke_width": ,
"point_stroke_color":
},
"style": {
"line_width": ,
"line_fill_color": ,
"linestroke": ,
"line_stroke_width": ,
"line_stroke_color":
},
"style": {
"polygon_fill_color": ,
"polygon_opacity": ,
"polygonstroke": ,
"polygon_stroke_color": ,
"polygon_stroke_width":
},
"attributes": [{
"engname": ,
"rusname": ,
"type": ,
"titles": 1
}],
"rusname": ,
"group_id": ,
"newlayer_service":
}
// тип геометрии: point, line, polygon
// название стиля, если передается существующий
// новый стиль для типа point
// форма точки: 1 - круг, 2 - квадрат,3 - треугольник
// размер точки (целое число)
// цвет заливки (RGB)
// 0 - нет линии, 1 - есть линия
// если есть линия, ширина линии (целое число)
// цвет линии (RGB)
// новый стиль для типа line
// ширина линии
// цвет линии (RGB)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка
// ширина обводки (целое число)
// цвет обводки (RGB)
// новый стиль для типа polygon
// цвет заливки(RGB)
// прозрачность (число от 0 до 1)
// 0 - нет обводки, 1 - есть обводка
// если есть обводка, Цвет обводки (RGB)
// ширина обводки (целое число)
// английское название атрибута
// русское название атрибута
// тип: int - целое число, str - строка,
// num - число с плавающей точкой
// 1, Если атрибут является заголовком
// русское название слоя
// id Группы
// тип слоя: WMS, WFS
Получение списка прикрепленных файлов всех типов к объекту слоя
GET /layers/layerEis/{layerId}/{pkFieldObjectData}
layerId — id слоя
pkFieldObjectData — значение поля — первичного ключа у объекта
pkFieldObjectData — значение поля — первичного ключа у объекта
Формат ответа:
{
"res": 1,
"photo": {
"photoIds": [{
"pic_id": "",
"pic_data": ""
}],
"photoUrls": [""],
"type": "photo",
"pic_as_url": "",
"prefix": "{}"
},
"video": {
"videoIds": [{
"video_id": "",
"video_data": ""
}],
"videoUrls": [""],
"type": "video",
"video_as_url": "",
"prefix": "{}"
},
"audio": {
"audioIds": [{
"audio_id": "",
"audio_data": ""
}],
"audioUrls": [""],
"type": "audio",
"audio_as_url": "",
"prefix": "{}"
},
"files": {
"fileIds": [{
"file_id": "",
"file_data": ""
}],
"fileUrls": [""],
"type": "file",
"file_as_url": "",
"prefix": "{}"
}
}
// id фотографии
// название фотографии, если она не хранится в базе
// url к фотографии
// тип
// t - доступна по ссылке, f - хранится в таблице
// путь к фотографии, если она не в базе
// id видео
// название видео файла либо ссылка к нему, если он не в базе
// url к видео
// тип
// t - доступно по ссылке, f - хранится в таблице
// путь к видео, если оно не в базе
// id аудио
// название аудио файла либо ссылка к нему, если он не в базе
// url к аудио файлу
// тип
// t - доступно по ссылке, f - хранится в таблице
// путь к аудио файлу, если он не в базе
// id файла
// название файла либо ссылка к нему, если он не в базе
// url к файлу
// тип
// t - доступен по ссылке, f - хранится в таблице
// путь к файлу, если он не в базе
Получение списка прикрепленных файлов определенного типа к объекту слоя
GET /layers/layerEis/{layerId}/{pkFieldObjectData}/{type}
layerId — id слоя
pkFieldObjectData — значение поля — первичного ключа у объекта
type — тип, 1 — аудио, 2 — видео, 3 — фото, 4 — файл
pkFieldObjectData — значение поля — первичного ключа у объекта
type — тип, 1 — аудио, 2 — видео, 3 — фото, 4 — файл
Формат ответа, если тип аудио:
{
"res": 1,
"audioIds": [{
"audio_id": "",
"audio_data": ""
}],
"audioUrls": [""],
"type": "audio",
"audio_as_url": "",
"prefix": "{}"
}
// id аудио
// название аудио файла, либо ссылка к нему, если он не хранится в базе
// url к аудио файлу
// тип
// t - доступна по ссылке, f - хранится в таблице
// путь к аудио, если оно не в базе
Формат ответа, если тип фото:
{
"res": 1,
"photoIds": [{
"pic_id": ,
"pic_data":
}],
"photoUrls":,
"type": "photo",
"pic_as_url": ,
"prefix":
}
// id фотографии
// название фотографии, если она не хранится в базе
// url к фотографии
// тип
// t - доступна по ссылке, f - хранится в таблице
// путь к фотографии
Формат ответа, если тип видео:
{
"res": 1,
"videoIds": [{
"video_id": "",
"video_data": ""
}],
"videoUrls": [""],
"type": "",
"video_as_url": "",
"prefix": "{}"
}
// id видео
// название видео файла либо ссылка к нему, если он не в базе
// url к видео
// тип
// t - доступна по ссылке, f - хранится в таблице
// путь к видео, если оно не в базе
Формат ответа, если тип файл:
{
"res": 1,
"fileIds": [{
"file_id": "",
"file_data": ""
}],
"fileUrls": [""],
"type": "file",
"file_as_url": "f",
"prefix": "{}"
}
// id файла
// название файла либо ссылка к нему, если он не хранится в базе
// url к файлу
// тип
// t - доступна по ссылке, f - хранится в таблице
// путь к файлу, если он не в базе
Получение из таблицы файла определенного типа, прикрепленного к объекту слою через eis, по ее первичному ключу
GET /layers/layerEisPhoto/{layerId}/{fileId}/{eisType}
layerId — id слоя
fileID— значение поля — первичного ключа у файла
eisType — тип файла: 1 — аудио, 2 — видео, 3 — фото, 4 — файл
fileID— значение поля — первичного ключа у файла
eisType — тип файла: 1 — аудио, 2 — видео, 3 — фото, 4 — файл
Ответ: бинарные данные
Получение фотографии из таблицы, прикрепленной к слою через eis, по ее первичному ключу
GET /layers/layerEisPhoto/{layerId}/{photoId}/{preview}
layerId — id слоя
photoId— значение поля — первичного ключа у фотографии
preview — если = ‘preview’, то превью фотографии, иначе фотография полностью
photoId— значение поля — первичного ключа у фотографии
preview — если = ‘preview’, то превью фотографии, иначе фотография полностью
Ответ: бинарные данные
Количество слоев пользователя
GET /layers/count
Формат ответа:
{
"res": 1,
"count":
}
// Количество слоев
Список групп слоев, доступных данному пользователю
GET /groups
Формат ответа:
{
"res": 1,
"groups": [{
"id": ,
"name": ,
"order" : ,
"department_id_create" :
}]
}
// id группы
// название группы
// порядок отображения
// id ведомства, которым была создана группа
mapAdmin — Авторизация
Авторизация
Авторизация на сервере
POST /authentication/
Формат запроса
{
"action": "post",
"login": "",
"password": "",
"rememberme":
}
// логин
// пароль
// {0,1} 1 - запомнить параметры авторизации
Пример запроса
{
"action": "post",
"login": "user",
"password": "1234",
"rememberme": 1
}
Формат ответа (авторизация пройдена):
{
"res": ,
"resText": ,
"id": ,
"fio": ,
"role_id": ,
"department_id": ,
"matrix": ,
"token":
}
// 0 - Ошибка, 1 - Успешно
// Описание ошибки
// id пользователя
// ФИО
// id роли
// id ведомства
// матрица перелета для АРМ Губернатора
// Token