You are not logged in.

Announcement

*** NOTICE: By 30th of September 2022 the forum.openstreetmap.org will be retired, please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators. We expect the migration of data will be finished by that date, you can follow its progress here.***

#26 2010-06-07 22:40:41

glebius
Member
From: Moscow, RU
Registered: 2009-02-24
Posts: 1,178

Re: add name:ru to all objects in Russia dump that have name:en

Чего-то я видимо не понимаю, но как это связано с выборкой русских наименований понять я не могу. Непонятно чем name:en такой особенный. Тогда уж name:* надо делать было.

Согласен.

Да и правка по дампу само по себе занятие очень стрёмное. Помимо драных релейшнов, есть вероятность принести в базу все косяки из дампа - а они там бывают, причем довольно незаметные.

Может быть и в этом дело. Разбираюсь.

Offline

#27 2010-06-07 23:07:45

ikz
Member
From: Тартария, Набережные Челны
Registered: 2009-09-18
Posts: 942

Re: add name:ru to all objects in Russia dump that have name:en

glebius wrote:

Алгоритм "иметь возможность стопроцентно программно выбирать именно русские наименования" тривиальнейший: если name:ru есть, берем его, если нету - берем просто name. Все.

Ну например рекомендуемый конфиг к mkgmap говорит, что в гармин попадает название в порядке приоритетности: name:ru, name:en, name. Очень полезно если делается карта сразу нескольких стран.

Ну вот и надо править конфиги mkgmap для приоритетности name:ru, name, name:en, а не генерировать стотыщпицот дублирующихся имен...
Либо, если через конфиги приоритеты не меняются - сделать препроцессор.

Offline

#28 2010-06-07 23:14:04

glebius
Member
From: Moscow, RU
Registered: 2009-02-24
Posts: 1,178

Re: add name:ru to all objects in Russia dump that have name:en

Да, проблема оказалась в дампе. Буду общаться с sim как избежать подобного в будущем.

ikz,

> Ну вот и надо править конфиги mkgmap для приоритетности name:ru, name, name:en

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

Offline

#29 2010-06-07 23:31:21

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: add name:ru to all objects in Russia dump that have name:en

glebius wrote:

То, что name:ru появилось на приграничных объектах, на которых его _не было_ и оно неверно - это collateral damage, без него никак. Если выставить там верный name:ru, то дальнейшие автоматические правки его не тронут.

Ну совсем обойтись может и не удастся, но свести его масштаб до единичных случаев вполне реально:
1. Проверяем наличие в именах нерусских символов (все кроме пробела, кириллицы цифр и знаков пунктуации). Если есть, то объект не трогаем (можно заодно и произвести запись в отдельный лог).
2. Проверяем попадание объекта на границу (и за границу), поступаем аналогично.
3. Берем в качестве области не всю Россию, а только те ее части, в которых нет официальных языков, отличных от русского.

Offline

#30 2010-06-08 10:39:40

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Ilis wrote:

Вроде неплохой пример, поясняющий разницу, есть в вики:

# name=Channel Tunnel - Default name
# int_name=Eurotunnel - Internationally known as
# nat_name=That debt ridden hole in the ground - Nationally known As
# reg_name=Gateway to France - Regionally known As
# loc_name=The way to Carrefour - Locally known As
# old_name=A long swim - Historically or previously known As
# alt_name=Chunnel - when alternative name exists (which doesn't fit in one of the tags name above)

Увы, этот пример ничего не поясняет, а лишь иллюстрирует тот очевидный факт, что одна и та же вещь может иметь массу различных наименований.
При этом остаются открытыми два вопроса:
1. Зачем всю эту массу наименований переносить на карту?
2. Если уж 1 так необходимо, по каким именно критериям следует заполнять различные теги?

Offline

#31 2010-06-08 13:15:22

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:

Увы, этот пример ничего не поясняет, а лишь иллюстрирует тот очевидный факт, что одна и та же вещь может иметь массу различных наименований.
При этом остаются открытыми два вопроса:
1. Зачем всю эту массу наименований переносить на карту?
2. Если уж 1 так необходимо, по каким именно критериям следует заполнять различные теги?

Да, пример прояснял не эти вопросы, а только вопрос "Для чего нужны разные теги?" smile

