Як правильно вказувати адресу ?

Хлопці, є така проблема: При конвертації карти Харківської обл. під Навітел всі села та міста у районах виявилися неприв’язаними до своїх районів. Це погано. Бо, по-перше, при адресному пошуку незрозуміло, у якому районі знаходиться знайдене село. По-друге, що більш важливо, населені пункти у різних районах області, але з однаковою назвою (наприклад, Борова є у Зміївському р-ні та у Боровському р-ні) пропадають з адресного пошуку.

Я написав в темі про Навітел.
http://forum.openstreetmap.org/viewtopic.php?pid=274920#p274920

Мені відповіли, що треба прописувати addr:district у точок та полігонів населених пунктів. В наших правилах адресації такого нема. До речі, згадуючи про “язикову війну” у Криму, якою мовою писати addr:district та як бути з багатомовністю. Чи може, попрохати liosha, щоби доробив конвертор osm2mp, щоби назви районів прописувалися автоматично?

краще “попрохати liosha, щоби доробив конвертор osm2mp, щоби назви районів прописувалися автоматично”
якщо є знання і натхнення можна доробити самому і запропонувати автору osm2mp
http://osm2mp.googlecode.com/svn/trunk/

liosha не хоче доробляти або я неправильно пояснив йому суть питання. До речі, треба також поправити конвертор, щоби він брав назви вулиць не з тегів релейшена вулиць, а з тегів вулиць-членів релейшена.
За нашими правилами тег name релейшена співпадає з назвою вулиці. Але якщо хтось хоче зробите карту на іншій мові (наприклад, Fortress викладує карти України російською мовою), то інших name:xx для інших мов в тегах релейшена немає. І виникає помилка. В базі адресного пошуку замість однієї вулиці виникають дві вулиці (з російською та українською назвами), причому будинки прив’язані лише до української назви.

якщо тут збираються проблеми osm2mp то також впишіть в фікси:
точки без тегу building з номером будинку, включені у відношення, не індексуються у пошук.

Це ви так під’їзди у будинках позначати зібралися?

подвійна-почетверна нумерація. у нас ще бувають будинки, на яких стоять таблички з усіх чотирьох сторін :slight_smile:

Ще є таке: http://www.openstreetmap.org/?relation=1711156

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

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

Так что либо дублирование информации в тегах, либо просим переделать конвертор.

кто знает, подскажите, osmand не поддерживает нашу схему адресации?
поиск улицы находит, а дома нет :frowning:

Возможно не поддерживает. Скорее всего, не сам Османд, а конвертер.

Кстати, надо бы ради интересу попробовать этот Османд, пока у меня этот дурной нетбук (Toshiba AC-100) не забрали. Или пока я его об стенку не разбил:D

[offtop] Цікаво — нетбук на Андроїді, які враження? [/offtop]

Погані враження :frowning:
Уявіть, що “залізо” смартфона чи КПК встромили в корпус від нетбука. Замість тачскріну зробили маненьку клавіатуру, тачпад та мишу. Дзвонити з нього неможна, але є Wi-Fi (нажаль, без режиму Ad-Hoc, тож без Wi-Fi роутера чи точки доступу не працює). Нема Ethernet. Блютузу нема або не працює. GPS нема. Є HDMI, але нема VGA, тож до проектора не підключити. Вібро нема, акселерометра нема. Є флеш-вінчестер на 5 чи 8 ГБ та дірка для SD-карти. Ще можна вставити USB-флеш, але тоді будеш без USB-мишки чухати пальцем тачпад, бо дірка USB лише одна. Однак, є порт mini-USB. Можна підключити це гімно до нормального компа та перепрошити чи скопіювати якісь файли.
А ще іноді ця гидота може зависнути.
Запустив CityGuide7, але не зміг запустити Navitel (ні 3, ані 5 версію). Запустив quake3, але миша там якось дивно працює. Незручно або треба щось налагоджувати.

На мою думку, воно годиться лише для забавок: іграшки, сьорфінг по інтернету, музончик, фільми.
Ось тут багато розписано про цю іграшку http://4pda.ru/forum/index.php?showtopic=198800

[offtop]

У мене теж майже-андроід-нетбук.
Точніше андроід-планшет, який переводиться в ноутбучний режим: Eee Pad Transformer Prime TF201. ASUS до нього навіть безкоштовно прислала GPS-модуль.
Враження вцілому позитивні, все-таки робота з клавіатурою набагато продуктивніша за пальцетикання.
Але у андроіда своя специфіка - програми заточені під мобільне використання і саме під палець. Не уявляю, як можна організувати повноцінну розробку чого б то не було, обмежуючись самою лише платформою Android, навіть з клавіатурою. Сама ОС з користувацькою ідеологією.
[/offtop]

