Мне очень нужна хорошая база городов мира. Те, что есть у меня сейчас, не устраивают по нескольким причинам. Основное: плохой перевод, неравномерное покрытие, неточные координаты. База городов OSM хороша точностью координат и тем, что она живет сама по себе, становясь только лучше. Покрытие не очень равномерное, но вполне соответствует интернет-активности пользователей в разных регионах.
Есть проблемы с переводом названий на русский и на английский.
Вопрос с английским языком я сейчас выясняю и изучаю форум. Видимо, в мире не принято переводить названия, которые написаны латиницей (даже с диакритическими знаками).
Но с русским языком всё ясно: тег «name:ru» должен содержать кириллицу. Сейчас name:ru есть в 1793 городах из 6616 для city и в 5191 городе из 56 221 для town.
Я бы хотел «перевести» названия городов базы OSM и дальше пользоваться этой базой, т.к. свою базу мне надоело поддерживать.
План по этапам
перевод [place=city] на русский;
перевод [place=city] на английский и корректное размещение названий по тегам name, int_name (что это?), name:en;
численность населения, если она не указана (уже есть у половины точек);
то же для остальной базы городов [place=town];
…
Profit!
Как я планирую это делать?
Использовать свои базы. Они формировались из разных открытых источников и редактировались под давлением общественности. Там есть названия и координаты. Можно соотносить названия с координатами. Если точки находятся в пределах 1 км, то это один город. Можно сравнить названия на предмет фонетического соответствия. Если они более-менее похожи, то ошибки нет.
Парсить Википедию. Там тоже есть координаты для проверки.
Очевидно, на каком-то этапе понадобится пакетно загрузить данные обратно в базу OSM. Как это сделать? Не нарушит ли это правил OSM? На форуме нашел только старую тему про перевод столиц.
Да, это тема для википедии, а не OSM. В нашем проекте такие массовые необоснованные правки не приветствуются и будут быстро отменены. «Давление общественности» — плохой источник, координаты — откуда они? С гуглокарт?
В ОСМ никто не может гарантировать, что точка и многоугольник, обозначающие населённый пункт, не будут “передвинуты”, переименованы, удалены, и что информация на 100% соответствует действительности.
Кроме того, несмотря на то, что узлы, линии и релейшены в базе ОСМ имеют свои номера id, никто не может гарантировать, что эти id будут неизменны.
Кроме того, возможны несуразицы с “привязкой” населённых пунктов к районам, областям, краям, муниципальным образованиям и т.д., что, в свою очередь может привести к том, что два одноимённых населённых пункта в разных районах могут быть восприняты как один н. п. либо один и тот же город воспринят как два н.п., потому что названия на точке и на границе различаются.
Насчёт собственно перевода тоже не всё так просто. Где-то названия переводятся, где-то транслитерируются, где-то транскрибируются, где-то названия на разных языках могут быть вообще непохожи.
Вопрос с переводами названий уже поднимался в темах про мультиязычные адреса. Однозначного и автоматизируемого решения, насколько я знаю, нет.
Есть, но оттуда это очень сложно достать. А OSM позволяет получить список городов с координатами и названиями. Просто этот список сейчас довольно низкого качества.
В OSM есть тег для русского названия, но он не заполнен. Я заполняю. При чем тут Википедия?
Что значит «необоснованные»? Какие нужны обоснования?
Разные источники. Кажется, карты Гугл еще не были запущены, когда я собирал эти списки. Российские названия проверялись по КЛАДР. Да, они старые, но населенные пункты больше 1000 жителей не эволюционируют так быстро, чтобы это стало проблемой.
Кстати, «давление общественности» — это, кажется, основной источник данных для OSM.
Это не важно. Меня интересуют только координаты и названия. А изменения базы, я надеюсь, будут только к лучшему.
Можно родить решение или ждать сто лет, когда всё само случится.
В первую очередь я говорю о городах с населением более 50 000 человек. Для подавляющего большинства из них уже есть устоявшееся название на русском. Нужно только найти его.
Я не предлагаю «автоматизированное решение». Это будет ручное решение с удобным интерфейсом для получения максимального количества данных из открытых источников.
Импорты в OSM не приветствуются. Они вредят как самим данным, так и мотивации сообщества.
Лучше всего вместо импорта сделать валидатор, который бы показывал расхождение между текущей картиной в данных и той, которую бы вам хотелось получить. Показать там, например, картинку с непереведёнными городами с предложениями вариантов перевода и кнопкой загрузки в JOSM - найдутся желающие позаполнять.
Есть довольно старый бумажный словарь географических названий мира (СГНЗС). Он не обновлялся с 80-х и там поисчезали даже некоторые страны (включая крупнейшую). Если данные оттуда достаточно лицензионно приемлемы, то его можно использовать хотя для верификации правильности написания. Парсить его в машиночитаемый вид очень сложно. Впрочем кто-то на викизнании постепенно это делает - осенью было только А и Б. Сейчас дошло до П
Да, механизм планируется именно такой. Будет сводная таблица с названием из OSM, названием из Wiki, из geonames, из Яндекс-поиска и еще откуда-нибудь. Будет возможность выбрать один из этих вариантов или предложить свой.
Просто я в итоге сяду за эту админку и буду проверять по 600 названий в день, чтобы за 10 дней закрыть эту проблему. И боюсь, что на «загрузку в JOSM» будет уходить слишком много времени. А желающие позаполнять будут делать это целый год, судя по текущему состоянию базы. Вот такие у меня опасения.
Накинулись на человека)
Те русские названия, которые взяты с карт/газетиров, вполне можно залить, с отдельного аккаунта.
А безграмотность так называемой общественности ужасает. Пекин-Бейджынг, Йокогама-Ёкохама. Продолжите сами
Ok. А данные из Википедии подходят? То есть, если в русской Вики есть статья про город N (координаты совпадают) и русское название, могу я его использовать? Можно придумать критерий качества статьи (много букв; нет предупреждений, что данные не проверены…)
Я пока сам не в курсе, какого качества там данные, т.к. делал лишь поверхностный осмотр, а не массовый парсинг. Но какие-то стереотипы уже есть на эту тему?
Вы путаете, подменяете понятия. Это безграмотность конкретного человека. Вот вы заметили и исправили. Это уже общественное.
Отлично. Сделаю так же, но в 10 раз лучше. Хорошо, что пакетная загрузка в принципе возможна.
Там Роскартография почти везде, где можно. По крупным городам всё должно быть ок.
Заливки по деревням обычно делаются транскрибированием, без источников.
Какая лицензия на данные у этих открытых источников? Если не Public Domain / CC0, то скорее всего их нельзя использовать. Если лицензия хоть на 1 источник вам не известна - нельзя использовать.
Под какими условиями ваши базы “редактировались под давлением общественности”? Если не только вами, то было ли какое-либо соглашение на вносимые данные от пользователей? Если не было (с некоторой натяжкой таким соглашением, наверное, можно считать disclaimer, что всё вносимое переходит под авторство владельца сайта и т.п.), то опять данные нельзя использовать.
Насчёт Википедии - тоже вопрос. Википедия вроде как под CC-BY-SA 3.0 Unported License, что не позволяет напрямую копировать данные. У нас в вики есть раздел про сотрудничество, но я не вижу в нём прямого разрешения копировать текст из Википедии. Кто-нибудь может прокомментировать?
Про координаты - не согласен. Использование координат из текста статьи, ИМХО, является созданием 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) по всему миру или по региону?