====== Примеры запросов ======
==== Navigation ====
* [[ru:first|Главная]]
* [[ru:dsp:first|Служебная страница]]
* [[ru:dsp:web_dev|Web]]
* [[ru:airlay:api:air-lay-v2|API Air Lay v2]]
* [[ru:airlay:glossary|Glossary]]
* [[ru:airlay:importformat|Описание формата загрузки и выгрузки ]]
* [[ru:airlay:examples|Примеры данных]]
==== Примеры JSON объектов для энергетики ====
==== Описание связей для объектов электросети ====
Существует два типа связей геометрические и иерархические. Для корректной работы инструментов редактирования связей\пролётов и корректного отображения необходимо придерживаться ниже указанной топологии.
В текущей топологии участвуют объекты воздушная линия, участок воздушной линии, пролёт воздушной линии, опора, точечная подстанция(ПС, ТП, РП, КТП), площадная подстанция, РУ, кабельная линия, кабельный участок, муфта, концы кабельного участка.
Все описанные объекты имеют различный тип, который необходимо указать в атрибутах в виде атрибута type.
* ВЛ и КЛ - type: "fulline"
* Участок ВЛ и КЛ - type: "line"
* Пролёт - type: "span"
* Опора - type: "pylon"
* Подстанция точечная и площадная - type: "ps",
* РУ - type: "ru"
* Концы кабельного участка - type: "point"
* Муфта - type: "coupling"
Далее нам необходимо построить связи между объектами. Геометрические связи позволяют строить одни объекты на основе геометрии других объектов. В том числе при редактировании геометрии изменять информацию сразу во всех связанных объектах.
Для создания геометрических связей используется специальный атрибут relations. Как показано в примере ниже
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": "value"
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa142"
}
]
"operation": "delete"/"create"/"update"/"relationUpdate"/"coordinatesUpdate"
},
"geometry": {
"type": "Polygon"
}
}
]
}
{{:ru:airlay:топология_электрообъектов.png|}}
==== Соединение ВЛ - ТП ====
Рассмотрим соединение ВЛ - ТП, в данном примере мы имеем линию, где на конце находится точечный объект ТП. Если рассматривать иерархию сверху вниз, то на верху стоит линия, которая имеет связи с участками и система строит геометрию на основе дочерних элементов. Далее, участок ссылается на пролёты, так-же геометрия строится на основе них. Пролёты в свою очередь представлены линией из двух точек на конце, опора и ТП. В середине линии пролёты ссылаются на две опоры. В конечном счёте вся геометрия строится на координатах опор и ТП или других объектах на концах линии.
==== Редактор пролётов и иерархические связи ====
Система имеет инструмент редактирования связей редактор пролётов. Инструмент работает от нижнего уровня точечных объектов, опор, точечных ПС, ТП, РП, РУ, муфт и крайних точек кабельных линий. Чтобы найти связи доступные для редактирования используются геометрические и иерархические связи с родительскими объектами.
Иерархические связи необходимы для создания связи между объектами, если явной геометрической связи нет. К примеру связи ВЛ и площадной ПС. Допустим система не имеет явной геометрической связи с подстанцией и мы хотим задать её в системе. Мы знаем, что ПС должна иметь связь с ВЛ и нам для работы редактора пролётов необходимо это указать. ПС представлена полигоном, если сделать геометрическую связь линии и полигона, то объект ВЛ будет строится, как полигон, что не является корректным. Поэтому используется иерархическая связь hierarchy с ключевым названием direct
==== Пример иерархии ====
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": "value"
},
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9"
},
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa142"
}
],
"hierarchy" : [
{
"name" : "direct",
"links" : [
{
"type" : "children",
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9"
},
{
"type" : "children",
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa1c9"
}
]
}
]
"operation": "delete"/"create"/"update"/"relationUpdate"/"coordinatesUpdate"
},
"geometry": {
"type": "Polygon"
}
}
]
}
==== Соединение ВЛ - ПС ====
Рассмотрим соединение ВЛ - ПС, в данном примере мы имеем линию, где на конце находится точечный объект РУ, который связан через ПС с линией с помощью иерархической связи. Изначально система не знает о геометрической связи РУ и пролёта на конце линии. Для работы редактора пролётов мы указываем иерархическую связь ПС и линии, тогда мы сможем связать пролёты данной линии и особые точки ПС. В данном случаи мы не можем напрямую связать площадную ПС и линию, так-как необходимо наличии точки построения линии. В качестве особой точки выступает объект РУ, который находится на территории площадной подстанции. Поэтому мы создаём две иерархические связи РУ и ПС, ПС и Линия, после чего инструмент может использовать пролёты линии для присоединения к РУ.
В конечном итоге после обработки инструментом связывания, мы создаём геометрическую связь РУ и пролёта и возвращаем в мастер систему.
==== Соединение КЛ - ПС с двумя участками ====
Рассмотрим соединение КЛ - ПС с двумя участками, в данном примере мы имеем линию, где на конце находится точечный объект РУ, который связан через ПС с линией с помощью иерархической связи аналогично предыдущему примеру, на другом конце мы имеем другой кабельный участок соединённый через муфту. Кабельная линия в отличии от ВЛ не имеет явных пролётов и опор, но имеет координаты поворотных точек. Для работы редактора необходимы особые точки для КЛ, чтобы через них соединять объекты. Поэтому мы можем использовать крайние точки, как особые или муфты если мы соединяем два кабельных участка. Если, мы не имеем такой объект, как муфта, то мы задаём крайние точки в виде особых с помощью геометрических связей. Поворотные точки же не задаются отдельным объектом, а хранятся внутри кабельного участка, как показано ниже.
{
"type": "FeatureCollection",
"features": [
{
"type" : "Feature",
"properties" : {
"type" : "lines",
},
,
"system": {
"relations": [
{
"objectId": "37afa850-82bc-4692-b7c7-e7a1bc4aa144"
},
{
"geometry": 1
},
{
"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
]
]
}
}
]
}