Товарищи программисты! Очень нужен (и я думаю, не только мне) плагин для josm, упрощающий ввод в базу числовых последовательностей.
Сейчас при адресации множества последовательных объектов, как то квартиры в парадных или дома частного сектора, теги надо вручную вбивать в каждый объект - скучный монотонный труд, от которого быстро устаёшь.
Куда удобнее было бы сразу ввести все адреса в одно поле, а затем указать программе, по каким объектам надо их разбросать.
Здесь возможны варианты:
вносятся конкретные цифры или последовательные диапазоны (addr:housenumber =1;3;5… или addr:flats=1-10; 11-20; 21-30)
теги вносятся на точки или на уже существующие линии
шаг изменения постоянен (и достаточно указать этот шаг и первое значение) или меняется (надо указывать все значения)
Я поразмыслил, и предлагаю реализовать следующий алгоритм:
Пользователь наносит на карту временную линию. Её узлы, начиная с первого, совпадают с адресуемыми точками, либо прикрепляются к адресуемым веям. На линию устанавливается оригинальный тег, указывающий на то, что данные с линии
надо обработать, его ключ уточняет тип адресации - точки / веи, например:
make_addr = node / way
Далее линии присваиваются теги (один или несколько), значения которых будут внесены на точки/прикреплённые веи. Ключи тегов указываются, например, следующим образом (варианты обсуждаются, но главное, чтобы было максимально коротко и понятно большинству):
значение_тега что должно получиться на точках/веях от начала к концу вспомогательной линии
1+1 1; 2; 3 …
4+2 4; 6; 8 …
s10+5 10-14; 15-19; 20-24 … (здесь s - span, промежуток)
1;3;5А;7к1 1; 3; 5А; 7 к1 (данные с непостоянным шагом/ содержащие не только цифры вносятся через определённый знак. В любом случае, пробел, дефис и дробь не подходят, так как встречаются в адресах.
s15;30;50 1-15; 16-30; 31-50 (обычно удобнее указывать последнее число в интервале - оно чаще круглое)
Также
На одной линии может быть несколько обрабатываемых тегов (например: номера парадных и номера квартир)
Обрабатываемых за раз линий может быть неограниченное число
После обработки они должны удаляются.
Если подобный плагин будет написан, вероятно, число желающих вносить адреса возрастёт. Предлагаю обсудить тему!
Интерполяция - это упрощение, а здесь рассматривается случай, когда адрес присваивался каждому конкретному объекту. Ведь если здания стоят вразброд, то условная линия с цифрами адресов даст мало информации, а то и вовсе введёт в заблуждение.
А для адресации квартир в парадных интерполяция вообще неприменима.
С такими вещами надо быть осторожнее - есть высокая вероятность забыть точку, получить съехавшую адресацию по всей улице и не заметить этого, в то время как каждый отдельно внесённый объект проверяет соседние. Алсо, откуда вообще usecase с рутинным добавлением сотен последовательных адресов? Копирование откуда-то? Я, например, обычно иду вдоль ряда домов или подъездов и добавляю каждый по отдельности - этот процесс заменить ничем нельзя, а после него уже никакой рутины не остаётся. Поэтому, кстати я прекрасно знаю что интерполяции в любом виде не работают и работать не могут - сплошь и рядом в одинаковых на вид подъездах оказывается разное количество квартир, а между домами 9, 10 и 12, 13 находится не 11 а 10А - нельзя увидев номера первого и последнего домов в улице проставить все остальные, даже если их количество подходит под последовательность.
Ну этакий эксель для редактирования тегов объектиков, с блекджеком и сортировками был бы весьма полезен, в то м числе и для проверки данных, но нет его пока.
Ну, я довольно внимателен, по крайней мере за собой проверяю. А вот будет ли таким каждый потенциальный пользователь плагина - это вопрос. Но стоит ли отказываться от воплощения чего-то лишь на том основании, что кто-то может использовать это неправильно?
Конкретно сейчас я занимаюсь сбором номеров квартир в районе, где встречаются ну очень длинные дома http://www.openstreetmap.org/?lat=60.00876188278198&lon=30.28510093688965&zoom=16
Объезжаю входы в парадные и списываю в блокнот данные с табличек, потом заношу в базу. За раз выходит до 100 парадных, но понятное дело всё это капля в море большого города.
Под эти цели и захотелось плагин. Но когда думал, вспомнил и о адресации частного сектора - ведь этим занимается ещё больше людей. В СПб есть RGis, но большая часть частного сектора до сих пор стоит без адресов, ибо вносить их слишком муторно.
Сильно зависит от места, в новых районах бывают очень длинные последовательности без сбоев. В конце концов, выбивающийся дом можно будет поправить руками, а точку отсутствующего адреса удалить.
Коль зашла речь, интерполяция плохо работает и при нумерации парадных. По личному опыту - даже в типовых домах вида “хрущёвка” или “корабль” длиннее 5 секций в одной наверняка будет на 1-2 квартиры меньше из-за дворницкой и других технических помещений. Иногда позже эти помещения перпрофилируют под жильё, тогда их нумеруют по остаточному принципу. Часть данных всё равно придётся править руками, но это всё же меньшая часть.
Сейчас такие действия:
-найти в блокноте/базе и т.д. точку с которой копируются теги
-найти объект
-выделить его
-вставить тег с произвольным значением
-найти окно с тегами и в нём строчку с нужным тегом
-кликнуть по ней
-вбить новое значение и нажать энтер
итого семь действий на каждую точку
Я предлагаю
-сначала сразу выделить все объекты и выбрать их в нужном порядке, не отвлекаясь ни на что
-потом сразу вбить в одно поле все значения из блокнота/базы через точку с запятой/пробел и т.п.
-нажать энтер, запустить обработку
При большом количестве обрабатываемых данных выгода во времени очевидна.
А для интервалов приходится вбивать ещё первое число, которое в 99% случаев на единицу отличается от последнего числа предыдущего интервала. Это тоже стоит упросить.
Эу, а про штатный жосмовский шаблон для адреса забыли?
По сути групповой ввод тегов addr: сохраняющий улицу/город при смене объекта и имеющий встроенный настраиваемый автоинкремент на номер дома
Это как-то с редактированием произвольных тегов можно совместить?
Какой-нибудь табличкой с кнопками навигации, висящей фоновым окном по типу редактора отношений?
Или нужен именно специализированный редактор адрески?
–
А, прочитал ещё раз.
Предлагаю в качестве минимума допилить плагин TODO list для циклического вызова окна заготовки (и удобной навигации). А редактирование тегов сделать средствами заготовок (их доделать, если что - подъезды там добавить, и т.д.). Что вы об этом думаете?