Archives by date

You are browsing the site archives by date.

mapSurfer — rest — service

WMS

GET /wms

Получение тайла слоя

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


GET /service/wms?service=WMS&request=GetMap&version=1.1.1&layers=kziokzn:vamin_kioski_p_vw&
        styles=vamin_kioski_p_vw_style_21_03_2011_19_20_16&format=image/png&transparent=true&height=256&
        width=256&srs=EPSG:900913&bbox=5283327.395071382,7514065.628545966,5322463.153553393,7553201.387027976&
        token=bw3ty3h46yth

service: сервис запроса WMS

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

version: версия 1.1.1

layers: английское название слоя или слоев через запятую

styles: название стиля или стилей через запятую

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

transparent: есть ли прозрачность

height: высота тайла

width: ширина тайла

srs: код проекции

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

cql_filter: строка CQL фильтра

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

Ответ:

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /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=bw3ty3h46yth

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

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

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

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

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

Ответ:

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /wfs

Получение WFS слоя

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


GET /service/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=DEMO:kfu_building&outputFormat=json&
        bbox=40.14404296875,52.905589081407825,61.23779296875,57.630699148918424&token=bw3ty3h46yth

service: сервис запроса WFS

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

version: версия 1.0.0

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

outputFormat: формат возвращаемых данных

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

srs: код проекции, по умолчанию EPSG:4326

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

Ответ:

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /service/styles/{layerId}/{styleName}.sld

Запрос sld-файла стиля

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


GET /service/styles/367/set_wifi_iconstyle_02_10_2012_14_00_01.sld?token=bw3ty3h46yth

layerId: id слоя

styleName: название стиля

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

Ответ:

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

Формат: text/xml

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

mapSurfer — rest — auth

POST /auth/token

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

{
    "login": "testlogin",
    "password": "12345"
}

Ответ:

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

Формат: json

{
{
    "token": "ethryhetyjtyj",
    "refreshToken": "ethryhetyjtyj",
    "ttl": 3600
}
}


    // ключ доступа, строка
    // ключ для обновления ключа доступа, строка
    // время жизни ключа доступа в секундах, целое число

Статус: 401 — логин или пароль переданы неверно

Формат: text/plain

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

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

Формат: text/plain

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

GET /auth/token/refresh

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


GET /auth/token/refresh?refreshToken=738975947453
}

refreshToken: ключ для обновления ключа доступа

Ответ:

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

Формат: json

{
    "token": "ethryhetyц4564",
    "refreshToken": "yrjryukryukryu",
    "ttl": 3600
}
}

// новый ключ доступа, строка
// новый ключ для обновления ключа доступа, строка
// время жизни ключа доступа в секундах, целое число

Статус: 400 — не передан параметр refreshToken

Формат: text/plain

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

Статус: 404 — параметр refreshToken не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

GET /auth

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


GET /auth?token=bw3ty3h46yth

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

Ответ:

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

Формат: json

{
    "authenticated": true,
    "user": {
        "id": 11,
        "name": "Пользователь",
        "right": {
            "id": 1,
            "name": "Права",
            "admin": false,
            "mapExtent": {
                "id": 2,
                "name": "Republic of Tatarstan",
                "extent": {
                    "minX": 46.09270788877181,
                    "minY": 53.99190870342375,
                    "maxX": 55.299713101706935,
                    "maxY": 56.68378708907719,
                    "projection": "EPSG:4326"
                }
            }
        }
    }
}
}

// true, если пользователь авторизован, иначе false, булевое поле
// данные о пользователе, если он авторизован, объект
// id пользователя, целое число
// имя пользователя, строка
// данные о группе прав, объект
// id группы прав, целое число
// название группы прав, строка
// имеются ли права админа, булевое поле
// данные о границе карты для данной группы прав, объект
// id границы карты, целое число
// название границы карты, строка
// область видимости карты, объект
// минимальный x, число с плавающей точкой
// минимальный y, число с плавающей точкой
// максимальный x, число с плавающей точкой
// максимальный y, число с плавающей точкой
// проекция

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

Формат: text/plain

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

GET /logout

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


GET /logout?token=bw3ty3h46yth

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

Ответ:

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

Формат: json

{
    "status": "ok"
}

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

Формат: text/plain

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

mapSurfer — API — ex

Для начала работы с API Вам необходимо в своем проекте сделать несколько подключений:


<script src="@utils.Config.baseHost/public/javascripts/libs/jquery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="@utils.Config.baseHost/public/javascripts/libs/jquery/jquery-ui-1.9.2.custom.min.js" type="text/javascript"></script>

Кроме подключения jquery и jquery-ui, необходимо подключить сам API.


<script src="@utils.Config.baseHost/public/geoportal/geoportal-api.min.js" type="text/javascript"></script>

Для добавления карты у Вас должен быть DOM элемент, предположим, что он имеет id=”map”, тогда создание карты будет выглядеть следующим образом:


var map = new GeoPortal.Map(“map”);

Далее на эту карту наверняка понадобится добавить несколько слоев.
Предположим, что мы знаем id слоя, который нам нужно добавить на карту (пусть id буде равен 204), найдем этот слой и добавим на карту.


function exampleForLayer(layer){
    map.addLayer(layer);	//обавляем слой на карту
    layer.setOpasity(0.6);	//добавляем слою прозрачность
}

GeoPortal.Layer.findLayerById(
    204,
    exampleForLayer,
    function(status, error){
        console.log(error);
    }
);

