Запросы слоев
Список слоев
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 ведомства, которым была создана группа