2. Разные теги надо заполнять по критериям смысла этих тегов.
1. Рендереры и конвертеры могут выбирать теги по приоритетам, не обязательно тащить всю массу.

Offline

#32 2010-06-08 18:14:48

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Vovanium wrote:

а) официальный язык один (иначе хрен знает что писать);

Это серьезное возражение.
Очень серьезное.
И, пожалуй, ЕДИНСТВЕННОЕ серьезное.
Вот только в НАШЕМ случае официальный язык как раз один. Так что, учитывая местные особенности, возражение неактуальное.

б) этому предложению последуют все без исключения (иначе логика определения языка написания name не будет работать).
name — тег низкоприоритетный. Его стоит использовать в качестве затычки, если названия на приоритетном языке не нашлось (или приоритетный язык не выбран).

Строго говоря, ЛЮБОЙ механизм будет надежно работать лишь в случае, если он поддерживается ВСЕМИ БЕЗ ИСКЛЮЧЕНИЯ.
То есть приведена совершенно очевидная банальность, которая для тега nabe выполняется ровно с тем же успехом, что и name:ru или name:en или для любого другого.
Не аргумент это в данном случае ни разу.

И да, тупая программа — хорошая программа. Зачем решать задачу сложно, если можно решить просто? Зачем и кому нужны эти пляски с официальными языками, когда можно просто выбирать самый первый присутствующий в списке языков?

Вот именно результат такого "простого" решения мы и наблюдаем.

Offline

#33 2010-06-08 18:31:38

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

glebius wrote:

Смысл правки в том, чтобы иметь возможность стопроцентно программно выбирать именно русские наименования при наличии множественных.

Ну да, результат работы "стопроцентно программного алгоритма выбора" мы и имели счастье наблюдать непосредственно в работе.
И здесь совершенно очевидно, что:
- либо такой безошибочный алгоритм существует. И пи этом никто не мешал реализовать его в программе, которая буде ОБРАБАТЫВАТЬ локальный OSM-файл, а не корежить данные в базе.
- либо такого алгоритма нет и принципиально не может существовать, тогда просто НЕ СЛЕДОВАЛО пытаться корежить базу АЛГОРИТМОМ, а только и исключительно ручками.
Т.о. на какой бы точке зрения мы не стояли, подобная АВТОМАТИЧЕСКАЯ правка абсолютно бессмысленна.

Косяк вышел из-за неоднозначного поведения tagtransform, он не обрабатывал <notag k="^name:ru$">. То, что name:ru затёрлось на некоторых объектах - мой косяк, буду пытаться исправить.

А проверить на локальной копии было не судьба?
Косяк из-за подхода. Из-за того, что кто-то попытался возложить на алгоритм работу, которую ПРИНЦИПИАЛЬНО на алгоритм возлагать бессмысленно.
Т.е. ошибка не тактическая, а стратегическая.

То, что name:ru появилось на приграничных объектах, на которых его _не было_ и оно неверно - это collateral damage, без него никак.

Неправда ваша.
Без него молжно обходиться ВСЕГДА, если работать исключительно со своей локальной копией.

Если выставить там верный name:ru, то дальнейшие автоматические правки его не тронут.

Так може, его и надо было выставлять ручками, а не автоматом?

glebius wrote:

Ну например рекомендуемый конфиг к mkgmap говорит, что в гармин попадает название в порядке приоритетности: name:ru, name:en, name. Очень полезно если делается карта сразу нескольких стран. Считается что пользователю родной язык русский, английский язык он знает, а остальные не знает. Если опустить из списка name:ru, то куча русских городов станут иметь английские названия. Если опустить из списка name:en, то карты неанглоязычных стран станут менее удобны.

Вот именно это и называется тупым алгоритмом.
Прежде чем решать, который из name, name:ru или name:en выбрать, следует выяснить, а на каких, собственно, языках они приведены. Хотя бы для name, хотя для name:ru и name:en - тоже не помешало бы. В каком состоянии сейчас находится name:ru, мы видим и нет никаких гарантий, что подобное не будет повторяться регулярно по самым различным причинам.
Слава Богу, все названия приведены в UTF-8, в которой латинский, кириллический, иероглифический алфавиты, арабская вязь и т.п.  занимают различные диапазоны кодов.
Поэтому простенький (но не тупой!) алгоритм выставления приоритетов должен выглядеть примерно так:
1. Если name:ru на кириллице - выбираем его.
2. Если name на кириллице - выбираем его.
3. Если name:en на кириллице - выбираем его.
4. Если name:en на латинице и не содержит "неосновных" символов - выбираем его.
5. Если name на латинице - выбираем его.
6. Если name:ru на латинице - выбираем его.

