Каких инструментов вам не хватает?

Столкнулся с такой проблемой …

Прелюдия

  1. В городе преимущественно типовое жильё - несколько серий типовых домов
  2. Кто-то раньше пришёл и быстро накидал контуры домов прямоугольниками
  3. Прихожу я и хочу детально прорисовать здания чтобы получилась реалистичная картинка с псевдо-3Д

Проблема: как перерисовать несколько десятков домов сложной конфигурации - исправить контуры сохраняя историю правок (т.е. чьё-то ЧСВ) но приводя их все к абсолютно единой геометрии?

Сейчас я вижу только один путь (очевидно плохой) - грохнуть все здания, нарисовать выверенный типовой дом (в идеале можно пройтись с метром), его растиражировать и проставить каждому зданию правильные теги.

В utilsplugin2 есть для этого команда Replace Geometry: рисуешь один контур, тиражируешь, выделяешь новые и старые дома, запускаешь команду. История точек и линий сохраняется, старые контуры грохаются.

А в коммандлайне есть команда, она не только сохраняет историю веев и нод, но и автоматически поворачивает объекты.

В josm есть функции выравнивания объектов (влево,право, по центру вертикально/горизонтально), как есть в CAD? Есть ли функции распределения объектов равномерно или массивом? Если нет - хочу такие инструменты.

Я думаю, ты давно не заглядывал в меню «инструменты» :slight_smile:
Правда, я этими функциями пользовался только для точек, и не уверен, что они работают на линиях.

Скорее всего это задачка для commandline, но я пока не представляю зачем распределять объекты равномерно. Мы же не проекты рисуем, а то, что уже построено. А построено оно как попало :slight_smile:

Вот я бы хотел инструмент, суть такова. Есть домики деревянные, и есть улица. Выделяешь улицу, домики, нажимаешь кнопку, и домики выравниваются ближайшей к улице стороной строго параллельно улице. Нажимаешь другую кнопку, и домики отодвигаются или пододвигаются к улице на одинаковое расстояние (расстояние можно задавать, например, выделением одной из точек, не лежащих на линии дороги (например, одной из точек ближайшей к дороге стены эталонного домика), либо на какое-то среднее или минимальное расстояние).

Это как бы Q :slight_smile: (выделить нужно домики и 2 точки на улице)

Да, это, наверное, CommandLine. Мышкой двигать домики не удобно? (с узлов выделение снимается, Utilsplugin2-Selection)

Это кагбе не Q :slight_smile:

В моём примере домики всё-таки деревянные, и стоят вдоль извилистой дороги в деревне, а потому по двум точкам не выравниваются :slight_smile:

А второе тоже не CL, потому что там можно сделать, наверное, всё, но очень муторно устанавливать и пользоваться.

Всё моё предложение — это отдельный плагин для рисования деревянных домиков в деревнях. Нарисовал квадратик, раздублировал его вдоль всей улицы, выровнял относительно улицы и расположил относительно улицы.

Так ведь форма и расположение домиков весьма и весьма приблизительными будут. Может, лучше не париться и ставить точки?
ParallelWay (shift-P) - можно улицу сдвинуть параллельно.

А, да - есть ещё Terracer :slight_smile:

Terracer уже ближе, но к нашим деревням всё равно не подходит.

В деревнях домики примерно одинаковые, так что рисовать их одинаковыми прямоугольниками не будет большой ошибкой, а выглядеть это будет в сто раз лучше, чем точками. А в отличие от примера Terracer, наши домики стоят редко и нерегулярно, но почти всегда параллельно дороге и на одинаковом от неё расстоянии.

Так что реквестирую плагин для исконно русских деревенских домиков!

Блин. Q ничего не поворачивает вообще, он параллелит. И искажает форму, площадь, периметр, даже при небольшом изначальном отклонении.
Попробуйте поставить квадрат под углом 45 градусов к вею и выровнять по нему. :3

Вроде ничего особенного не произошло. Гораздо интереснее нарисовать четырёхугольник, выделить его и две диагонально-противоположные точки на нём, и нажать Q.

УПД. Если примерно под 45° поставить вытянутый прямоугольник, и «выровнять» его, то он сильно укоротится, да.

Ничего себе «не произошло», он становится меньше, почти по размерам вписанного квадрата :slight_smile:

Ну я не спорю :slight_smile:

В общем, ясно, что Q совершенно не подходит для заявленной цели.

Ладно, ладно, не подходит :slight_smile: По кривым улицам ввобще никто выравнивать не умеет разве что building_tools пытается при рисованиии.
Кто-нибудь плагин-то возьмётся писать?

Ну вооот, началооось!

Не хватает плагина для JOSM, openstreetbugs только для работы с валидатором адресов.

Наверняка может помочь только AMDmi3, но в плагине openstreetbugs есть парaметры типа osb.uri.download = http://openstreetbugs.schokokeks.org/api/0.1/getBugs , а addresses.amdmi3.ru , как верно замечено, на том же движке. Но у меня не получилось…

У меня родилась ещё одна хотелка: хочется валидатор, который бы помечал домики, до которых не ведёт ни одна дорога. Чтобы сконцентрировать внимание на дворовых проездах и подъездах.

Я думаю скрипт, который сравнивал два osm файла и в случае различий делал третий. Поясню: Есть GNS области, есть снимок области. diff gns.osm obl.osm > diff.osm в diff.osm то что нет в области, но есть в gns в качестве параметров (хотя и не обязательно) можно использовать тип: Вода, деревня и т.д. И таким образом получить некий список того что возможно есть, но не насено накарту. (Не для импорта, а для уточнения)
В качестве такого сравнения можно считать объекты существующими, если точка находится рядом с объектом в пределах 1 км (например линией реки).
Ещё одна причина: Причина наглядности. То что сейчас в GNS много информации, и отсеить то что есть, а то что нет требует внимательности и просмотра повторов. (например дублирующиеся имена деревень)