КЛАДР

ИНФОРМАЦИЯ ОБ ОБРАБОТАНЫХ ГОРОДАХ ВЫКЛАДЫВАЕТСЯ НА http://osm.tesoro-shop.ru/
Passed - улицы из ОСМ совпали с КЛАДР
Failed - перечень улиц из КЛАДР, не найденых в ОСМ.

Для добавления города для обработки роботом, нужно что бы что бы:

  1. была граница типа place:[town|city|village|hamlet] и/или boundary:administrative
  2. точка внутри границы с тегами place:[town|city|village|hamlet] и name:xxx.

может лучше http://wiki.openstreetmap.org/wiki/Relations/Proposed/Postal_Addresses использовать? зачем захламлять описание улиц? с релейшеном - адресная иерархия отдельно, топология отдельно?

по вопросам:

  1. a. выделил границу региона в меркарторе (если есть. или нарисовал если нет) и сделал Export->selected->xml(osm)
    b. почистил файлик от мусора. объединил границу в одну линию и при помощи http://svn.openstreetmap.org/applications/utils/osm-extract/polygons/osm2poly.pl преобразовал в файл полилинии для обрезки
    c. при помощи http://svn.openstreetmap.org/applications/utils/osm-extract/extract-polygon-c/ обрезал оставив только нужный район

3 и 4. удобнее формировать osmchange файл и использовать http://wiki.openstreetmap.org/index.php/Bulk_import.pl

Сформировал Osmchange.
Как его залить?
Поставлил winperl, запускаю bulk_import говорит

C:>C:\Perl\bin\perl.exe bulk_upload.pl
Can’t locate DB_File.pm in @INC (@INC contains: …/…/perl_lib C:/Perl/site/lib C:/Perl/lib .) at bulk_upload.pl line 313.
BEGIN failed–compilation aborted at bulk_upload.pl line 313.

насколько я помню надо 2 или три доп модуля. в винде ставятся при помощи ppm
XML-Writer - для разбора и формирования xml
DB_File - для работы с базой (там кешируются элементы которые уже залиты для того чтобы можно было прервать и заново начать процесс)
и что то ещё.

XML-Writer нашел. DB_file - такого модуля, имхо, нет.
А OSMChange только через bulk_upload можно загружать?

про DB_file: http://www.perlmonks.org/?node_id=234431
похоже, по виндой оно не работает

Максимальное число элементов для чего? Для одной выборки? Тогда с релейшенами вообще не вариант, уже понятно что ихз не хватит.

KekcuHa, а зачем ты хочешь добавить теги из кладра? Я считаю, достаточно иметь границы населенного пункта, что позволит сервисам на основе OSM справляться с поисковыми задачами типа найти улицу Ленина в поселке Ленинский Ленинградской области

Поздравляйте, робот готов, (пока) без релейшенов.
В “боевых” условиях прошелся по Отрадному (например, http://www.openstreetmap.org/browse/way/31126468/history )

Конечно позволит, особенно если будет адресная иерархия. А вот ее как раз с помощью кладра сделать очень легко.

наверное, правильнее было бы полный статус тоже добавлять
типа, cladr:status=шоссе

В смысле не сокращенный? Тогда его в cladr:suffix и записывать…

Да, в одном релейшене не должно быть больше 2000 элементов. По соображениям производительности.
У нас тут трасса Е18 уже имеет порядка 1300 сегментов, а если выделять сегменты с maxspeed=
то скоро начнется веселая жизнь.
Так что добавляйте тэги, и пусть операторы БД задумываются об индексации и оптимизации структуры.

Хаха :slight_smile: Я вот только сейчас обратил внимание смотря на КЛАДР, что kadastr.ru использует другой классификатор и
кадастровые районы, судя по всему, не совпадают с административным делением. Короче, полный хаос
запрограммирован :wink:

в минске 12xx улиц
в предложенном (но пока не одобренном) PostAddress релейшене проблема решается тем что не город имеет 12xx мемберов, а каждая улица имеет один мембер - is_in=идентификатор_Минска
урл на пример я приводи выше

KekcuHa, в карту время от времени вносятся изменения. Как предполагается отслеживать эти изменения на предмет проставления КЛАДР-овых тегов? Предположим, кто-то изменил КЛАДР-овый тег. Как предполагается этот момент контролировать?

Мне кажется, затея с кладром необдумана. Для чего это? Поиск? Но он все равно не будет работать в тех районах, где данные кладра не забиты или же их нет в принципе (за пределами РФ). Получается, необходимо будет иметь два алгоритма поиска - более универсальный - по полигонам городов и частный - по кладру. Потом, как отметил vvovv - “дуракоустойчивость” метода очень низкая. Для поддержания работоспособности необходимо будет проводить постоянный контроль и восстановление…

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

Помимо поиска, в кладре информация о правильном написании (имя + статусная часть), почтовом индексе. После обработки города можно посмотеть, какие улицы есть в кладре, но нет в ОСМ и наоборот (контроль поноты и правильности данных в ОСМ).
Помимо этого выверенная иерархия адресного подчинения.

необдуманной была затея пихать кладровые данные в name
а сейчас очень даже неплохо :slight_smile:
кто хочет - использует, кто не хочет - игнорирует

Вообщем пока буду запихивать в теги way’ев (кста, в штатах их тигер именно так и прописан), потом, если потребуется, сделаю collections с тегами, а кладровские теги way-ев потру.

Добавьте “created_by=kladr_bot”, так будет проще их идентифицировать.