Перевод названий всех городов

Привет.

Мне очень нужна хорошая база городов мира. Те, что есть у меня сейчас, не устраивают по нескольким причинам. Основное: плохой перевод, неравномерное покрытие, неточные координаты. База городов OSM хороша точностью координат и тем, что она живет сама по себе, становясь только лучше. Покрытие не очень равномерное, но вполне соответствует интернет-активности пользователей в разных регионах.

Есть проблемы с переводом названий на русский и на английский.
Вопрос с английским языком я сейчас выясняю и изучаю форум. Видимо, в мире не принято переводить названия, которые написаны латиницей (даже с диакритическими знаками).
Но с русским языком всё ясно: тег «name:ru» должен содержать кириллицу. Сейчас name:ru есть в 1793 городах из 6616 для city и в 5191 городе из 56 221 для town.

Я бы хотел «перевести» названия городов базы OSM и дальше пользоваться этой базой, т.к. свою базу мне надоело поддерживать.

План по этапам

  1. перевод [place=city] на русский;
  2. перевод [place=city] на английский и корректное размещение названий по тегам name, int_name (что это?), name:en;
  3. численность населения, если она не указана (уже есть у половины точек);
  4. то же для остальной базы городов [place=town];
  5. Profit!

Как я планирую это делать?

Использовать свои базы. Они формировались из разных открытых источников и редактировались под давлением общественности. Там есть названия и координаты. Можно соотносить названия с координатами. Если точки находятся в пределах 1 км, то это один город. Можно сравнить названия на предмет фонетического соответствия. Если они более-менее похожи, то ошибки нет.

Парсить Википедию. Там тоже есть координаты для проверки.

Очевидно, на каком-то этапе понадобится пакетно загрузить данные обратно в базу OSM. Как это сделать? Не нарушит ли это правил OSM? На форуме нашел только старую тему про перевод столиц.

Так в Википедии это все есть. Правда нужно чтобы город был как в анг. так и в русской версии.

Да, это тема для википедии, а не OSM. В нашем проекте такие массовые необоснованные правки не приветствуются и будут быстро отменены. «Давление общественности» — плохой источник, координаты — откуда они? С гуглокарт?

В ОСМ никто не может гарантировать, что точка и многоугольник, обозначающие населённый пункт, не будут “передвинуты”, переименованы, удалены, и что информация на 100% соответствует действительности.
Кроме того, несмотря на то, что узлы, линии и релейшены в базе ОСМ имеют свои номера id, никто не может гарантировать, что эти id будут неизменны.
Кроме того, возможны несуразицы с “привязкой” населённых пунктов к районам, областям, краям, муниципальным образованиям и т.д., что, в свою очередь может привести к том, что два одноимённых населённых пункта в разных районах могут быть восприняты как один н. п. либо один и тот же город воспринят как два н.п., потому что названия на точке и на границе различаются.

Насчёт собственно перевода тоже не всё так просто. Где-то названия переводятся, где-то транслитерируются, где-то транскрибируются, где-то названия на разных языках могут быть вообще непохожи.
Вопрос с переводами названий уже поднимался в темах про мультиязычные адреса. Однозначного и автоматизируемого решения, насколько я знаю, нет.

Есть, но оттуда это очень сложно достать. А OSM позволяет получить список городов с координатами и названиями. Просто этот список сейчас довольно низкого качества.

В OSM есть тег для русского названия, но он не заполнен. Я заполняю. При чем тут Википедия?

Что значит «необоснованные»? Какие нужны обоснования?

Разные источники. Кажется, карты Гугл еще не были запущены, когда я собирал эти списки. Российские названия проверялись по КЛАДР. Да, они старые, но населенные пункты больше 1000 жителей не эволюционируют так быстро, чтобы это стало проблемой.

Кстати, «давление общественности» — это, кажется, основной источник данных для OSM.

Это не важно. Меня интересуют только координаты и названия. А изменения базы, я надеюсь, будут только к лучшему.

Можно родить решение или ждать сто лет, когда всё само случится.
В первую очередь я говорю о городах с населением более 50 000 человек. Для подавляющего большинства из них уже есть устоявшееся название на русском. Нужно только найти его.

Я не предлагаю «автоматизированное решение». Это будет ручное решение с удобным интерфейсом для получения максимального количества данных из открытых источников.

Импорты в OSM не приветствуются. Они вредят как самим данным, так и мотивации сообщества.
Лучше всего вместо импорта сделать валидатор, который бы показывал расхождение между текущей картиной в данных и той, которую бы вам хотелось получить. Показать там, например, картинку с непереведёнными городами с предложениями вариантов перевода и кнопкой загрузки в JOSM - найдутся желающие позаполнять.

Есть довольно старый бумажный словарь географических названий мира (СГНЗС). Он не обновлялся с 80-х и там поисчезали даже некоторые страны (включая крупнейшую). Если данные оттуда достаточно лицензионно приемлемы, то его можно использовать хотя для верификации правильности написания. Парсить его в машиночитаемый вид очень сложно. Впрочем кто-то на викизнании постепенно это делает - осенью было только А и Б. Сейчас дошло до П

