Можно проставить, например, name := Высота #tag=ele#
При использовании с Regexp и Selection можно накручивать довольно сложные вычисления на тэгах.
Если кому-то интересно - пишите.
“Ух, ответственность” (c)
Спасибо, буду действовать аккуратно.
Лишний параметр - лишнее действие для всех пользователей. Переименовал свой в “Replace2 (no rotation)”.
Добавил ещё скрипты от Xmypblu, подкорректировав их.
Залил всё в master, можно тестировать.
Спасибо. Только Implode некорректно отменяется. Там сначала удаляются точки, а потом вей — а так делать нельзя. :3
Да, автор команд не должен бы о таком задумываться, и надо править сам плагин. Но пока что есть то, что есть.
# Deleting
for relation in self.relations.items():
if relation[1].get(ACTION) != DELETE:
continue
targetStream.write(self.xmlrelation(relation))
for way in self.ways.items():
if way[1].get(ACTION) != DELETE:
continue
targetStream.write(self.xmlway(way))
for node in self.nodes.items():
if node[1].get(ACTION) != DELETE:
continue
targetStream.write(self.xmlnode(node))
for text in self.comments:
targetStream.write("<!--" + text + "-->\n")
Вроде ошибка перестала выпадать. Буду ещё тестировать, но если сразу видишь что это некорректно - сообщи.
P.S. Ещё до меня сегодня дошло, что разные xml-ки могут дёргать один скрипт с разными параметрами, поэтому я уберу circle.py и replace2.py, сделаю Arc с осями и ещё свой path_ortho затащу.
Большое спасибо! И ещё раз отдельная благодарность за Ellipse: если у круга указать чётное число точек, то квадрат вписывается точка в точку. Ни чем другим, так точно круг не разделить, что очень ценно для последующих построений и встраивания этого самого круга.
Сделал альтернативный ортогонализатор на скрипте.
Возможности:
Лучше ловит базовое направление объектов (алгоритм path_ortho отточен в проекте обрисовки зданий Эстонии)
Можно зафиксировать несколько точек чтобы они не были подвинуты (нужно выделить их)
Можно задать базовый вектор двумя точками (как в JOSM) или вручную - дополнительно к фиксированию N точек (выделить ещё линию из двух точек с тэгом fixme=ortho2_py_base_vector)
Таким образом будет проще рисовать здания, где есть как прямые углы, так и не прямые.
Скриншоты и тестовые объекты тут: http://ge.tt/5QMUbC72?c
В планах: удаление промежуточных точек на прямых, удаление малых уступов и выступающих отрезков (линия туда-сюда)
Есть идеи как повесить скрипт на хот-кей?
UPD: Скрипт вешается на хот-кей, например, через добавление скрипта на toolbar. Себе поставил на Q вместо встроенного
Скриншот с наглядным результатом ортогонализации при фиксировании точек
Точки со знаком STOP - были зафиксированы (выделены) перед вызовом скрипта.
(где их две - там была ещё выделена третья из другой линии, чтобы базовый вектор вычислялся)
Можно попросить в “родной” ортогонализатор добавить фиксирование многих точек.
Думаю, это не очень сложно, раз у них фиксирование двух есть. Но м мне пришлось несколько дополнительных обработок вносить в остальной алгоритм (корректировать уравнение прямой если только одна точка на ней зафиксирована; если - больше одной; выбрасывать из обработки рёбра, у которых обе точки зафиксированы и т.п.)
А как подцепить? CommandLine же выбранные объекты и зависимости отправляет на stdin, а exttools, насколько я вижу, только ожидает выход от внешней проги.
Род рукой JOSM нет, точно только в понедельник смогу. И что-то вспоминаеться, что, вроде, если комманд лайн плагин вынести на панель быстрого запуска, то и на него можно хоткей навесить.
Написал скриптик для коммандлайна, который утягивает в JOSM геометрию и адрес с портала открытых данных Москвы: https://yadi.sk/d/bxPSm-0vmkURP
Устанавливается как обычно, требует OsmData.py и projections.py (идут в комплекте со стандартными командами).
Что-то у меня перестал работать скриптик.
11-го числа работал, а больше не хочет.
Я добавил tData.write(sys.stdout) в ветке “Not found” и стал получать этот “Not found”, а то вообще ничего не писал.
Если вывести URL запроса в отладку и скормить его в браузер получаю {“results”:}