Кому интересно. Создал таблицу для последующего использования в скрипте по автоматическому переименованию улиц Днепропетровска. Постоянный адрес здесь. Наиболее интересная информация находится на втором листе. Он содержит уже фактически готовые данные для переименования улиц на трёх языках: украинском, русском, английском. Транслитерация на английский проведена в соответствии с национальным украинским стандартом, действующим с 2010 года.
Также готов скрипт для PowerShell v.2.0 и позже по переименованию топонимов и связанных с ними зданий. Замечания, соображения приветствуются. Ссылка может меняться при доработке скрипта.
Алгоритм работы скрипта
- Пройтись по всем узлам типа node, way и relation (у них обязательно должен быть тег addr:street).
Если попался узел с тегом, у которого addr:street равно значению из таблицы (старое название топонима на украинском языке), то для тегов addr:street, addr:street:uk, addr:street:ru, addr:street:en внести соответствующие значения из таблицы (новые названия топонимов).
Если какой-то из тегов типа addr:street:* (uk, ru, en) отсутствовал, он будет создан. Однако, можно очень быстро настроить скрипт так, чтобы эти теги удалялись, если встретятся при обработке.
- Пройтись по всем узлам типа way, relation (у way должен быть тег highway, у relation - associatedStreet).
Если попался узел с тегом, у которого name = значению из таблицы (старое название топонима на украинском языке), то для тегов name, name:uk, name:ru, name:en внести соответствующие значения из таблицы (новые названия топонимов).
Если какой-то из тегов типа name:uk, name:ru, name:en отсутствовал, он будет создан.
Если теги name:* (uk, ru, en) существовали до начала обработки, то их старые значения будут сохранены в новых (будут созданы, если их не было) или в существующих тегах типа old_name:*