Эстония

http://forum.openstreetmap.org/viewtopic.php?pid=324200#p324200

ИМХО, в импорт зданий должно включаться лишь по одной адресной ноде на некоторой небольшой прощади. Это почти полностью исключит двойной импорт. Если только не найдется пару рядом стоящих нод, указывающих на один домик. Таких не всречал, но и вариант не исключаю. Остальные же ноды пойдут дополнительными адресами, а не новым домиком.

Две крайности:

  1. Огромный завод или торговый центр.
  2. большая группа гаражей - стена к стене.

ИМХО - дольше параметры подбирать придётся.

Cd_spb, в данном случае, стоит учитывать не геометрию и реальное расположение объектов, а спицифику локации адресных нодов в реестре земельного ведомства. Ноды одного адресуемого объекта, но с разными адресами находятся точно в одной точке. Других вариантов, как уже писал, не встречал, но полностью таков вариант не отрицаю. Однако, если есть, ИМХО, 90% накладываний домиков отрезать получится. К тому же, предложил проверку на небольшое расстояние между нодами, а не точное совпадение, может поднимем планку на 1% :slight_smile:

Всего адресных нод в базе: 1 049 106
Уникальных (по координатам) адресных нод: 753 013
Более одной адресной ноды с идеетничными координатами: 74 247

Missing streets (top 50 of 4213):
 Incorrect key file for table '.\osm2\nodes.MYI'; try to repair it

Vitalts, спасибо за объяснение. Стало понятно.

Это уже давно учитывается. Адреса группируются по координатам, и именно так и появляются дополнительные адреса (addr2 / housenumber2). А вы думали откуда они берутся? :slight_smile:

Встречайте: ещё на 25 странице, три скрина. http://forum.openstreetmap.org/viewtopic.php?pid=322872#p322872
Именно это сейчас причина всех дублей, увы.

SviMik, как-то выборочно читаете.

Всего-то надо за одну партию в обработку не выдавать группируемые по области ноды, с задержкой в пару циклов импорта, дабы домики успели отрисоваться и кликер смог бы пометить его как конфликтное.

А вот и то самое конфликтное здание :slight_smile:

Тогда, “всего-то” можно и конфликты находить автоматически.

Только если строить геометрию для каждого адресного нода по WMS maaamet и OSM. Друдоемкий процесс, не гарантирующий удачу, ибо в ОСМ данные не статичны.

Mysql сервер ушёл. Таблицы портятся каждый раз, как на сервере заканчивается место. Стандартное поведение для него…
Почистил место, запустил восстановление. В ближайшее время вернётся.

Есть идея сделать плагин или скрипт для JOSM.
Что нужно:

  1. Добавить новый инструмент рисования в панель.
  2. Если инструмент выбран - получать координаты клика мыши, делать запрос на сервер, и в ответ получать (или не получать) готовый контур, который добавлять на текущий слой.

Пример: ткнул в центр домика, послал запрос http://osm.svimik.com/mtrace.php?lat=57.77150&log=26.02509
В ответ, через секунд 5, получим контур здания, формат для примера

57.771499 26.025203,57.771446 26.025065,57.771508 26.02498,57.771562 26.025118,57.771499 26.025203

(думаю, вы уже поняли, как это работает, и на основе чего создано :))

Скачал, буду изучать!

Кстати, баг: отрицательные значения.

-1186685;-1186684;959.1445;0.0000
-1186772;214429523;73.6152;1541.7207
-1186772;-1186770;1416.0508;0.0000
-1186770;214429523;73.6152;1541.7207

Хотелось бы понять, в каких величинах сейчас intersect и symdiff, чтобы прикинуть, какие значения считать за погрешность (просто состыкованные здания, возможно чуть неточно и чуть залазят - это не конфликт всё-таки).

Отрицательные значения = релейшны. Величины должны быть квадратные метры.

Есть похожий по работе с росреестром, в commandlin address.py

В данный момент успешно решил задачу аж двумя плагинами: ExtTools и CommandLine. Но оба имеют проблему юзабилити.

  1. ExtTools - после каждого клика надо снова тянуться в панель инструментов и опять нажимать кнопку.
  2. CommandLine - то же, только два лишних нажатия Enter после каждого здания.

Хочется именно инструмент для массового рисования - один раз нажал, и кликаешь по карте. А не выбирать инструмент заново после каждого контура.

Двойной ентер не проблема, особенно с новыми мышами у которых бывают макросы. Можно попросить написать рецепт? Я бы завтра порисовал.

Ну, не у всех мышки с макросами… даже у меня классическая.

Рецепт для винды:

  1. Поставить плагин CommandLine
  2. Скачать http://svimik.com/CommandLine_mtrace_1.rar
  3. Распаковать в C:\Documents and Settings*юзернейм*\Application Data\JOSM\plugins\
  4. Отредактировать путь в mtrace.xml (заменить путь на строку выше, со своим юзернеймом)
  5. Перезапустить JOSM
  6. Отписаться о результатах :slight_smile:
  7. Предложить иное решение, не требующее долбёжки по клаве, или покупки новой мышки…

Исходники (проект для VS2008): http://svimik.com/mtrace_src.rar

Вроде для этого плагина надо класть c:\Users*****\AppData\Roaming\JOSM\plugins*CommandLine*\

Спасибо.

Докладываю по скрипту mtrace.
Проверял на Win7 x64 - работает.
Путь выглядит так

C:\Users\юзернейм\AppData\Roaming\JOSM\plugins\CommandLine\mtrace.exe

На некоторые здания реакция такая " Error: image validation failure (err_boundary)". http://www.openstreetmap.org/?lat=58.668992&lon=26.284455&zoom=20

Я правильно понимаю что вынимается только контур + тег “building”? Адресная информация не планируется?

P.S. Хотелки, а как же без них :slight_smile:

  1. Вывод сообщения о запросе, а то не всегда понятно был запрос или нет.
  2. Выделения вновь добавленного контура.
  3. Проверки на многократное добавление контура. Или это проверяется на стороне сервера?