mapSerfer — API — GeoPortal
GeoPortal
GeoPortal является основным объектом API для взаимодействия с системой.
Пример работы с GeoPortal:
GeoPortal.requestGroups (
true,
function(groups){
if(groups && groups.length){
var group = groups [0];
var layers = group.groupLayers;
if(layers && layers.length)
map.addLayer(layers[0]);
}
},
function(status,error){
console.log(error);
});
События
Событие | Описание | Пример использования |
---|---|---|
ready | Событие происходит, когда API готово к использованию. |
|
Свойства
Свойство | Описание |
---|---|
baseLayers | Объект, состоящий из двух полей (schemas , spaces), каждое из которых является массивом. Элементы массива — экземпляры класса GeoPortal.BaseLayer. 1)schemas (GeoPortal.baseLayers.schemas) — хранит набор базовых слоев, типа «карта». 2) spaces (GeoPortal.baseLayers.spaces) — хранит набор базовых слоев, типа «космоснимок». |
mapExtent | Стандартные границы карты. Объект класса GeoPortal.MapExtent. |
basePath | url геопортала. |
Запрос слоев
Методы
Метод | Описание | Пример использования |
---|---|---|
requestLayers( callback, callErrorBack) | Список всех доступных слоев. Входящие параметры: callback(layers) – функция выполняется при получении слоев с сервера. Принимает на вход один параметр — массив экземпляров класса GeoPortal.Layer. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Поиск слоя
Методы
Метод | Описание | Пример использования |
---|---|---|
findLayerById (id, callback,callErrorBack) | Поиск слоя по id. входящие параметры: id – id слоя callback(layer) – функция выполняется, если слой с данным id найден на сервере. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.Layer. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
findLayerByName( name, callback, callErrorBack) | поиск слоев по typeName. входящие параметры: name – typeName слоя callback(layers) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у typeName. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.Layer, у которых typeName содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Запрос групп
Методы
Метод | Описание | Пример использования |
---|---|---|
requestGroups( withLayers, callback, callErrorBack) | Cписок доступных групп слоев. Входящие параметры: withLayers – если параметр true, то группы вернутся со слоями callback(groups) – функция выполняется при получении групп слоев с сервера. Принимает на вход один параметр — массив экземпляров класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция, которая будет выполняться при ошибке во время запроса, на вход должна принимать статус и описание ошибки. |
|
Поиск группы
Методы
Метод | Описание | Пример использования |
---|---|---|
findGroupById (id, withLayers, callback, callErrorBack) | Поиск группы слоев по id. Входящие параметры: id – id группы слоев withLayers – если параметр true, то группы вернутся со слоями callback(groups) — функция выполняется при получении группы слоев с сервера. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
findGroupByName (name, withLayers, callback, callErrorBack) | Поиск групп слоев по имени. Входящие параметры: name – название группы слоев callback(groups) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у названия. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.LayerGroup, у которых название содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Авторизация
Методы
Метод | Описание | Пример использования |
---|---|---|
authenticate(login,password,callBack,callErrorBack) | Авторизация Входящие параметры: login – логин пользователя password – пароль пользователя callback(data) — функция выполняется при успешной авторизации. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
currentUser(callBack,callErrorBack) | Текущий пользователь Входящие параметры: callback(user) — функция выполняется, если получены данные о текущем пользователе. В качестве параметра получает, данные о пользователе, если пользователь не авторизован, то приходит null. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
logout() | Выход из системы |
|
События
Событие | Описание |
---|---|
logout | Происходит, когда авторизированный пользователь выходит из системы |
Вспомогательные функции
Пространство имен для служебных функций
var icon = new GeoPortal.Icon();
var marker = new GeoPortal.Marker(latLng, {icon: icon});
/*создаем маркер*/
/*описываем реакцию на клик по маркеру*/
marker.on(
"click",
GeoPortal.Util.bind(function() {
console.log(this.options.icon.iconUrl);
/*вывести в консоль url иконки*/
},
marker)
/*функция выполнится в контексте маркера, то есть выведется путь до его иконки*/
);
Методы
Метод | Возвращает | Описание |
---|---|---|
bind (<Function> method, <Object> context) <Function> method — функция, которой необходимо привязать контекст <Object> context — контекст |
Function | Связывает функцию method с объектом object. Это значит, что каждый раз, когда она будет вызвана, this будет указывать на object. |
mapSurfer -rest — geocoding
Геокодирование
Запрос геокодирования
POST /geocoding
Структура запроса:
POST /geocoding?token=bw3ty3h46yth
token: ключ доступа
Пример запроса
{
"layersId":[
"10",
"12",
"26"
],
"query":"Казань",
"point":{
"lon":50.69091796875,
"lat":55.33851784425634
}
}
Ответ:
Статус: 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
Содержит описание ошибки
GET /geocoding
Структура запроса:
POST /geocoding?query=Казань&lon=55.45&lat=49.67&layersId=12,23,345,56&token=bw3ty3h46yth
query: строка запроса
lon: долгота центра карты, число с плавающей точкой
lat: широта центра карты, число с плавающей точкой
layersId: id слоев, где также надо осуществлять поиск, через запятую
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
Содержит описание ошибки
mapSurfer -rest — objects
Получение объектов
Список объектов в точке
POST /layers/feature
Структура запроса:
GET /layers/feature?token=bw3ty3h46yth
token: ключ доступа
Пример запроса:
{
"layersId": ["198","245","345"],
"size": {
"x": 1920,
"y": 778
},
"extent": {
"_southWest": {
"lat": 55.488191455802244,
"lng": 47.94158935546874
},
"_northEast": {
"lat": 56.08889483995169,
"lng": 50.57830810546875
}
},
"point": {
"x": 859,
"y": 364
}
}
// массив id слоев, где будет осуществляться поиск
// размер области видимости в пикселях, объект
// пикселей по оси x, целое число
// пикселей по оси y, целое число
// область видимости карты, объект
// координаты нижней левой точки на карте в градусах, объект
// широта нижней левой точки, число с плавающей точкой
// долгота нижней левой точки, число с плавающей точкой
// координаты верхней правой точки на карте в градусах, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой
// точка, в которой происходит поиск. в пикселях, объект
// координата х, целое число
// координата y, целое число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"data": {
"kziokzn:vamin_kioski_p_vw": {
"features": [
{
"fid": "141",
"zayavit": "ОАО \"Вамин Татарстан\"",
"syyinfo":"Есть",
"srnaimenovanie":"Ново-савиновский",
"geom":"",
"nomerdoma":"47","
sunaimenovanie":"10летОктября[П, Ст.Победилово]",
"syinfo":"Есть",
"svinfo":"Существующий"
}
],
"layerId":198,
"geomFieldName":null
}
}
}
// объект найденных данных
// английское название слоя, где найдены объекты, объект
// массив объектов
// пример объекта
// первичный ключ объекта
// поля объекта и их значения
// id слоя
// поле геометрии либо null
Статус: 403 - нет доступа к слоям
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список объектов в области
POST /layers/feature/bbox
Структура запроса:
GET /layers/feature/bbox?token=bw3ty3h46yth
token: ключ доступа
Пример запроса:
{
"layersId": ["198","234","23"],
"srs": "EPSG:4326",
"extent": {
"_southWest": {
"lng": 49.04296875,
"lat": 55.754940702479146
},
"_northEast": {
"lng": 49.299774169921875,
"lat": 55.90457539720638
}
}
}
// массив id слоев, где будет осуществляться поиск
// проекция запроса, строка
// область поиска, объект
// координаты нижней левой точки области, объект
// широта нижней левой точки, число с плавающей точкой
// долгота нижней левой точки, число с плавающей точкой
// координаты верхней правой точки области, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"data": {
"kziokzn:vamin_kioski_p_vw": {
"features": [
{
"fid": "141",
"zayavit": "ОАО \"Вамин Татарстан\"",
"syyinfo":"Есть",
"srnaimenovanie":"Ново-савиновский",
"geom":"",
"nomerdoma":"47","
sunaimenovanie":"10летОктября[П, Ст.Победилово]",
"syinfo":"Есть",
"svinfo":"Существующий"
}
],
"layerId":198,
"geomFieldName":null
}
}
}
// объект найденных данных
// английское название слоя, где найдены объекты, объект
// массив объектов
// пример объекта
// первичный ключ объекта
// поля объекта и их значения
// id слоя
// поле геометрии либо null
Статус: 403 - нет доступа к слоям
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение медиа информации, прикрепленной к объекту слоя
GET layers/eis/{layerId}/{objectId}
Структура запроса:
GET /layers/eis/198/141?token=bw3ty3h46yth
layerId: id слоя
objectId: значение первичного ключа объекта
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"files": [
{
"url": "/layers/eis/198/141/photo/247",
"fileName": "Чистопольская,47.JPG",
"type": {
"id": 3,
"name": "photo"
},
"asUrl": false
},
{
"url": "/layers/eis/198/141/file/247",
"fileName": "Чистопольская,47.JPG",
"type": {
"id": 4,
"name": "file"
},
"asUrl": false
}
]
}
// массив найденных прикрепленных файлов
// прикрепленный файл, объект
// путь к файлу
// название файла
// тип файла
// id типа,
// название типа, может быть photo, video, audio, file
// представлен ли файл как ссылка
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение медиа файла, прикрепленного к объекту слоя
GET layers/eis/{layerId}/{objectId}/photo/{photoId}
Отображение прикрепленной фотографии
Структура запроса:
GET /layers/eis/198/141/photo/247?token=bw3ty3h46yth
layerId: id слоя
objectId: первичный ключ объекта
photoId: первичный ключ фотографии
token: ключ доступа
GET layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}
Отображение прикрепленной фотографии с масштабированием по высоте
Структура запроса:
GET /layers/eis/198/141/photo/247/100?token=bw3ty3h46yth
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=bw3ty3h46yth
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=bw3ty3h46yth
layerId: id слоя
objectId: первичный ключ объекта
fileType: тип файла: photo, video, audio, file
fileId: первичный ключ файла
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: зависит от типа отдаваемого файла
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
mapSurfer — rest — layers
Слои
Список слоев
GET /layers
Список слоев с полной информацией
Структура запроса:
Получение списка слоев:
GET /layers?token=bw3ty3h46yth
token: ключ доступа
Получение списка слоев по английскому названию:
GET /layers?name=test:test_a&token=bw3ty3h46yth
name: английское название слоя или слово, встречающееся в названии списка слоев
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"layers": [
{
"layer": {
"id": 136,
"name": "Тестовый слой",
"enabled": false,
"info": {
"id": 136,
"typeName": "test:test_a",
"style": "test_a_style",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms",
"eisInfo": {
"hasEis": false,
"pkField": ""
}
},
"fields": [
{
"id": 4423,
"name": "vid",
"nameRu": "Поле 1",
"order": 1,
"title": false
}
],
"isKosmosnimok": false
},
"order": 2,
"groupId": 14
}
]
}
// массив слоев
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
// порядок слоя в списке, целое число
// id группы
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация по слою
GET /layers/{layerId}
Структура запроса:
GET /layers/132?token=bw3ty3h46yth
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"layer": {
"layer": {
"id": 136,
"name": "Тестовый слой",
"enabled": false,
"info": {
"id": 136,
"typeName": "test:test_p",
"style": "test_p_style",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
"eisInfo": {
"hasEis": false,
"pkField": ""
}
},
"fields": [
{
"id": 4423,
"name": "vid",
"nameRu": "Поле 1",
"order": 1,
"title": false
}
],
"isKosmosnimok": false
},
"order": 2,
"groupId": 14
}
}
// объект
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
// порядок слоя в списке, целое число
// id группы
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /layers/{layerId}/info
Информация по слою, исключая данные о группе слоя
Структура запроса:
GET /layers/132/info?token=bw3ty3h46yth
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"layer": {
"id": 136,
"name": "Тестовый слой",
"enabled": false,
"info": {
"id": 136,
"typeName": "test:test_p",
"style": "test_p_style",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
"eisInfo": {
"hasEis": false,
"pkField": ""
}
},
"fields": [
{
"id": 4423,
"name": "vid",
"nameRu": "Поле1",
"order": 1,
"title": false
}
],
"isKosmosnimok": false
}
}
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
Статус: 404 — слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 403 — у вас нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Граница слоя
GET /layers/{layerId}/bbox
Структура запроса:
GET /layers/199/bbox?token=bw3ty3h46yth
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
boundingBox: {
minx: "49.053",
maxx: "49.24",
miny: "55.739",
maxy: "55.863",
crs: "EPSG:4326"
}
}
// объект
// минимальный x, число с плавающей точкой
// минимальный y, число с плавающей точкой
// максимальный x, число с плавающей точкой
// максимальный y, число с плавающей точкой
// код проекции, строка
Статус: 404 — слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 — нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Метаданные слоя
GET /layers/{layerId}/metadata
Структура запроса:
GET /layers/199/metadata?token=bw3ty3h46yth
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
metadata: {
id: 179,
owner: "dhedheh",
dataCreate: "2011.12.28 09.47",
dataUpdate: "2011.12.28 09.47",
itemsCount: 45,
type: {
id: 1,
name: "Космоснимки",
fieldList: [
{
id: 1,
name: "Облачность",
order: 1,
inTable: true,
inTableName: "clouds",
fieldType: {
id: 2,
name: "Облачность",
control: "input_integer",
geomType: null,
library: false,
libraryData: {}
},
necessary: false
},
{
id: 2,
name: "Спутники",
order: 5,
inTable: true,
inTableName: "sputnik_id",
fieldType: {
id: 1,
name: "Список спутников",
control: "combobox",
geomType: null,
library: true,
libraryData: {
1: "IKONOS (1м)",
2: "QuickBird (0.6м)",
3: "EROS-A (2м)",
4: "EROS-B (0.7м)",
5: "WorldView-1 (0.5м)",
6: "GeoEye-1 (0.5м)"
}
},
necessary: false
}
]
},
additionalFieldValues: [
{
field: {
id: 4,
name: "test11rrty",
order: 6,
inTable: false,
inTableName: null,
fieldType: {
id: 3,
name: "целое число",
control: "input_integer",
geomType: null,
library: false,
libraryData: {}
},
necessary: false
},
value: "213434априцукнр"
}
],
tableData: {
clouds: "45",
tecy_777: null,
sputnik_id: "1",
data: "2011-12-14 00:00:00+04",
test777: "1",
geom: null,
layer_id: "179",
quicklook: "kosmosnimok2012_02_08_05_06_06.jpg"
}
}
}
// метадата, объект
// id слоя, целое число
// владелец слоя, строка
// дата создания, строка
// дата обновления, строка
// количество объектов, целое число
// тип метаданных, объект
// id типа, целое число
// название типа, строка
// массив полей
// объект поля
// id поля, целое число
// название, строка
// порядок отображения, целое число
// содержится ли значение в основной таблице, булевое поле
// название поля в основной таблице
// тип поля, объект
// id типа, целое число
// название типа, строка
// управляющий элемент, который используется, строка
// тип геометрии, строка
// нужно ли искать значение поля в словаре, булевое поле
// данные словаря, объект
// является ли обязательным,булевое поле
// массив дополнительных полей
// объект
// объект поля
// id поля,
// название, строка
// порядок отображения, целое число
// содержится ли значение в основной таблице, булевое поле
// название поля в основной таблице
// тип поля, объект
// id: типа, целое число
// название типа, строка
// управляющий элемент, который используется, строка
// тип геометрии, строка
// нужно ли искать значение поля в словаре, булевое поле
// данные словаря, объект
// является ли обязательным,булевое поле
// значение поля
// основная таблица с данными, объект
// поле таблицы и его значение
Статус: 404 — слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 — нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /layers/{layerId}/metadata/quicklook/{file}
Отображение превью-картинки у метаданных, если она присутствует
Структура запроса:
GET /layers/179/metadata/quicklook/kosmosnimok2012_02_08_05_06_06.jpg?token=bw3ty3h46yth
layerId: id слоя
file: название файла, приходит в качестве значения поля превью у метаданных
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: image/jpeg и т.д.
Статус: 404 — картинка не найдена
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Все атрибуты слоя
GET /layers/{layerId}/attributes
Структура запроса:
GET /layers/199/attributes?token=bw3ty3h46yth
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"name": "vamin_kioski_p_vwType",
"features": [
{
"nillable": true,
"name": "srnaimenovanie",
"maxOccurs": "1",
"type": "{http://www.w3.org/2001/XMLSchema}string",
"minOccurs": 0
}
]
}
// название слоя английское
// массив атрибутов
// объект атрибута
// название, строка
// тип
Статус: 404 — слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 — нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
mapSurfer — rest — groups
Группы слоев
Список групп
GET /groups
Структура запроса:
GET /groups?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"groups": [
{
"id": 32,
"name": "Группа 1",
"order": "1"
}
]
}
// массив объектов с информацией по группе
// id группы, целое число
// название группы, строка
// порядковый номер группы в списке, целое число
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /groups/withLayers
Список групп, включая полную информацию по принадлежащим им слоям
Структура запроса:
GET /groups/withLayers?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"groups": [
{
"id": 32,
"name": "Группа1",
"order": "1",
"groupLayers": [
{
"layer": {
"id": 10,
"name": "Слой 1",
"enabled": false,
"info": {
"id": 10,
"typeName": "test:test_layer",
"style": "test_layer_a",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms"
},
"fields": [
{
"id": 4076,
"name": "adm_znach",
"nameRu": "Поле 1",
"order": 1,
"title": false
}
],
"isKosmosnimok": false
},
"order": 1,
"groupId": 32
}
]
}
]
}
// массив групп
// объект
// id группы, целое число
// название группы, строка
// порядковый номер группы, целое число
// массив слоев
// информация по слою, объект
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
// порядок слоя в списке, целое число
// id группы
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /groups/shortdata/withLayers
Список групп, включая краткую информацию по принадлежащим им слоям
Структура запроса:
GET /groups/shortdata/withLayers?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"groups": [
{
"id": 32,
"name": "Группа1",
"order": "1",
"groupLayers": [
{
"layer": {
"id": 10,
"name": "Слой 1",
"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
Структура запроса:
GET /groups?name=Пункт&token=bw3ty3h46yth
name: слово/фраза, которая входит в название списка групп
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"groups": [
{
"id": 32,
"name": "Группа 1",
"order": "1"
}
]
}
// массив объектов с информацией по группе
// id группы, целое число
// название группы, строка
// порядковый номер группы в списке, целое число
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /groups/withLayers
Поиск списка групп, включая полную информацию по принадлежащим им слоям
Структура запроса:
GET /groups/withLayers?name=Пункт&token=bw3ty3h46yth
name: слово/фраза, которая входит в название списка групп
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"groups": [
{
"id": 32,
"name": "Группа1",
"order": "1",
"groupLayers": [
{
"layer": {
"id": 10,
"name": "Слой 1",
"enabled": false,
"info": {
"id": 10,
"typeName": "test:test_layer",
"style": "test_layer_a",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms"
},
"fields": [
{
"id": 4076,
"name": "adm_znach",
"nameRu": "Поле 1",
"order": 1,
"title": false
}
],
"isKosmosnimok": false
},
"order": 1,
"groupId": 32
}
]
}
]
}
// массив групп
// объект
// id группы, целое число
// название группы, строка
// порядковый номер группы, целое число
// массив слоев
// информация по слою, объект
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
// порядок слоя в списке, целое число
// id группы
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по id
GET /groups/{groupId}
Структура запроса:
GET /groups/224?token=bw3ty3h46yth
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
group: {
id: 32,
name: "Базовые слои",
order: "1"
}
}
// группа, объект
// id группы, целое число
// название группы, строка
// порядок группы в списке
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
GET /groups/{groupId}/withLayers
Группа слоев, включая полную информацию по принадлежащим ей слоям
Структура запроса:
GET /groups/224/withLayers?token=bw3ty3h46yth
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"group": {
"id": 32,
"name": "Населенные пункты",
"order": "1",
"groupLayers": [
{
"layer": {
"id": 10,
"name": "Населенные пункты",
"enabled": false,
"info": {
"id": 10,
"typeName": "test:test_a",
"style": "style_test__a",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms"
},
"fields": [
{
"id": 4076,
"name": "test",
"nameRu": "Поле1",
"order": 1,
"title": true
}
],
"isKosmosnimok": false
},
"order": 1,
"groupId": 32
}
]
}
}
// группа, объект
// id группы, целое число
// название группы, строка
// порядковый номер группы, целое число
// массив слоев
// информация по слою, объект
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле
// является ли космоснимком, булевое поле
// порядок слоя в списке, целое число
// id группы
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки