====== Примеры запросов ======
==== Navigation ====
* [[en:first|Main page]]
* [[en:api:air-lay|API Air Lay]]
* [[en:api:air-lay-v2|API Air Lay v2]]
==== Примеры JSON объектов для энергетики ====
==== Сокращения и термины ====
**"AirLay Object Collector"** - Android приложение для сбора информации на местности. [[https://play.google.com/store/apps/details?id=ru.navikey.airlayobjectcollector|Google Play]]
**toDoList** - это коллекция данных в которой хранятся задания для сотрудников. Данные в заданиях можно редактировать, верифицировать и собирать с помощью мобильного приложения **AirLay Object Collector**
==== Обязательные поля ====
"**type**": "**pylons\ps\lines\fulllines**" - используется для генерации GML файлов
"**tplnr**": "4cba3f94-c070-403c-b0d8-fb2e4f65942d" - код технического места, или id. Задаётся настройках слоя используется для связи с другими объектами и корректным обновлением\перезаписыванием объектов.
"**voltage**": Поле по которому можно будет создать виртуальные слои, расписанные по напряжению. Поля задаются в настройках слоя
"**geometry**": данное поле задаётся в рамках [[https://tools.ietf.org/html/rfc7946|RFC7946]]. Предпочтительный формат "Point", "LineString", "Polygon", "MultiPolygon". Но, возможно использование "GeometryCollection" к примеру подстанции как точечный объект и площадной может храниться как один объект избегая дублирования. Сложные линии состоящие из множества различных объектов, но являющийся в атрибутивном отношении одним. Не все части ГИС поддерживают работу с "GeometryCollection".
"Polygon" должен быть обязательно зацикленным начинаться и заканчиваться на одну и ту же координату, не иметь самопересечений.
"LineString" - должна состоять хотя бы из 2 точек.
Координаты первые координаты -180 180; вторые -90 90;
Координаты могут быть не заданы при наличии объектов **"relations"** тогда геометрия наследуется у объектов от которых зависит и, которые находятся ниже по иерархии. К примеру опоры для линии. Если же не заданы **"relations"**, "**geometry**" то объект уходит в "toDoList" c WARNING-ом. И сохраняется как **relation**. К примеру можно задать ЛЭП связанную с участками, далее с пролётами, но без геометрии и опор. Позже создать опоры и собрать их с помощью **"AirLay Object Collector"**
==== Системные поля ====
"**relations**": Объект задаёт связи между объектами.
"**objectId**": Уникальный идентификатор объекта, алгоритм ищет объект с этим id в файле и затем в связанных слоях, если объект не обнаружен то во время загрузки появится WARNING о том что связь не была создана.
Иерархия между объектами строиться за счёт **relations**. Если в объекте указан **relations** на другие объекты к примеру пролёт имеет **relations** с перечислением id опор, то пролёт имеет уровень иерархии выше чем у опоры. В данном случаи линейный объект выше точечного.
Может быть у точечного объекта быть задан **relations** с указанием на линии, тогда точечный объект выше линейного. К примеру подстанция при наличии **relations** на линии будет в иерархии выше.
При отсутствии данных о топологии или расположении точки в линии необходимо проставить значение "0". При значении "0" объект попадёт в **toDoList**
==== Примеры ====
Все данные записанные в атрибуты объекта далее можно будет использовать. Они задаются ключ-значение в **"properties"**. Кроме значения к примеру напряжения "voltage": 10 (ключ-int) можно хранить ключ - массив "sysstat": ["Создано", "Действует"] состояние подстанции. Можно выполнить хранение ключ-объект пример поле "additional" там заданы поля трансформатора.
В **"relations"** заданы две линии в первой точке и в последней. Так как линии заданы в подстанции то данная подстанция будет выше в иерархии.
==== Трансформаторная подстанция ====
{
"type": "Feature",
"properties": {
"type": "ps",
"tplnr": "4cba3f94-c070-403c-b0d8-fb2e4f65942d",
"voltage": 10,
"location": "",
"addr_region": "Алтайский край",
"addr_district": "",
"addr_city": "Налобиха",
"addr_street": "",
"addr_house": "",
"addr_building": "",
"addr_pcode": "",
"addr_country": "Российская Федерация",
"balance": 148.0,
"balance_name": "филиал Новоалтайские МЭС/ Косихинский РЭС",
"kl_u": 10.0,
"name": "39-13-6 (розн)",
"TypeByTplnr": "Трансформаторная подстанция",
"sysstat": [
"Создано"
],
"usrstat": [
"Действует"
],
"additional" : {
"transformer" : [
2500.00, "2500.00"
],
"res_pow_cons_cotr_appl" : 1.546708,
"nagr_nminus1" : 2625.0,
"pow_cotr" : 0.113985,
"pow_appl" : 0.0306,
"res_box" : {
"10" : 1
}
}
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa142"
}
]
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
42.73633,
44.40153
],
[
42.73696,
44.40228
],
[
42.73797,
44.40185
],
[
42.73732,
44.4011
],
[
42.73633,
44.40153
]
]
]
}
}
==== ЛЭП ====
Пример ЛЭП. В данном примере ЛЭП указана и с геометрией и связями, можно указать только что то одно, либо оба параметра.
{
"type": "Feature",
"properties": {
"type": "fulllines",
"location": "",
"addr_region": "Алтайский край",
"addr_district": "",
"addr_city": "",
"addr_street": "",
"addr_house": "",
"addr_building": "",
"addr_pcode": "",
"addr_country": "Российская Федерация",
"balance": 119.0,
"kl_u": "0,38",
"name": "филиал Алейские МЭС/ Усть-Пристанский участок",
"TypeByTplnr": "ЛЭП",
"tplnr": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9",
"kVoltage": "#dedede",
"voltage": 10,
"techLoss": 0.0,
"techLossColor": "#ddb600",
"sysstat": [
"Создано"
],
"usrstat": [
"Действует"
],
"additional": ""
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa144"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa145"
},
{
"objectId": "c2d22a4c-043d-4c1e-b33f-1f048f093be6"
}
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[
92.951215,
56.005946
],
[
92.951261,
56.005812
],
[
92.950578,
56.005647
],
[
92.950085,
56.005536
],
[
92.949632,
56.00544
],
[
92.94945,
56.005808
]
]
}
}
Пример ЛЭП без геометрии. В данном случаи мы имеем только **"relations"** и ЛЭП будет строиться последовательно из участков объектов, которые указаны в **"relations"**(Необходимо учитывать последовательность объектов в **"relations"**)
{
"type": "Feature",
"properties": {
"type": "fulllines",
"location": "",
"addr_region": "Алтайский край",
"addr_district": "",
"addr_city": "",
"addr_street": "",
"addr_house": "",
"addr_building": "",
"addr_pcode": "",
"addr_country": "Российская Федерация",
"balance": 119.0,
"kl_u": "0,38",
"name": "филиал Алейские МЭС/ Усть-Пристанский участок",
"TypeByTplnr": "ЛЭП",
"tplnr": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9",
"kVoltage": "#dedede",
"voltage": 10,
"techLoss": 0.0,
"techLossColor": "#ddb600",
"sysstat": [
"Создано"
],
"usrstat": [
"Действует"
],
"additional": ""
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa144"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa145"
},
{
"objectId": "c2d22a4c-043d-4c1e-b33f-1f048f093be6"
}
]
}
}
==== Фидеры\Отпайки\Пролёты\Участки ====
Мы можем задавать произвольную иерархию объектов. К примеру ЛЭП имеет только **relations** с опорами. Либо ЛЭП имеет **"relations"** с Участками далее с пролётами, далее с опорами уже точечными объектами.
Пример линейного объекта без заданных опор.
{
"type" : "Feature",
"properties" : {
"type" : "lines",
"location" : "",
"addr_region" : "Алтайский край",
"addr_district" : "",
"addr_city" : "",
"addr_street" : "",
"addr_house" : "",
"addr_building" : "",
"addr_pcode" : "",
"addr_country" : "Российская Федерация",
"balance" : 119.0,
"kl_u" : "0,38",
"name" : "филиал Алейские МЭС/ Усть-Пристанский участок",
"TypeByTplnr" : "Фидер",
"tplnr" : "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9",
"kVoltage" : "#dedede",
"voltage" : 10,
"techLoss" : 0.0,
"techLossColor" : "#ddb600",
"sysstat" : [
"Создано"
],
"usrstat" : [
"Действует"
],
"additional" : ""
},
"geometry" : {
"type" : "LineString",
"coordinates" : [
[
92.951215,
56.005946
],
[
92.951261,
56.005812
],
[
92.950578,
56.005647
],
[
92.950085,
56.005536
],
[
92.949632,
56.00544
],
[
92.94945,
56.005808
]
]
}
}
Пример линейного объекта с "relations". В данном случаи так-как связь уже идёт с точечными объектами, построение топологии и геометрии будет осуществлятся в порядке следования в массиве "relations".
{
"type" : "Feature",
"properties" : {
"type" : "lines",
"location" : "",
"addr_region" : "Алтайский край",
"addr_district" : "",
"addr_city" : "",
"addr_street" : "",
"addr_house" : "",
"addr_building" : "",
"addr_pcode" : "",
"addr_country" : "Российская Федерация",
"balance" : 119.0,
"kl_u" : "0,38",
"name" : "филиал Алейские МЭС/ Усть-Пристанский участок",
"TypeByTplnr" : "Фидер",
"tplnr" : "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9",
"kVoltage" : "#dedede",
"voltage" : 10,
"techLoss" : 0.0,
"techLossColor" : "#ddb600",
"sysstat" : [
"Создано"
],
"usrstat" : [
"Действует"
],
"additional" : ""
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa144"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa145"
},
.....
.....
{
"objectId": "c2d22a4c-043d-4c1e-b33f-1f048f093be6"
}
]
}
}
==== Опора ====
{
"type" : "Feature",
"properties" : {
"type" : "pylons",
"location" : "",
"addr_region" : "Алтайский край",
"addr_district" : "",
"addr_city" : "",
"addr_street" : "",
"addr_house" : "",
"addr_building" : "",
"addr_pcode" : "",
"addr_country" : "Российская Федерация",
"balance" : 122.0,
"kl_u" : "0,38",
"name" : "филиал Белокурихинские МЭС/ Алтайский участок",
"TypeByTplnr" : "Опора",
"tplnr" : "c2d22a4c-043d-4c1e-b33f-1f048f093be6",
"kVoltage" : "#dedede",
"voltage" : 0,
"techLoss" : "",
"techLossColor" : "",
"sysstat" : [
"Создано"
],
"usrstat" : [
"Действует"
],
"additional" : ""
},
"geometry" : {
"type" : "Point",
"coordinates" : [
85.3538402166585,
51.9571677261215
]
}
}