Last edited by andriano (2010-06-08 18:33:59)

Offline

#34 2010-06-08 18:38:14

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Ilis wrote:

2. Разные теги надо заполнять по критериям смысла этих тегов.

Кто бы сомневался!
Вопрос в другом: каков именно смысл каждого конкретного тега.
И вообще, есть ли он. В частности, для name:ru на территории России.

Offline

#35 2010-06-08 19:09:13

ikz
Member
From: Тартария, Набережные Челны
Registered: 2009-09-18
Posts: 942

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:

Вопрос в другом: каков именно смысл каждого конкретного тега.
И вообще, есть ли он. В частности, для name:ru на территории России.

Ну наконец-то хоть кто-то кроме меня поставил под сомнение name:ru на территории РФ...
Смысл то в том, что в 99,9% случаев (0,1% на те самые пограничные, а не приграничные объекты) теги name и name:ru будут идентичны. А значит содержат заведомо избыточную информацию.

Offline

#36 2010-06-08 19:40:25

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

ikz wrote:

Ну наконец-то хоть кто-то кроме меня поставил под сомнение name:ru на территории РФ...

Ну да, уже на протяжении 8 постов в этой теме.

Last edited by andriano (2010-06-08 19:41:41)

Offline

#37 2010-06-08 21:11:17

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:
Vovanium wrote:

а) официальный язык один (иначе хрен знает что писать);

Это серьезное возражение.
Очень серьезное.
И, пожалуй, ЕДИНСТВЕННОЕ серьезное.
Вот только в НАШЕМ случае официальный язык как раз один. Так что, учитывая местные особенности, возражение неактуальное.

б) этому предложению последуют все без исключения (иначе логика определения языка написания name не будет работать).
name — тег низкоприоритетный. Его стоит использовать в качестве затычки, если названия на приоритетном языке не нашлось (или приоритетный язык не выбран).

Строго говоря, ЛЮБОЙ механизм будет надежно работать лишь в случае, если он поддерживается ВСЕМИ БЕЗ ИСКЛЮЧЕНИЯ.

Есть механизмы многоальтернативные — они будут работать, если каждым поддерживается одна из альтернатив. Обсуждаемый — нет.

andriano wrote:

То есть приведена совершенно очевидная банальность, которая для тега nabe выполняется ровно с тем же успехом, что и name:ru или name:en или для любого другого.
Не аргумент это в данном случае ни разу.

И да, тупая программа — хорошая программа. Зачем решать задачу сложно, если можно решить просто? Зачем и кому нужны эти пляски с официальными языками, когда можно просто выбирать самый первый присутствующий в списке языков?

Вот именно результат такого "простого" решения мы и наблюдаем.

Меня результат вполне устраивает. Меня не беспокоят два совпадающих значения тега среди десятка.


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#38 2010-06-08 21:43:22

ikz
Member
From: Тартария, Набережные Челны
Registered: 2009-09-18
Posts: 942

Re: add name:ru to all objects in Russia dump that have name:en

Vovanium, зихер-то в том, что эта операция не одноразовая. Ее сейчас придется проделывать регулярно - поддерживать новые и измененные объекты. А на регулярной операции проблем вылезет куда больше. KekcuHa с кладром вручную валидировал каждую правку и то возникали проблемы.
Так стоило ли городить огород? IMHO решать задачу надо было с другой стороны.

Last edited by ikz (2010-06-08 21:43:57)

Offline

#39 2010-06-09 04:27:02

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Vovanium wrote:

Есть механизмы многоальтернативные — они будут работать, если каждым поддерживается одна из альтернатив. Обсуждаемый — нет.

Увы, я эту мысль не понял. "Каждый" - из какого множества? "Обсуждаемый" - что? Обсуждаем правку, а она - женского рода.