Да, механизм планируется именно такой. Будет сводная таблица с названием из OSM, названием из Wiki, из geonames, из Яндекс-поиска и еще откуда-нибудь. Будет возможность выбрать один из этих вариантов или предложить свой.

Просто я в итоге сяду за эту админку и буду проверять по 600 названий в день, чтобы за 10 дней закрыть эту проблему. И боюсь, что на «загрузку в JOSM» будет уходить слишком много времени. А желающие позаполнять будут делать это целый год, судя по текущему состоянию базы. Вот такие у меня опасения.

Был бы вразумительный инструмент (валидатор) - с удовольствием присоединился к заполнению. Русских переводов названий реально очень не хватает.

http://forum.openstreetmap.org/viewtopic.php?id=19708 - есть что-то подобное в украинской ветке форума

для русских названий см. http://toolserver.org/~kentaur/osm_wp/show_osm_wp.php?lang=ru&

Накинулись на человека)
Те русские названия, которые взяты с карт/газетиров, вполне можно залить, с отдельного аккаунта.
А безграмотность так называемой общественности ужасает. Пекин-Бейджынг, Йокогама-Ёкохама. Продолжите сами :slight_smile:

Ok. А данные из Википедии подходят? То есть, если в русской Вики есть статья про город N (координаты совпадают) и русское название, могу я его использовать? Можно придумать критерий качества статьи (много букв; нет предупреждений, что данные не проверены…)

Я пока сам не в курсе, какого качества там данные, т.к. делал лишь поверхностный осмотр, а не массовый парсинг. Но какие-то стереотипы уже есть на эту тему?

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

Отлично. Сделаю так же, но в 10 раз лучше. Хорошо, что пакетная загрузка в принципе возможна.

Там Роскартография почти везде, где можно. По крупным городам всё должно быть ок.
Заливки по деревням обычно делаются транскрибированием, без источников.

Можно только в 2 раза :slight_smile:
Имхо, надо

  1. разделение по типам объектов
  2. разделение по территории

Мне на одной странице выдало городок в Англии и железную дорогу в Китае.

Ну а потом чуток порекламировать - и дело само пойдёт. Вон, можно со свежей темой по Эстонии ознакомиться (читать с середины или даже с конца).

Если не ошибаюсь то это уже осуществлено. http://osm.cupivan.ru/validator/#RU-ULY/wiki_places только берутся не названия а ссылки на эти вики-статьи.

Какая лицензия на данные у этих открытых источников? Если не Public Domain / CC0, то скорее всего их нельзя использовать. Если лицензия хоть на 1 источник вам не известна - нельзя использовать.

Под какими условиями ваши базы “редактировались под давлением общественности”? Если не только вами, то было ли какое-либо соглашение на вносимые данные от пользователей? Если не было (с некоторой натяжкой таким соглашением, наверное, можно считать disclaimer, что всё вносимое переходит под авторство владельца сайта и т.п.), то опять данные нельзя использовать.

Насчёт Википедии - тоже вопрос. Википедия вроде как под CC-BY-SA 3.0 Unported License, что не позволяет напрямую копировать данные. У нас в вики есть раздел про сотрудничество, но я не вижу в нём прямого разрешения копировать текст из Википедии. Кто-нибудь может прокомментировать?

Текст нельзя, интервики-ссылки (по сути, будет работа только с ними) можно. Те же самые интервики лежат на Викиданных под CC0.

UPD: Забыл, что ещё и координаты надо, но сути это не меняет. Википедия не база, а отдельная фактическая информация из неё неохраноспособна.

Про интервики - согласен. Раз CC0, можем брать.

Про координаты - не согласен. Использование координат из текста статьи, ИМХО, является созданием derivative work, а значит должно быть share alike, что OSM явно не выполняет.

Есть данные Natural Earth: «All versions of Natural Earth raster + vector map data found on this website are in the public domain».

Есть данные Geonames: «This work is licensed under a Creative Commons Attribution 3.0 License». Можно им написать и попросить разрешение использовать данные для OSM.

Но мне кажется, наименования географических объектов — это общественное достояние. С численностью — вопрос.

Мне присылали e-mail «исправьте пожалуйста пос. Железнодорожный, у него какие-то левые координаты» или «у вас в базе три Москвы». Я лез в MySQL-базу и исправлял. На сайте никаких соглашений нет. Это какие условия?

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

Координаты и сам набор городов я не буду менять. Да и вообще не понимаю, как может существовать копирайт на географические наименования. Если я из Википедии узнал, что есть город Усть-Каменогорск, то что теперь? Нельзя использовать это знание?

Спасибо за ссылку, но там ад какой-то. 15 минут смотрел на эту таблицу, но так и не понял, как этим пользоваться. Что значит кнопка upd? Что должна делать кнопка JOSM, почему она этого не делает? Как мне выбрать все приличные города (city) по всему миру или по региону?