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"
	},...]
}



// 0 - Ошибка, 1 - Успешно
// описание ошибки

// русское название слоя
// id слоя
// url слоя
// название слоя на геосервере
// название стиля
// сохранена ли в базе легенда слоя: t или f
// тип слоя: WMS или WFS
// является ли слой полигоном: t или f
// id геосервера
// id группы
// находится ли слой в базе с инфраструктурой: t or f
// id пользователя, создавшего слой
// название группы
// может ли пользователь видеть слой: t или f
// может ли пользователь изменять объекты слоя: t или f
// может ли пользователь администрировать слой: t или f

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 — значение поля — первичного ключа у объекта

Формат ответа:

{
	"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 — файл

Формат ответа, если тип аудио:

{
	"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 - хранится в таблице
// путь к файлу, если он не в базе

GET /layers/layerEisPhoto/{layerId}/{fileId}/{eisType}

layerId — id слоя
fileID— значение поля — первичного ключа у файла
eisType — тип файла: 1 — аудио, 2 — видео, 3 — фото, 4 — файл

Ответ: бинарные данные

GET /layers/layerEisPhoto/{layerId}/{photoId}/{preview}

layerId — id слоя
photoId— значение поля — первичного ключа у фотографии
preview — если = ‘preview’, то превью фотографии, иначе фотография полностью

Ответ: бинарные данные

GET /layers/count

Формат ответа:

{
    "res": 1,
    "count":  
}


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

GET /groups

Формат ответа:

{
    "res": 1,
    "groups": [{
        "id": ,
        "name": ,
        "order" : ,
        "department_id_create" :  
    }]
}



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