[offtop] Це коли в нетбука є нормальна клавіатура. А в цьому недоробку клавіши під Німеччину зроблені. Я встановив AnySoftKeyboard, але не знайшов підходящої розкладки під російську та українську мови. Деякі букви не на своїх місцях. І коли воно все працює і не висне. І коли в нього є багато різних інтерфейсів вводу/виводу, а не один порт USB.
Ось у моєму ноуті є повноцінний WiFi, Bluetooth, 4 USB 2.0, DVD-RW, Ethernet, modem, VGA-port, com-port, IEE1394, IR-port, вихід для навушників, вхід для мікрофона (може працювати ще й як лінійний вхід), вбудований мікрофон, PCMCIA slot, ExpressCard slot. Та навіть слот для карток iso-7816. Нажаль, веб-камери нема.
[offtop]

І, повертаючись до основної теми, хочу запитати: хто придумав систему адресації з релейшенами? І чому вона не має серйозної підтримки в усіх “механізмах” OSM?

Придумали її у Німеччині, вперше для містечка Карлсруе. А підтримку має, в першу чергу у Номінатімі. Може не має у чиїхось самописних валідаторах, бо люди може лінуються додати підтримку, і то треба їх заохочувати доробити їхні інструменти.

Гм. Поліз я у Німеччину…
Спочатку Берлін.
Намальовано будинок (building=yes), всередині нього точка без тегу building, але прописані теги
addr:city=Berlin
addr:country=DE
addr:housenumber=2
addr:postcode=10707
addr:street=Xantener Straße
building=yes

На іншій вулиці адресу вже вказано на будинку
addr:city=Berlin
addr:country=DE
addr:housenumber=33
addr:postcode=10707
addr:street=Brandenburgische Straße
building=yes

Дивлюся у бічну панель ДЖОСМу, бачу три релейшени вулиць. Відкриваю. Бачу
name Große Diesdorfer Straße
type associatedStreet
в релейшені три будиночки з роллю house. Ділянок вулиці в релейшені немає.

Потім почав шукати Карлсруе. Знайшов :slight_smile:
Справді. Адресація задана релейшенами.
name Brauerstraße
type street
Члени релейшена
street - відрізки вулиці (причому розташовані послідовно (!) )
house - будиночки.

Однак чомусь на будиночках все одно проставлені теги
addr:city=Karlsruhe
addr:country=DE
addr:housenumber=3a
addr:street=Brauerstraße
building=yes

Поліз в Номінатім.
Шукаю “Харків, Єлізарова вулиця, 6” - знаходить лише вулицю. Вказую російською мовою - те ж саме.
Шукаю “Харків, Єлізарова вулиця, 4” - знаходить. Вказую російською мовою - теж знаходить.
Але чомусь вказано район Залютино. Хоча ці будинки на Холодній Горі.

Запускаю ДЖОСМ, дивлюся. На №4 вказано addr:street. На №6 вказано лише номер будинку.
Обидва будинки включено до релейшену.

Потім я згадав про проблеми з містом Борова. У Харківській обл. є дві Борові (в Зміївському та Борівському р-ні). Тож у Навітелі були проблеми з пошуком.
Шукаю “Борова, Гагаріна вулиця, 25”. Номінатім швиденько знаходить.
Шукаю “Боровая, Гагарина улица, 23”. Теж знаходить.

Відкриваю ДЖОСМ, дивлюся. На будинку лише номер та building=house, адресація задана релейшеном. В тегах релейшена лише українська назва в name, відрізки вулиці мають назви українською та російською мовами.
На межі міста Борова лише теги place=town та name, name:ru. На точці міста теж ніяких addr:district, addr:country, та ін.
Але Номінатім все це сприйняв! Причому правильно. Не переплутав райони!

Але чому в Харкові йому знадобився тег addr:street?
Не розумію. Піду спати.

Друже, тому, що Номінатім відстає, а ти додав ті будинки 5-го вересня. Спробуй пошукати інші будинки, 37, 26 і таке інше. Тобто, одноповерхові, рілейшени для яких я зробив 2-го вересня

Район вказано невірно тому, що ніхто не намалював полігон для Холодної гори – звідки ж йому знати?

Он воно шо!
Спробував. Працює.

Отже, треба допилювати конвертор. Погано, що liosha не хоче це робити :frowning:
Хлопці, хтось розуміється на Perl? Бо хоч воно й опенсорс, але моїх знань вистачає лише на те, щоб відкрити osm2mp.pl у текстовому редакторі, пробігти очима та закрити :frowning:
А інтуіції вистачило лише на те, щоб знайти шмат коду, який начебто відповідає за обробку релейшенів вулиць.


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 = name_from_list( 'street', $reltag->{$relation_id} );
            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;
}