Конвертер OSM -> MP

Может быть и мало. Система 64х-битная?

в общем разобрался, если кто столкнется с таким же. решил проблему (вроде уже сталкивался, но запамятовал )))) после слияния двух файлов ОСМ нужно было по файлу ОСМ пройтись osmsort.pl (osmsort.pl RU-KDA.test.osm > RU-KDA.osm)

после osmsort.pl , скрипт osm2mp.pl успешно конвертнул ОСМ в МР

посмотрите пжлт почему дороги с ОДНИМ тегом highway = service нормально конвертируются в МР, а если ещё присутствуют теги service = parking_aisle и surface = asphalt, то в МР вообще дорога не попадает

файл Russia-KDA-osm-mp.zip с рамблера

в GME

в JOSM

http://www.openstreetmap.org/?lat=45.00993&lon=39.08018&zoom=17&layers=M

Это навителовский исходник. Из них service = parking_aisle убраны.
В гарминовских такого исключения нет.

убраны или нет. но вместе с ним пропадает тег highway = service, что означает убраны и дворовые проезды

выше написано. даже с картинками

лично для себя дропнул теги service = parking_aisle из файла ОСМ, конвертнудись и дворовые проезды highway = service

Вовсе не означет.
Дворовые проезды не обозначают комбинацией тегов
highway=service
service=parking_aisle
так обозначают проезды на парковках, у больших гипермаркетов например
http://wiki.openstreetmap.org/wiki/RU:Tag:highway%3Dservice

Fortress я в курсе что не обозначают. но кто то уже обозначил же. и после конвертера из за этих тегов пропали внутри дворовые проезды

я что плохо объясняю?

Nikolya, в таком случае, нужно удалить тег service=parking_aisle с дворовых проездов.

Fortress ну сугубо для себя и слитого дампа с гис лаба дропнул теги service=parking_aisle , обсолютно все. сконвертились все внутри дворовые проезды

а вот искать по всему краю в онлайн, сорри нет времени. запустите БОТа и то так то… нужны какие то правила… очень тонко настроить

в общем удалить теги service=parking_aisle если они не входят в паковочную территорию и соответственно не обозначен тегом amenity=parking иль ещё каким подходящим

кста а проезды с таким тегом service=parking_aisle вообще конвертятся? может проще конфиг поковырять у конвертора

Nikolya, service=parking_aisle убраны из конвертации именно для того, чтобы не загромождать выходную карту. Если кто-то неправильно трактует тег, это проблема отнюдь не рендера.

да мне этот тег и не нужен. вы прочтите ВНИМАТЕЛЬНО!!! мне тужно чтоб дворовые проезды не резались конвертером, а именно попадал тег highway=service

dimuzz и смысл вашего поста? причем тут вообще рендер? мне как конечному пользователю интересна карта для навигатора
если конвертируют карты таким образом что дворовые проезды удаляются (не попадают), а так же проезды межпарковочных мест, вблизи тех же мегамагазинов. то тег service=parking_aisle теряет свою ценность, удаляйте его до конвертирования. иначе … навигации междворовой и парковочной кирдык )))

картинки же есть, до и после. специально для особенных

п.п.с. мое дело было подметить, рассказать и т.д., я дефолтными данными не пользуюсь, все равно под себя редактирую и добавляю. ваше право оставить как есть либо изменить

Nikolya, улыбнул :slight_smile:

liosha

Помоги пожалуйста настроить значение Floors “по-умолчанию” для объектов, у которых отсутствуют показатели высотности в базе. Уж очень глупо выглядят пятиэтажные гаражи в ситигиде :slight_smile:

В файл cfg добавил

[Values]
...
default_floors: 1

В конфиге полигонов

В результирующем полише Floors отсутствует.

А так работает

или

Спасибо!

liosha
Предлагаем патч для конвертера osm2mp

Суть проблемы: в Украине (и в других местах) “привязываение” домов к улице задано с помощью релейшена. При этом название улицы присутствует в релейшене только на украинском языке в теге name. Названия улицы на других языках есть только в тегах отрезков улицы, входящих в релейшен улицы.

При конвертации в “польский” формат (при создании карты на языке, отличающемся от того, что используется в name, например, на русском) происходит следующее: в базе адресного поиска возникают вместо одной улицы две: на русском и на украинском. При этом поиск домов возможен только по украинскому названию улицы (потому что оно записано в name в релейшене). То есть, поиск работает неправильно.

Предлагается брать названия улиц из тегов веев улиц, а не только из тегов релейшена.
Вот что предлагается исправить в коде, начиная со строчки №410. (код правил товарищ Larry0ua, а я тестировал)

if ( $flags->{street_relations} ) {
    for my $type ( qw{ street associatedStreet } ) {
        my $list = $relations->{$type};
        next if !$list;

        while ( my ($relation_id, $members) = each %$list ) {
            my $street_name;
            for my $member ( @$members ) {
               next if !( $member->{role} eq 'street' );
               next if !( $member->{type} eq 'way' );
               $street_name = name_from_list( 'street', $waytag->{$member->{ref}} );
               next if !$street_name;
               last;
            }
	    $street_name = name_from_list( 'street', $reltag->{$relation_id} ) if !$street_name;
            next if !$street_name;
            for my $member ( @$members ) {
                next if !( $member->{role} ~~ [ 'house', 'address' ] );
                $street{"$member->{type}:$member->{ref}"} = $street_name;
            }
        }
    }
    printf STDERR "  %d houses with associated street\n", scalar keys %street;
}

Вот ссылка на переделанный конвертор: http://sendfile.su/681255

Сейчас кодовые action-ы ещё не доделаны, поэтому $values туда не пробрасывается, и даже ошибки не обрабатываются. Пока можно оставить $levels || 1.

Что-то мне кажется, что так неправильно. Почему не вынести name:{lang} в релейшен?

Да, это кажется нелогичным. Но сейчас сделано именно так. Если прописывать name:{lang} в теги релейшена, будет дублирование информации, поскольку, эти name:{lang} уже присутствуют в тегах веев. А если убрать name:{lang} из тегов веев улиц, то пропадут названия улиц из большинства отрендеренных карт.

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

А, кстати, есть ещё проблема: если в тегах домика задано addr:street на украинском языке, то даже если рядом есть вей с таким же названием в name и тегом name:ru, то всё равно конвертор пишет только то, что прописано в addr:street, игнорируя name:ru в тегах веев и игнорируя релейшены улиц.
Проблема не связана с патчем. В оригинальной версии то же самое.

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

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

Нет, это очень плохая идея. Имхо, конвертация в конечные продукты должна способствовать хорошей структуризации данных, а не их засиранию :slight_smile:

Я подумаю, как это лучше будет сделать.

Пока сделал, чтобы на дорогу ставилось название из релейшена.