Линии электропередач (тегирование ЛЭП)

  1. Это несколько проблематично, ибо необходимо в сырых данных продублировать геометрию с разными тегами. Или я не дорос до настоящего сварщика. В общем todo может быть на лето.
  2. Да при переезде отвалилось. Поправил. Но layer < 0 ни о чём не говорит, кроме того, что он ниже чем layer=0. Поэтому явный cable.
  3. Спасибо.

Если скрипт подготовки данных написан на питоне или чём-то таком, то я бы мог помочь - у меня точно раньше лета время будет :slight_smile: По идее, надо не дублировать геометрию, а поменять алгоритм формирования подписи - можно же по дампу найти все отношения, в которые входит данный участок.

Тогда вам сюда :slight_smile:
Но как вы себе это представляете, вдруг и правда есть свежее зерно в вашем взгляде.

Немного покрутил Mapbox. Как я понимаю, напрямую из OSM он выбирать данные не умеет, предлагается через Overpass экспортировать их в GeoJSON, потом его импортировать в dataset в Mapbox, и вот дальше уже колдовать.

Поэтому нельзя ли в двух словах описать, как принципиально устроен энергорендерер? Каким инструментом берутся данные, на каком этапе в игру вступает Mapbox, как делается подготовка (где и отсекаются младшие напряжение, вычисляется форма опоры и т. д.) - средствами самого Mapbox или собственным скриптом на этапе между Overpass и Mapbox? Какие данные мапбоксовский рендерер ожидает на входе? Зная это, будет понятно, куда лучше встроить требуемые фичи.

P.S.: Если нет возражений, я бы предложил на “ты” на форуме обращаться друг к другу, а то то так, то эдак получается :slight_smile:

Дамп взят с гислаба, далее он фильтруется от всякого мусора (osmfilter). Потом собственными тулзами обрабатываются отношения и прочее, чтобы перенести/высчитать теги и добавить их уже на линии. Потом это скармливается в tilemaker со своими настройками и создаются векторные тайлы. Они уже заливаются на mapbox и там колдуется стиль.

Здравствуйте. Валидатор подстанций России на открытых данных построен? Можно из него вносить названия и вольтаж?

Да, основал на данных сетевых компаний. Источники тут указаны.
А вот как вы из него названия будете вносить, интересно?

Например, в списке “ПС 110/35/10 кВ Кваркенская”. Понятно, что возле Кваркено. Просматриваю окрестности и нахожу подстанцию, необозначенную в данном случае. При желании большинство можно найти, тем более часть уже отмечена, просто без тегов, кроме повер=субстантион или ландюзе=индустриал.

freeExec, спасибо. Попробую соорудить. Пока кажется, что на этапе с собственными тулзами можно как раз обработать вхождение в отношение и скормить в tilemaker уже с нужными подписями, включающими все цепи.

Я бы в таком случае проверял и дополнительные критерии. Например, по напряжению: раз в валидаторе подстанция обозначена как 110/35/10, то на на неё должны быть заходы ЛЭП 110 кВ и, скорее всего, есть ОРУ 110 кВ (напряжение ОРУ на спутниковом снимке можно определить по размерам оборудования и расстоянию между его элементами). Иначе можно ошибок наделать. В Московской области уже разметили такие “подстанции” на напряжение аж 500 кВ там, где их никогда не было и которые физически не могут быть столь малой площади.

Это плохой вариант. Довольно часто бывает, что вокруг деревень несколько подстанций. Притом не отмеченных, и выставляя отмеченной имя, думая, что она одна - получаешь фейл.

Подписи я собираю в стиле, и хранить готовый name=ВЛ 500; ВЛ 220; ВЛ 110 мне ужасно не хочется.

Но это же получается существенное ограничение: функционал подписывания ограничивается возможностями, которые предоставляет Mapbox, в то время как на предыдущем этапе можно сформировать всё самому так, как душе угодно :slight_smile: По логике вещей рендереру надо скармливать уже максимально готовые к отрисовке данные, а не выносить часть алгоритма в описание стиля.

Кстати, а почему не Overpass? Навскидку кажется, что это позволит разом отвязаться и от osmfilter (сразу сделав выборку лишь объектов с тегом power=*), и от Гислаба (как я понимаю, у него трансформаторы в выборку не попадают, поэтому на рендерере, в отличие от тех же выключателей, не рисуются).