Меня результат вполне устраивает. Меня не беспокоят два совпадающих значения тега среди десятка.

Ну если результаты правки:
http://www.openstreetmap.org/browse/way/60827637
http://www.openstreetmap.org/browse/relation/538607
устраивают, боюсь, ты в меньшинстве.

Offline

#40 2010-06-09 04:29:10

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

ikz wrote:

Так стоило ли городить огород? IMHO решать задачу надо было с другой стороны.

Вот именно!
Править ТАКИМ ОБРАЗОМ и С ТАКОЙ ЦЕЛЬЮ в самой базе - абсолютно нелогично.
Хочешь править в базе, в ДАННОМ СЛУЧАЕ - правь ручками.
Хочешь АВТОМАТИЗИРОВАННУЮ правку - правь у себя в локальной копии.

Offline

#41 2010-06-09 09:44:57

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:
Vovanium wrote:

Есть механизмы многоальтернативные — они будут работать, если каждым поддерживается одна из альтернатив. Обсуждаемый — нет.

Увы, я эту мысль не понял. "Каждый" - из какого множества? "Обсуждаемый" - что? Обсуждаем правку, а она - женского рода.

Мы вообще-то про то, следует ли писать name:ru. А механизм — он.
Если писать в name:ru название по-русски (или на другом официальном), то в name можно ввести русское, местноязычное, двуязычное название, и всё это будет работать. Если name:ru не писать, это обяжет писать name только на русском языке, то есть альтернатив нет.


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#42 2010-06-09 11:03:36

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,110

Re: add name:ru to all objects in Russia dump that have name:en

Хочешь править в базе, в ДАННОМ СЛУЧАЕ - правь ручками.

+100500

Без разбору копировать name в name:ru - абсолютно бесцельно.


Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.

Offline

#43 2010-06-09 15:59:16

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Vovanium wrote:

Если name:ru не писать, это обяжет писать name только на русском языке, то есть альтернатив нет.

И это правильно.
Причин несколько:
1. Русский - единственный государственный язык, действующий на всей территории РФ.
2. Русский - один из 6 мировых языков.
3. Русский - 4-й по распространенности язык мира.
4. Просто из любых соображений - единые правила наполнения тегов гораздо лучше, чем отсутствие всяких правил.
В любом случае один из name и name:ru на территории РФ явно лишний. Если употреблять name:ru, тег name оказывается совершенно ненужным.
Кстати, существующая практика употребленя name:?? на территории РФ как раз с этим согласуется (если не считать отдельных названий, набранных латиницей). Например, вот что можно обнаружить : (список далеко не исчерпывающий)

  18      2    22744588 "alt_name:vi"
  20      2   311999396 "name:chm"
  21      3    39300272 "name:cs"
  22     18      421012 "name:de"
  23      1    27503927 "name:el"
  24   1381      421012 "name:en"
  25      3   311999397 "name:eo"
  26      2    39300272 "name:es"
  27      2   658312593 "name:eu"
  28      1    27503927 "name:fa"
  29      2       60189 "name:fi"
  30      4      184217 "name:fr"
  31      1    27503927 "name:he"
  32      2   191892583 "name:hr"
  33      2    39300272 "name:hu"
  34      1    27503927 "name:is"
  35      1    27503927 "name:it"
  36      1    27503927 "name:lv"
  37      1    27503927 "name:nl"
  38      1    27503927 "name:no"
  39      5    53888268 "name:pl"
  40      4       60189 "name:sk"
  41      4       60189 "name:sl"
  42      2       60189 "name:sv"
  43      1    27503927 "name:udm"
  44      5       60189 "name:vi"

Last edited by andriano (2010-06-09 16:01:07)

Offline

#44 2010-06-09 18:26:42

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:
Vovanium wrote:

Если name:ru не писать, это обяжет писать name только на русском языке, то есть альтернатив нет.

И это правильно.
Причин несколько:
1. Русский - единственный государственный язык, действующий на всей территории РФ.

Объясни это татарам и прочим народам, проживающим на территории нашего многонационального государства.

andriano wrote:

2. Русский - один из 6 мировых языков.

Объясни это англоязычным.

andriano wrote:

