«AirLay Object Collector» - Android приложение для сбора информации на местности. Google Play
toDoList - это коллекция данных в которой хранятся задания для сотрудников. Данные в заданиях можно редактировать, верифицировать и собирать с помощью мобильного приложения AirLay Object Collector
«type»: «pylons\ps\lines\fulllines» - используется для генерации GML файлов
«tplnr»: «4cba3f94-c070-403c-b0d8-fb2e4f65942d» - код технического места, или id. Задаётся настройках слоя используется для связи с другими объектами и корректным обновлением\перезаписыванием объектов.
«voltage»: Поле по которому можно будет создать виртуальные слои, расписанные по напряжению. Поля задаются в настройках слоя
«geometry»: данное поле задаётся в рамках 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 ] } }