Pull to refresh

Comments 35

А не может быть такого, что в «Спутнике» делался просто автотранслит en -> ru с какими-то минимальными хотфиксами? Оно ведь должно давать приемлемые результаты.
Возможно и такое. Там ведь свой GoPnik вместо Mapnik'а. На этот вопрос лучше ответят разработчики «Спутника».
Я, кстати, связывался с разработчиками Спутника по данному поводу. Они мне тогда отвечали, что для карт, курпнее 9-го масштаба, для данных OSM используют теги name:ru. Если в базе нет русских названий — добавляют вручную. Но если посмотреть на их карты, то там очень много добавлено переводов по сравнению с тем, что я получил для того же Китая, взяв уже имеющиеся переводы.
Импорт в Postgres занимает длительное время, а существуют ли дампы или бинарники базы, в которые уже импортированы данные? С возможностью апдейта.
Я искал, но к сожалению не нашел. Возможно у Вас получится лучше. Но я думаю не просто же так OpenStreetMap распространяет данные карт в форматах PBF и OSM XML, а не pg_dump-овские файлы. Наверное, есть тому причины. Предположу, что есть проблемы с версионностью Postgres'а и PostGis'а. Чтобы дамп без ошибок перелился, надо версии иметь совпадающие. При несоответствии версий кто поручится за целостность восстановления базы из дампа?
Кстати, я искал не только дампы баз, но и сгенерированные тайлы в архивах. Но тоже не нашел. К слову, размер тайлов на весь Земной шар до 19-го масштаба составляет около 5,5ТБ. Это то из PBF файла размером всего то 18,5ГБ.
На i7 / 32GB RAM / SSD импорт 400-гиговой базы занимает всего часов 12.
Если у вас нет похожей машины, вы всё равно потом не сможете нормально работать с полной базой.
В рамках моих профессиональных интересов меня интересует не сама возможность работать с полной базой, а возможность сгенерировать тайлы вплоть до 17-го масштаба. Это однократная задача. Я лишь периодически перегенерирую тайлы, например, Москвы, когда, например, разобрался как рисовать станции метро с «правильными» картинками.
Другое дело, что меня интересует возможность строить маршруты с помощью PgRouting. Вот тут не обойтись без хорошего железа. Но пока мои поиски не привели хотя бы к одному успешному проекту, где импортировался бы весь Planet.osm. А по частям/регионам догружать стандартный osm2pgrouting не умеет. Может Вы чего посоветуете?
Для роутинга положительный опыт водится только с двумя движками — gosmore и osrm. На нынешнем размере планеты для gosmore дамп без вариантов нужно резать на куски, но поднимать его проще. osrm способен заглотить всю планету, но очень паметежорок.
Подскажите какие ключи Вы используете для osm2pgsql, что импорт у Вас занимает всего 12 часов. Я лично почувствовал эффективность --drop и --unlogged. Остальные настройки иногда даже ухудшали время импорта.
Хоть я и вносил многое на OSM, но как же недружелюбен, а поэтому и далёк от людей этот гиковский OSM, по сравнению даже с тем же Wikimapia. Там задать название на разных языках можно за один клик, поменять язык интерфейса и всех названий — за один клик. Но на openstreetmaps (что .ru, что .org) нихрена подобного нет.
А всё потому, что гики и основатели OSM гики (или птицы) гордые, рекламу повесить и на заработанные деньги нанять нормальных разработчиков религия не позволяет, поэтому всё сделано через жопу, и удобство по прежнему в хвосте что по сравнению с редактором яндекс карт, что с wikimapia.
Извините, наболело. И при всё при этом на смартфоне я пользуюсь картами maps.me на основе OSM, так как других таких в оффлайне нет. Видимо потому что пока не заносило меня в Китай.
Да ладно вам, в один клик добавляется перевод. Скриншот: img-fotki.yandex.ru/get/6707/15441060.0/0_b56ef_fca2ac85_orig.png
Слишком это неочевидно — спрятано под плюсом, ни разу туда даже мышку не наводил.
Да и потом неправильно это — иметь name без привязки к языку. Сравни с wikimapia, где изначально идет привязка к языку интерфейса, и отображение на карте сразу в языке интерфейса или если его нет, то на другом занесённом. Такая мелочь, но там продуманно, а здесь — нихрена.
Простановка названии продумана очень хорошо: wiki.openstreetmap.org/wiki/RU:%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F К сожаление, в общем случае название это очень нетривиальная и многогранная сущность.

OSM позволяет размечать местность с разными уровнями детализациями и позволяет каждому заниматься тем, что ему нравится. Запретить указывать название без указания языка? Может ещё запретить обозначать здания без указания количества этажей? Оба предложения кажутся мне примерно одинаково странными: этажность может быть и неизвестна если обрисовывать спутниковые снимки, да и язык названия, в общем, может быть неизвестен. В любом случае требование к пользователю сделать что-то, чего он не хочет — зло.

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

И вообще есть предложения не маяться дурью и не повторять уже сделанную работу, а просто ставить для географических объектов ссылки на wikidata, чтобы переводы названия брались уже оттуда ( lists.openstreetmap.org/pipermail/talk/2015-May/072982.html ).

Тут я почувствовал, что меня тянет написать ещё пару-тройку абзацев, но оборву себя.
Ссылка не прояснила, что мешает любое многогранное имя сразу привязывать к выбранному языку.
А мне не ясно, почему по-вашему «неправильно это — иметь name без привязки к языку».