3. Русский - 4-й по распространенности язык мира.

Объясни это китайцам.

andriano wrote:

4. Просто из любых соображений - единые правила наполнения тегов гораздо лучше, чем отсутствие всяких правил.

Объясни это белорусам, канадцам и всем остальным жителям стран с несколькими государственными языками.

andriano wrote:

В любом случае один из name и name:ru на территории РФ явно лишний. Если употреблять name:ru, тег name оказывается совершенно ненужным.

Потом объясни это всё авторам всех конвертеров, навигаторов, рендереров, чтобы они добавили зависимость от государственных языков.
Ну и наконец, добейся выполнения этих правил во всём мире и всё будет хорошо. :-)


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#45 2010-06-09 19:05:35

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: add name:ru to all objects in Russia dump that have name:en

Vovanium wrote:

Объясни это татарам и прочим народам, проживающим на территории нашего многонационального государства.

Покажи мне хоть одного татарина, не знающего русский язык.

Объясни это англоязычным.

Англоязычные пусть пользуются тегом name:en на территории нашей страны и name - на территории Великобритании и США.

Объясни это китайцам.

Китайцы пусть сами рисуют name:cn.

Объясни это белорусам, канадцам и всем остальным жителям стран с несколькими государственными языками.

Мы обсуждаем конкретны тег name:ru. Каждая страна имеет право иметь свои национальные особенности. И вообще, что русскому хорошо, то немцу - смерть.

Потом объясни это всё авторам всех конвертеров, навигаторов, рендереров, чтобы они добавили зависимость от государственных языков.
Ну и наконец, добейся выполнения этих правил во всём мире и всё будет хорошо. :-)

С какой стати?
Почему я должен решать за кого-то его проблемы? Думаю, что каждый автор в состоянии самостоятельно решать подобные задачи. А ежели не в состоянии, и по этому поводу возникает острое желание покурочить общемировую базу под собственные необдуманные потребности, то - по рукам.

Offline

#46 2010-06-09 19:47:04

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: add name:ru to all objects in Russia dump that have name:en

Мои десять рублей:
В РБ два государственных языка - белорусский и русский.
В name уходит руссокязычное либо общепринятое (типа McDonald's) название.
В name:ru - исключительно русскоязычное.
В name:be - белорусское, официальной орфографией.
В int_name - белорусское, транслитерированное с диакритикой (типа Žlobin)
В name:en - английское, типа Zhlobin

Таким образом, посыл о ненужности тега name:<язык_страны> неверен в корне. Негоже делать метаинформацию зависимой от геометрии подобным образом.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#47 2010-06-09 20:06:50

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,110

Re: add name:ru to all objects in Russia dump that have name:en

В name уходит руссокязычное либо общепринятое (типа McDonald's) название.
В name:ru - исключительно русскоязычное.

т.е. предполагается писать
name=McDonald's
name:ru=Макдональдс

?


Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.

Offline

#48 2010-06-09 20:24:07

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: add name:ru to all objects in Russia dump that have name:en

Zkir wrote:

т.е. предполагается писать
name=McDonald's
name:ru=Макдональдс
?

Да. У нас пока что нет идиотских законов, обязывающих писать вывески кириллицей, так что McDonald's написан на местности латиницей smile


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#49 2010-06-09 21:06:50

Amigo
Member
From: Москва
Registered: 2009-12-15
Posts: 2,772

Re: add name:ru to all objects in Russia dump that have name:en

Komяpa wrote:
Zkir wrote:

т.е. предполагается писать
name=McDonald's
name:ru=Макдональдс
?

Да. У нас пока что нет идиотских законов, обязывающих писать вывески кириллицей, так что McDonald's написан на местности латиницей smile

Макдоналдс, без ь. Ничего идиотского в законе не вижу, защита родного языка и призываю на территории РФ пиcать в name на кириллице, кроме исключений на латинице.

Offline

#50 2010-06-09 21:13:25

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: add name:ru to all objects in Russia dump that have name:en

andriano wrote:

Покажи мне хоть одного татарина, не знающего русский язык.

Они есть. Вообще россиян плохо понимающих русский язык не так уж и мало. Для ориентировки посмотрите результаты переписи 2002 года.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

Board footer

Powered by FluxBB