Это некий баланс. Можно ведь скатиться до одного правила в стиле, цвет возьми из тега color, а толщину линии из width. Мне это удобно для отладки, чтобы понимать откуда ноги ростут. И для комбинаций на лету.
Мапбокс например в своих дефолтных стилях имеет отдельный слой для меток. Причём дорогу повторяет как линия, так и точки протыканые по всей длине. Как это используется, я правда не понял.
Что же до оверпасс, я не считаю его приемлемым для извлечения существенных объемов данных. Куда комфортней ковыряться в своём локальном дампе не от кого не завися. Ну и гислаб хранит все данные.
Трансформаторы я просто пока не обрабатываю. Хотя планы у меня были создать карточки подстанций с указанием трансформаторов.

Поковырялся в мапбоксе - да, кажется, без предобработки никак не выкрутиться. Дублирование геометрии, скорее всего, тоже не поможет - т. к. подписи двух ЛЭП никак не будут связаны друг с другом, то рендерер попытается вставить их в те же места и получится что-то вроде такого: http://frexosm.ru/power/#12.16/56.8837/42.2898
Тем более что в плане подписей в перспективе надо что-то придумать с отпайками (endpoint1=substation, endpoint2=tower) и перемычками (endpoint1=tower, endpoint2=tower). Не факт, что это тоже впишется в стиль.

Карточки опционально, для начала их можно просто отображать точками. Потому что сейчас всё ОРУ детализируется до мелочей:
http://frexosm.ru/power/#16.29/56.33207/43.86266
http://frexosm.ru/power/#16.98/56.25635/43.9268

  • а основной, по сути, элемент подстанции не показывается.

И, как я понял, избежать упрощения геометрии при построении векторных тайлов в Mapbox невозможно? Чтобы прямоугольные контура и на детальных масштабах оставались прямоугольными, а не становились косыми?

Да, я попробовал, механизма расталкивания подписей нет. Всё вписать в одну выглядит непонятной портянкой текста. Возможно я тогда сделаю для второй линии подпись снизу от неё. Третьи и последующие видимо придётся игнорить.
Трансформаторы добавлю, надо только иконку нарисовать.
С квадратностью, да, есть проблемы. tilemaker генерирует тайлы только до 14 зума, дальше начинаются какие-то проблемы. Да и генерировать до 20 - это слишком большие объёмы.

Кажется, что вплоть до 4 подписей (а больше 4 цепей в России вряд ли и есть) вполне должно вместиться. Для четырёх, например, можно так:

И тут ещё один вопрос - куда класть уточняющее обозначение цепи (“№ 1”, “II цепь”, “Северная” и т. п., предусмотренные ГОСТом). ref - так не всё из них ref и плюс к тому не отличишь, то ли это номер всей ЛЭП (ВЛ № 171), который надо сразу после “ВЛ” добавлять, то ли номер цепи, который в самый конец.

По идее у нас отношение цепи - поэтому её ref и должен быть I, II или что там. А номер линии куда нибудь в line:ref.

То есть когда по сторонам света - это тоже в ref?
И тогда уж ref:line - судя по тому, что для столбов с трансформаторами в вики указано ref:pole и ref:transformer.

Это только один из вариантов - не всегда исключающий, т.к. бывают следующие случаи:
а)Буквенное наименование подстанций типа Т-1, НС-2, А13
б)Расположение подстанции возле другого населенного пункта - из свежего ПС Таганрогская расположена возле населенного пункта Приазовский в 35 км от Таганрога.
в)Наличие двух подстанций с одним именем и разными напряжениями.
г)Наличие подстанций с одним названием(по населенному пункту), но с цифровыми индексами -ПС В-6 В.Соленовская 1, ПС В-7 В.Соленовская 2
Так что нужно быть очень внимательным при определении наименования подстанции и использовать максимум доступных источников информации.

а) Если в JOSM подключить слой росреестра то можно видеть есть участок под подстанцией и с помощью утилитки address2 загрузить информацию о нем 50 на 50 что там будет наименование подстанции;
б) На карте центров питания можно примерно определить местоположение подстанции (в каких-то регионах видел точное расположение)
в) Если есть соседние подстанции и линии их соединяющие, то нужно смотреть на список линий и анализировать схему.

Интересна ли кому-то такая тема (точнее — стиль)?

Или не актуально?