Динамические объекты нужны для выделения областей, добавления на карту маркеров и т.д.
Примеры использования:


    var popup = new GeoPortal.Popup({closeButton: true, minWidth: 100});
    popup.setLatLng(new GeoPortal.LatLng(55,49));
    map.addLayer(popup)

    var marker = new GeoPortal.Marker(new GeoPortal.LatLng(55,49))
    map.addMarker(marker);

    var polyline = new GeoPortal.Vector.PolyLine([new GeoPortal.LatLng(55,49), new GeoPortal.LatLng(55.1, 49.1)]);
    map.addLayer(polyline);

API

mapSurfer GS

 

mapAdmin — reg

POST /registration

Отправляется json строка с параметрами регистрации:

{
    "login": ,
    "paswd": ,
    "email": ,
    "status": ,
    "ur_fio": "",
    "ur_address": ,
    "phone":  
}

// логин
// пароль
// email
// 1 - юридическое лицо, 2 - физическое
// ФИО
// адрес
// телефон

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

{
    "res" : 1, 
    "resText":
}

GET /registration/form

general — общие поля

physicalPerson — поля для физических лиц

legalPerson — поля для юридических лиц

url — url для отправки полей на регистрацию

{ 
   "name":, 
   "rusName":, 
   "required":, 
   "values":
}

// английское название параметра
// русское название параметра
// обязательный ли параметр: true, false
// какие может применять значения (важен для параметра status)

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

{
    "res": 1,
        "fields": {
        "general": [{    
            "name": "login",
            "rusName": "Логин",
            "required": true,  
            "values": "" 
        }]
    },
    "url": "/rest/registration/" 
}




// название поля
// русское название поля
// обязательное ли поле true или false

POST /registration/checklogin

login — логин

 {
     "login": ""
 }

// логин

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

check = true — логина не существует в системе

check = false — логин существует в системе

{
     "res": 1,
     "check":
 }


// true или false, свободен ли логин

mapAdmin — version

GET /version

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

{
    "res": 1,
    "version":  
}


// версия

mapAdmin — users

Доступ для пользователей (кроме администратора всех ведомств, которому всегда доступен запрос) определяется в настройках системы

GET /users

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

{
    "res": 1,
    "users": [{
        "id": ,
        "login": ,
        "fio": ,
        "role_id": ,
        "department_id":  
    }]
}



// id пользователя
// логин
// ФИО
// id роли: 6, 7 - обычный пользователь, 10 - админ ведомства, 8 - админ всех ведомств
// id ведомства, либо null, если пользователь с ролью 8

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

{
    "res": 0,
    "resText": "У вас нет прав для получения данных." 
}

GET /users/count

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

{
    "res": 1,
    "count": "{количество}" 
}

GET /users/standartStore

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

{
    "res": 1,
    "store": {
        "id": ,
        "host": ,
        "port": ,
        "database": 
    }
}




// ip адрес host, напр."178.213.246.98"
// порт, напр. "5432"
// название базы данных, напр. "testdb2" 

mapAdmin — departments

Путь к логотипам ведомств:

/department_files/department_logo

Cписок организаций / ведомств, доступных в АРМ Губернатора

GET /departments/

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

{
	"res": 1,
	"departments": [{
		"id": "{}",
		"name": "{}",
		"logo": "{}",
		"people_dep": "{}",
		"arm_view": "{}",
		"map_extent_id": "{}",
		"users_count": "{}",
		"right_id": 0
	}]
}



// id ведомства/организации
// название ведомства/организации
// название логотипа
// является ли ведомство ведомством населения
// отображать ведомство в АРМ Губернатора
// id положения карты
// количество пользователей
// id права

GET /departments/{all|arm}/{limit}/{offset}

all — все

arm — видимые в АРМ Губернатора

limit — количество организаций, выводимых в запросе

offset — количество организаций, которое будет пропущено в общем списке и после него будет формироваться запрос

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

{
	"res": 1,
	"departments": [{
		"id": "{}",
		"name": "{}",
		"logo": "{}",
		"people_dep": "{}",
		"arm_view": "{}",
		"map_extent_id": "{}",
		"users_count": "{}",
		"right_id": 0
	}]
}



// id ведомства/организации
// название ведомства/организации
// название логотипа
// является ли ведомство, ведомством населения
// отображать ведомство в АРМ Губернатора
// id положения карты
// количество пользователей
// id права

GET /departments/count

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

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


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

GET /departments/{departmentId}/name

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

{
    "res": 1,
    "department_name":  
}


// название

Доступ для пользователей (кроме администратора всех ведомств, которому всегда доступен запрос) определяется в настройках системы

GET /departments/{departmentId}/users

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

{
    "res": 1,
    "users": [{
        "id": ,
        "login": ,
        "fio": ,
        "role_id": ,
        "department_id": "" 
    }]
}



// id пользователя
// логин
// ФИО
// id роли: 6, 7 - обычный пользователь, 10 - админ ведомства, 8 - админ всех ведомств
// id ведомства, либо null, если пользователь с ролью 8

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

{
    "res": 0,
    "resText": "У вас нет прав для получения данных." 
}

mapAdmin — city

Путь к фотографиям городов: /department_files/city_photos

Список городов

GET /city

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

{
	"res": 1,
	"cities": [{
		"id": ,
		"name": ,
		"photo": ,
		"matrix": ,
		"order": 
	}]
}



// id города
// название
// название фотографии
// матрица перелета
// порядок отображения

mapAdmin — files

POST /files/upload/{photos|video|files|sounds|sld}

Передавать файл в переменной Filedata (Content-Disposition: name=»Filedata»;)