Зато я довольно неплохо представляю себе ситуацию, как иностранец приезжает вна Украину, или вот давайте даже в Крым, обнаруживает себя на улице, название которого в OSM не обозначено. Он видит адресную табличку с каким-то названием и хочет его указать в OSM. Перепечатать он может, но на каком это языке ему не известно. И в таком случае он воспользуется просто тегом name.
Он дурак что ли, не понимает в какой он стране и на каком языке надписи в этой стране?
Лучше пусть название переведёт на свой родной английский язык и укажет его по умолчанию для него в en:name, ведь у него же наверняка не установлена ни украинская, ни русская расскладка. По твоей логике он бы написал английское название в name, вот местные бы жители «обрадовались».

В реальном мире название объекта не может быть без привязки к языку. Если пользователям не показать изначально, название на каком именно языке они заполняют, то не стоит ожидать что люди будут указывать на других языках.

Вообщем это пустой спор, невозможно чего-то доказать человеку, который не хочет понимать аргументы оппонента.
Вполне можно не понимать на каком языке название даже зная в какой ты стране. Гипотетический путешественник не может написать название на английском, он же не знает языка и не может перевести. И не знает, на каком языке это написано на табличке: логика ему говорит, что 3 года назад таблички, видимо, вешали с названиями на украинском, сейчас, видимо, с названиями на русском, но когда конкретно эта табличка повешена — фиг знает.

Не бывает названия без языка. Не бывает здания без количества этажей. У дороги можно указать количество полос, гладкость покрытия, тип покрытия (это разные характеристики. асфальт может быть гладким и раздолбанным), максимальную разрешённую правилами скорость и т.д. Не бывает дорог без этих характеристик. Нужно ли заставлять пользователя всё это заполнять? Пожалуй, нет. Так почему нужно пользователя заставлять указывать для названия язык? Чем принципиально отличается свойство «язык названия» от свойства «покрытие дороги»?
В этом случае путешественик должен задать название на своём языке. Потому что на местном он ввести не сможет — нет раскладки клавиатуры.
Он дурак что ли, не может запустить «таблицу символов»?
Что за таблица символов? Мы про мегагиков каких-то говорим или обычных людей?
Если вы не поняли, это было алаверды к вашему странному аргументу про путешественника-полиглота. Но если мы говорим, например, про активных редакторов OSM на данный момент, то, думаю, большинство из них очень даже гики.

Вообще сформулируйте *чётко* свою позицию. Пока она выглядит примерно как: «Давайте запретим в интернете использовать тег <img> без атрибутов alt и title!». Оно может и содержит здравую мысль и желание сделать мир лучше, но практически нереализуемо, совершенно непонятно, кому это нужно настолько, чтобы впрягаться в такой сизифов труд, тем более что в некоторых аспектах от такого изменения станет хуже.
ИМХО, бессмысленная и бесполезная затея.
На примере того же Китая — карта с русскими названиями центральных объектов( рек, крупных городов, озер) есть на любых картах — даже на яндексе.
А мелких( небольших городов, рек, деревень, адресов) нет. И русская транскрипция не спасет ни разу. Найти по русскому названию город Циньюань или деревню Дайоу невозможно — все равно не догадаешься, что за оригинальное название было.
Вот вам пример — город Лонцзинь. Это примерно в 200 км от границы с Россией. Найдите его на карте.
Не Китаем единым, рассматривается же технический вопрос. И пример с Китаем показан как наиболее яркий.
То, что нужен простой механизм отображения локализованных тайлов, причем локализованных для любого языка, сомнений не вызывает?
Для английского — сомнений никаких. Для любого — абсолютно бесполезно.
Все названия на любом языке мира локализованы на английский, и на примере выше я легко найду город Qingyuan, деревню Dayou или город Longjing.
А если будет звуковая транскрипция на иврит, хинди и малагасийский — это никому не поможет.
ИМХО, достаточно иметь два варианта для каждого тайла — локальный и английский.
Да, именно так и сделано в wikimapia, но адепты OSM этого не понимают.
Я хочу видеть на карте Кёльн, а не только Cologne или Köln.
а это на какой из трёх улиц в городе N?
Транслировать Дайоу в Dayou для человека, мало знакомого с транслитерацией китайских топонимов, нетрудно. А вот Циньюань в Qingyuan или Лонцзинь в Longjing намного сложнее. Поэтому тот, кому нужна русская версия должен иметь возможность её добавить.
Ваши аргументы уходят за границы данной статьи. Но Вам скажу, что использование Яндекс-карт как и Гугл-карт ограничено лицензионным соглашением, которое имеет свои «особенности» для юр.лиц., в т.ч. по количеству запросов к серверам (тайловым, геокодера и т.п.). В этом смысле OpenStreetMap не ограничивает разработчиков, особенно если Ваш ресурс высоконагруженный (более 1 млн.запросов в сутки). Но выбор реализации веб-карт — это выбор разработчика. Решать Вам.
Есть еще аргументы в пользу OpenStreetMap, например, возможность реализации оффлайного тайлового сервера, в закрытых сетях, без доступа к данным серверов (Яндекса, Гугла и даже OpenStreetMap'а), или в случае обрыва связи с упомянутыми серверами (хотя бы из-за санкций :) ). Без собственного тайлового сервера Вы не сможете это реализовать. Вот тут-то список возможных реализаций веб-карт сильно проредеет.
Конвертирую Россию, Беларусь и Украину (1.6 ГБ pbf) в postgres.

работает почти сутки, 34 гига уже БД.

Как вам удалось сделать такую маленькую базу Китая? 500 мб в БД из 300 мб pbf?
В Китае, видимо, слабо заполнены карты. У меня platet-latest.osm.pbf в БД занимает 144ГБ. А pbf файл Китая занимает всего 209 Мб. Возможно, он был еще меньше на момент написания статьи.
Sign up to leave a comment.

Articles