Изменение регистра текеста в DBF базе данных.

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Аватара пользователя
Prince660
Активный участник
Сообщения: 164
Зарегистрирован: 25 мар 2011, 20:12
Репутация: 15
Ваше звание: Питоновод
Откуда: г. Симферорполь
Контактная информация:

Изменение регистра текеста в DBF базе данных.

Сообщение Prince660 » 25 май 2012, 13:05

Друзья, есть база данных DBF в ней хранятся названия улиц. Все названия записаны в верхнем регистре (ВОТ ТАК), а мне необходимо их перевести в нижний регистр и оставить заглавной первую букву (Вот так). Забивать всё в ручном режиме очень долго объектов больше 40 тыс.
Помогите дельным советом или ссылкой на соответствующий софт.
Последний раз редактировалось Prince660 14 янв 2013, 17:33, всего редактировалось 1 раз.

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Изменение регистра текеста в DBF базе данных.

Сообщение rhot » 25 май 2012, 13:18

1) Импортировать в PostgreSQL;
2) Использовать функцию initcap();
3) Экспортировать обратно в dbf, если это необходимо.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Изменение регистра текеста в DBF базе данных.

Сообщение novia » 25 май 2012, 13:22

в аркгис в калькуляторе значений это было бы так:
UCase( Mid([streetName], 1, 1 ) && LCase ( Mid([streetName], 2) )

UCase - преобразовать в ВЕРХНИЙ регистр
Mid - функция, возвращающая подстроку Mid (поле, первый_символ, сколько_всего_символов), если последний параметр не указан - до конца строки
LCase - преобразовать в нижний регистр

&& или & (не помню 1 или 2 надо) или + - операция сложения строк
понравилось? жми палец вверх :!:

Аватара пользователя
Prince660
Активный участник
Сообщения: 164
Зарегистрирован: 25 мар 2011, 20:12
Репутация: 15
Ваше звание: Питоновод
Откуда: г. Симферорполь
Контактная информация:

Re: Изменение регистра текеста в DBF базе данных.

Сообщение Prince660 » 25 май 2012, 15:41

novia, спасибо за подробный ответ! Помогло. Сначала не работало, оказалось что одна закрывающая скобка пропущена. И нужна только одна "&".
UCase(Mid([streetName], 1, 1) )&LCase(Mid([streetName], 2) )

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Изменение регистра текеста в DBF базе данных.

Сообщение novia » 28 май 2012, 09:31

И нужна только одна "&".
метод "... тыка" позволяет конкретизировать количество)
понравилось? жми палец вверх :!:

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей