Давайте договариваться как делать адресацию, что бы использовать ее повсеместно.
Существуют следующие общепринятые варианты:
Через is_in (очень коряво, негибко)
Через релейшены (практически невозможно редактировать вручную, т.к. будут ссылки на другие релейшены, чего редакторы не поддерживают. Cladr2OSM скоро научится это делать).
Через addr:street, addr:city, addr:country и т.п. Просто прописывать, просто разбирать, легко править. Но будет очень много тегов в домах, улицах и т.п.
Может, таблица (особенно в таком виде) и не лучшее решение, но у is_in (как он описан http://wiki.openstreetmap.org/wiki/Key:is_in)) куча недостатков, хотя бы частично решаемых таблицей.
Хочется чтобы для “Sochi, Krasnodar Krai, Russia” не создавалось страны Russia (В дополнение к “Россия”, которую кто-нибудь задаст через “is_in:ru”). Да и “Сочи”, было бы как-то привычнее.
Города вроде “Томская область Tomsk”, “Україна”, “48210”, “Blagoevgrad province”, “California”,“Europe” кажутся лишними, как впрочем и государство “EU”.
Вести таблицу имеет смысл не глобальную, а только для территории, обрабатываемой при данном запуске (и скорее всего стоит отрубить использование этой таблицы по умолчанию).
Конечно, таблица в данном виде - это крайне примитивно (например имело бы смысл вести разбор покомпонентно…), но даже так в дампе России я насчитал 354 уникальных строчек содержащих k=“is_in”, что вполне можно за вечер-другой обработать, кроме того несложно написать программку (а точнее обрезать osm2mp.pl), чтобы она генерила список невнесенных в табличку строк по дампу (чтобы отслеживать новые).
Ну и, конечно, следовало бы разбирать is_in, is_in:city, addr:* сразу же и хранить с объектом отдельные компоненты.
P.S. Ну а насчет того чтобы резать не по запятым, а по \s,\s**, надеюсь, возражений нет? А то появляются " Россия" " RU" и т.д.
Кроме того и слишком много вольностей: можно писать в произвольном порядке, писать можно/нужно(?) международные названия(латиницей), можно писать вперемежку адресные данные, релейшены и категории.
Еще один недостаток - что потребует или держать до последнего данные (в том числе и POI) в памяти или потребует двух проходов.
в последних релизах russian_federation некоторые IMG с ошибкой. Например если включить их в mapset, то mapsource выдаёт ошибку в самом начале построения mapset:
MDR_TRIM_ADDR.CXX
346
Приходится из карты России исключать следующие квадраты: тот где Ухта и тот где Омск. Прошу прощения за сумбур, но как их правильно сопоставить с файлами не знаю. После этого mapsource строит mapset.
Если попробовать взять все *.IMG из релиза и инсталлировать с помощью mapsettoolkit.exe, то cgpsmapper выдаёт ошибку на файлах 63240009.IMG, 63240008.IMG, 63240006.IMG. Ошибка:
Error: Access violation at 0x004B0D27 (tried read from 0x00000028), program terminated.
Прошу прощения что багрепорт не очень информативен, но с инструментами для работы с этим чёрным ящиком garmin я не на ты.
Да, я знаю, это глюк маппера - он не справляется с построением адресного индекса.
Исправить можно, удалив из реестра ссылку на Mdr.
Поиск отключится, но зато будет грузиться прибор.
С адресами действительно проблема. Вчера искал в Москве улицу Белобородова. А она нашлась в Иркутске на который ругались что он прорисован нелегальными данными. Данные данными, а вот посмотреть как там сделана нумерация и присвоение тэгов улиц надо! По всей России в навигаторе (GPSMap 60CSx) поиск можно осуществлять только по ним.
Немного оффтоп:
буквально вчера скачал russian_federation. распаковал в c:\garmin\russian_federation. Запустил install.bat. Mapsource всё увидел.
А в навигатор заливаю программой img2gps (http://www.img2gps.co.cc/img2gps_281_setup.exe) для её работы нужен sendmap20 (http://cgpsmapper.com/download/sendmap20.zip) файлы должны лежать в одной папке.
Тупо запустил img2gps, выбрал Load Folder, зашел в c:\garmin\russian_federation нажал “Открыть”, затем Select all.
Затем Upload to GPS. И всё наслаждаемся Россией в навигаторе.
С поиском городов без проблем, а вот с улицами пока беда.
а вот поиск по улицам как раз и находится в MDR.
правда, маппер его всё ещё толком делать не умеет.
тут ещё тонкость: для мапсорса и для приборов эти MDR - разные.
из мапсорсового в приборный умеет делать только сам мапсорс.
из приборного мапсорсовый - никто.
а img2gps и sendmap просто его всегда обрезают, поэтому поиск теряют.
Ясно, придётся выбирать: или поиск по улицам, или Костромская область А автору маппера писали bug report?
из мапсорсового в приборный умеет делать только сам мапсорс.
Выходит если заливать карты простым копированием через card reader, который представляет собой usb mass storage, то поиск по улицам совершенно невозможен, так? Только если мапсорсом прямо в прибор?
И ещё вопрос: russian federation от 16.03 не содержит некоторых изменений, которые я делал явно до 15-го числа. Каким образом импортируются данные osm?
Ну почему же - я например мапсоурсом пишу на флешку (вроде бы есть исправленный MS, который может просто в директорию на HDD писать, но я пока этим не заморачивался), а потом с полученным gmapsupp.img можно делать что угодно, в том числе записать в навигатор.
Скажите, сегодняшний 2009-03-20_russian_federation.rar заметно меньше по объёму предыдущего и ещё появился 2009-03-20_russia.rar, чуток меньше предыдущего russian_federation. Что изменилось и что есть что?
russian_federation - сделан на старых данных клаудмейд (11 марта), но в прошлых сборках не учитывались мультиполигоны. сейчас их пофиксили, поэтому собрал заново. первый раз залилось не полностью, перезалью.
liosha, поправь плиз конфиг для домов. теперь так как и мапник и осмарендер корректно отображают addr:housenumber думаю стоит отказаться от повсеместного использования name для записи номера дома.
пример http://www.openstreetmap.org/browse/way/25435092