You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being 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.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2015-11-22 13:05:45

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Перейменування вулиць

У нас активно законодавчо змінюються назви вулиць, і при кількості перейменованих від двох десятків починаючи, ручне перейменування може зайняти досить багато часу. Пропоную тул, що в цьому допоможе: https://github.com/Larry0ua/ua-convert/ … ameStreets

Як користуватись:
- заповнити файл replacements.txt за шаблоном (tab separated, можна відкрити у excel і зберегти потім у Unicode text. Перша колонка в файлі - регекспи, тобто можна писати повну назву, можна і частину назви, але щоб вона не співпала з іншими вулицями)
- поставити Groovy (Windows: http://www.groovy-lang.org/install.html … n_windows) та Java, якщо нема
- скачати чи вирізати з дампа місто, зберегти в osm
- всі файли покласти в одну папку - скрипт, файл перейменувань і дамп міста
- поміняти в скрипті імена файлів, запустити. На цьому етапі кажуть, що краще запускати з консолі стрічкою

"C:\Program Files (x86)\Groovy\Groovy-2.4.5\bin\groovy" RenameStreets.groovy -e UTF-8 > log.txt

- отриманий файл відкрити джосмом, перевірити, чи не зачеплено нічого зайвого, залити

По файлу замін - треба бути обережним, щоб правила не перекривались для вулиць, провулків з номерами і т.д. була однозначна відповідність.
Якщо якихось вулиць є кілька по різних районах, такі вулиці перейменовуються ЛИШЕ вручну!

Скрипт переписує всі name в old_name (name:xx також) на вулицях і адресних відношеннях і заповнює name, name:uk. Також заміняє addr:steet.

Будь-ласка, при використанні будьте уважні, щоб не зачепити сусідні міста та інші об'єкти. Ну і звичайно не робіть перейменувань поки нема документального підтвердження про перейменування (а то й пізніше, коли нові назви почнуть використовуватись)

Last edited by Larry0ua (2016-02-01 15:03:05)

Offline

#2 2015-11-27 16:42:31

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,605

Re: Перейменування вулиць

Вхідний файл з osm-даними можна отримати overpass-запитом
http://overpass-turbo.eu/s/cY6

Offline

#3 2015-11-30 10:45:47

Eugene Schava
Member
Registered: 2015-08-31
Posts: 10

Re: Перейменування вулиць

Имеются ли какие-то средства, для того чтобы указать дату, когда старое значение перестало быть актуальным?

Частично скопирую свой пост из другого треда (OSMAnd):

Возможно ли реализовать режим, чтобы были видны одновременно и новые названия и старые (например в скобочках)?
Сразу возникает вопрос как отделить новые переименования от исторических (например в каких-то случаях old_name имеет название которое уже неактуально)
Хотелось бы иметь дату переименования и использовать такой режим только для новых переименований (например меньше трех лет)
Вики предлагает следующий подход:
Key variants can be suffixed with language code (such as "name:en") and date namespace suffix (such as "old_name:en:1921-1932").
Однако я не уверен, что все будут придерживаться этого принципа

Offline

#4 2015-12-01 13:02:50

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

Eugene Schava wrote:

Имеются ли какие-то средства, для того чтобы указать дату, когда старое значение перестало быть актуальным?

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

Offline

#5 2015-12-01 13:17:27

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

Новые названия не все люди сразу выучат, все документы поменяют, адреса всех знакомых уточнят. Посему старое название будет востребовано.

Ставьте дату
name:-2015=xxx конечно весьма прикольно выглядит.
Я бы предпочел old_name=xxx (как более общепринятый) + что-нибудь типа old_name:date=2015, но ведь вики другое советует...
Главное, чтобы однообразно, потом можно будет как-то и использовать, например добавлять в скобках.
http://wiki.openstreetmap.org/wiki/Date_namespace

Last edited by wowik (2015-12-01 13:18:44)

Offline

#6 2015-12-01 13:38:04

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

wowik wrote:

name:-2015=xxx конечно весьма прикольно выглядит

во-первых, у улицы есть дата создания и присвоения ей официального имени
во-вторых, старых названий часто несколько. и не всегда они различны
к примеру, 50 улицам из 173 переименованных в Харькове просто вернули старые названия
http://www.city.kharkov.ua/ru/document/ … 47404.html
получается, для них корректно надо записывать как-то так:
name:Воскресенська вулиця
old_name:1923-2015=Урицького вулиця
old_name:1804-1923=Воскресенська вулиця
есть улицы с ещё более насыщенной историей переименований
можно, конечно, со всем этим разобраться и внести в базу
но мне кажется что в этом нет смысла - как для редакторов, так и для пользователей
внесения old_name вполне достаточно, и то для потребителей это будет иметь ценность только в переходной период

Last edited by Vort (2015-12-01 13:40:45)

Offline

#7 2015-12-01 13:47:35

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

ещё из весёлостей переименования
улицу Спартака переименовали в улицу Спартака
именно так. пишется одинаково. только смысл разный smile

Offline

#8 2015-12-01 13:53:57

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

Vort wrote:

внесения old_name вполне достаточно

сомневаюсь.
там могут быть слишком старые, которые точно нынче не нужны, а вот последние переименования точно нужны.
Я бы точно хотел иметь в навигаторе в списке улиц что-то такое:

Воскресенская улица (бывш. Урицкого)
улица Спартака (бывш. Спартака)

Кстати, пойду подумаю как прилепить визуализацию предыдущего имени...
Уже есть обработанные НП для тренировки?

Last edited by wowik (2015-12-01 13:57:02)

Offline

#9 2015-12-01 13:59:32

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

wowik wrote:
Vort wrote:

внесения old_name вполне достаточно

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

значит нужно заменять старый old_name на новый old_name
глуповато звучит, но мне кажется что это достаточно адекватно

Offline

#10 2015-12-01 14:03:23

olehz
Member
From: Lviv
Registered: 2011-08-11
Posts: 731
Website

Re: Перейменування вулиць

wowik wrote:

Ставьте дату
name:-2015=xxx конечно весьма прикольно выглядит

Вы забываете, что геометрия улиц меняется со временем. Например две улицы могут объеденить в одну или наоборот разъеденить (продолжить, застроить и т.д.). Точно также с домами. Согласен с Vort, что таким данным не место в OSM, а то при желании можно дойти до такого:

old_name:-320000000--260000000=океан Палеотетіс
old_name:-260000000--65000000=океан Тетіс
...

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

К тому же ключ получается динамическим. Это очень нехорошо для работы с данными. Для одного 20-го века прийдется 100 отдельных полей в таблице создавать

Last edited by olehz (2015-12-01 14:10:29)

Offline

#11 2015-12-01 14:03:58

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

wowik wrote:

Кстати, пойду подумаю как прилепить визуализацию предыдущего имени...

для этого, кстати, по принципу "any tags you like" можно запросто подобавлять улицам что-то типа ua_rename_2015=yes

Offline

#12 2015-12-01 14:12:25

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

Vort wrote:

значит нужно заменять старый old_name на новый old_name
глуповато звучит, но мне кажется что это достаточно адекватно

Да, но как узнать, что он обновился в 2015?

Last edited by wowik (2015-12-01 14:24:36)

Offline

#13 2015-12-01 14:15:01

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

Vort wrote:

ua_rename_2015=yes

Ну я и писал, что, что что-то типа  date:old_name или old_name:date=2015 и т.п. было бы понятнее
Есть же population:date - сделать по анологии

Last edited by wowik (2015-12-01 14:15:51)

Offline

#14 2015-12-01 14:15:14

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

olehz wrote:

Вы забываете, что геометрия улиц меняется со временем. Например две улицы могут объеденить в одну или наоборот разъеденить (продолжить, застроить и т.д.).

согласен, это тоже надо иметь в виду
на примере того же Харькова такая ситуация с улицей Фрунзе:
у новосозданной улицы Кирпичёва получается два "предка"

Offline

#15 2015-12-01 14:18:05

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

wowik wrote:
Vort wrote:

ua_rename_2015=yes

Ну я и писал, что, что что-то типа  date:old_name или old_name:date=2015 и т.п. было бы понятнее
Есть же population:date - сделать по анологии

с таким вариантом будет высокий риск рассинхронизации
поменяют имя, не поменяют дату. или поменяют дату, но не поменяют имя

Offline

#16 2015-12-01 14:20:31

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

Vort wrote:

поменяют имя, не поменяют дату. или поменяют дату, но не поменяют имя

с population'ом так и бывает.

Last edited by wowik (2015-12-01 14:20:47)

Offline

#17 2015-12-01 14:23:02

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

придумался мне гибридный вариант
совместимый, но с дублированием:

name = Воскресенська вулиця
name:2015- = Воскресенська вулиця
old_name = Урицького вулиця
old_name:1923-2015 = Урицького вулиця
old_name:1804-1923 = Воскресенська вулиця

правда, хаоса тут наведут со временем...
а если учесть ещё языковые приставки (, :uk, :ru, :en), вобще монстр получается

Last edited by Vort (2015-12-01 14:25:02)

Offline

#18 2015-12-01 14:29:00

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

olehz wrote:

Вы забываете, что геометрия улиц меняется со временем. Например две улицы могут объеденить в одну или наоборот разъеденить (продолжить, застроить и т.д.).

Это уже второго яаления порядка точности.

Зачем еще нужен old_name. Чтобы назад не возвращали по недоразумению.
Увидят новое имя, а подумают, что оно по ошибке тут случилось, и "исправят"

Last edited by wowik (2015-12-01 14:29:27)

Offline

#19 2015-12-01 15:05:35

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,367

Re: Перейменування вулиць

В голом виде old_name пока плох. Правда стали видны застарелые ошибки.

[ removed porn links ]

Last edited by kocio (2020-11-11 13:56:19)

Offline

#20 2015-12-01 15:05:42

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

чуть переделал и расширил последний вариант:


name = Воскресенська вулиця                (основное отображение, актуальное состояние)
name:uk = Воскресенська вулиця           (дубль для верификации языка name тега)
name:ru = Воскресенская улица
name:en = Voskresenska Street

old_name = Урицького вулиця                (альтернативное отображение, для поиска, актуальное состояние предыдущего имени)
old_name:uk = Урицького вулиця
old_name:ru = Урицкого улица
old_name:en = Urytskoho Street

name:uk:2015- = Воскресенська вулиця      (для поиска и верификации, полу-архивные данные)
name:ru:2015- = Воскресенская улица
name:en:2015- = Voskresenska Street
name:uk:1923-2015 = Урицького вулиця     (для поиска, архивные данные)
name:ru:1923-2015 = Урицкого улица
name:en:1923-2015 = Urytskoho Street
name:uk:1804-1923 = Воскресенська вулиця
name:ru:1804-1923 = Воскресенская улица
name:en:1804-1923 = Voskresenska Street


из недостатков - повышенная сложность и много дублирования
из преимуществ - совместимость и верификация

Last edited by Vort (2015-12-01 15:11:58)

Offline

#21 2015-12-01 15:18:56

olehz
Member
From: Lviv
Registered: 2011-08-11
Posts: 731
Website

Re: Перейменування вулиць

ну и какие программы поддерживают динамические ключи (name:ru:1804-1923, name:en:1804-1923...)? имхо, никому ненужный мусор

Offline

#22 2015-12-01 15:25:20

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,605

Re: Перейменування вулиць

olehz wrote:

ну и какие программы поддерживают динамические ключи (name:ru:1804-1923, name:en:1804-1923...)? имхо, никому ненужный мусор

у мене така ж думка
old_name + old_name:** більш ніж достатньо
якщо комусь треба більше - можна тримати в окремій базі

Offline

#23 2015-12-01 15:34:48

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

olehz wrote:

ну и какие программы поддерживают динамические ключи (name:ru:1804-1923, name:en:1804-1923...)? имхо, никому ненужный мусор

это нужно для случая когда требуется отобразить старое имя в скобках, но не старее, допустим, двух лет
также эти данные пригодятся на случай рассинхронизации (их можно обработать и в полу-ручном режиме)

возможно, такое усложнение и излишне. но если идти по пути усложнения, то этот вариант мне кажется логичным

Offline

#24 2015-12-01 16:05:26

olehz
Member
From: Lviv
Registered: 2011-08-11
Posts: 731
Website

Re: Перейменування вулиць

Vort wrote:

это нужно для случая когда требуется отобразить старое имя в скобках, но не старее, допустим, двух лет

Ни один рендер точно не будет поддерживать наперед неопределенные теги

В Украине всего навсего около 700 улиц (90 НП), которые имеют old_name. Как правило 1-2 улицы на город.

 Тернопіль                  | 146
 Київ                       |  69
 Чернівці                   |  52
 Луцьк                      |  41
 Новомиргород               |  36
 Рожнів                     |  30
 Харків                     |  22
 Володимир-Волинський       |  20
 Дніпропетровськ            |  20
 Кіровоград                 |  19
 Одеса                      |  18
 Хмільник                   |  14
 Львів                      |  13
 Старокостянтинів           |  12
 Яготин                     |  12
 Івано-Франківськ           |  11
 Черкаси                    |  10
 Миколаїв                   |  10
 Полтава                    |  10

Не легче вручную пройтись и поудалять неактуальные old_name? Если лепить такие дикие "исторические" схемы, шанс накосячить явно выше. С одним только name и name:xx сколько проблем и нестыковок по сегментам и отношениям

Offline

#25 2015-12-01 16:08:13

Vort
Member
Registered: 2010-11-29
Posts: 512

Re: Перейменування вулиць

dudka wrote:

якщо комусь треба більше - можна тримати в окремій базі

набросал пример для Викиданных:
https://www.wikidata.org/wiki/Q21601086

Offline

Board footer

Powered by FluxBB