Удлинение текста в атрибутивной таблице

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Игорь Сергеев
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 фев 2011, 11:13
Репутация: 0

Удлинение текста в атрибутивной таблице

Сообщение Игорь Сергеев » 22 апр 2011, 12:03

Уважаемые коллеги. В ходе работы столкнулся с проблемой подписей некоторых протяженных объектов. Требуется растянуть текст в подписываемом поле атрибутивной таблицы до определенной длины, по примеру: оз. Байкал -> о з. Б а й к а л.
Т.е. с расстановкой пробелов.
Знаю, что существуют подобные скрипты, но не смог нигде их найти.
Растянуть необходимо именно в поле таблицы, т.к. сама простановка подписей проводится в другой программе, которая, к сожалению, не предоставляет возможностей для редактирования текста. Заранее благодарен за любую помощь :)

ggis
Завсегдатай
Сообщения: 302
Зарегистрирован: 31 окт 2008, 10:39
Репутация: 2

Re: Удлинение текста в атрибутивной таблице

Сообщение ggis » 22 апр 2011, 12:43

Подпись текста (Formatted Text->Character Spacing) не подходит? Или нужно именно в атрибутивной таблице растянуть текст?

Игорь Сергеев
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 фев 2011, 11:13
Репутация: 0

Re: Удлинение текста в атрибутивной таблице

Сообщение Игорь Сергеев » 22 апр 2011, 13:06

ggis писал(а):Подпись текста (Formatted Text->Character Spacing) не подходит? Или нужно именно в атрибутивной таблице растянуть текст?
именно в таблице

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Удлинение текста в атрибутивной таблице

Сообщение ericsson » 22 апр 2011, 13:09

Выгрузить таблицу в текстовик и заменить регулярным выражением?

Игорь Сергеев
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 фев 2011, 11:13
Репутация: 0

Re: Удлинение текста в атрибутивной таблице

Сообщение Игорь Сергеев » 22 апр 2011, 13:24

ericsson писал(а):Выгрузить таблицу в текстовик и заменить регулярным выражением?
а можно подробнее?

Вообще можно по сути решить проблему стандартным Field Calculator, в поле String есть необходимые функции, к примеру Space (), но я у меня, к сожалению, не получается построить правильную логичную комбинацию

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Удлинение текста в атрибутивной таблице

Сообщение ericsson » 22 апр 2011, 14:04

оз. Байкал
ищем (.) меняем на $1 (после единицы - пробел)
о з . Б а й к а л
ищем \s\. меняем на . (убираем лидирующий пробел перед точкой)
о з. Б а й к а л
по вкусу можно убрать двойные пробелы и пробел в конце строки

Игорь Сергеев
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 фев 2011, 11:13
Репутация: 0

Re: Удлинение текста в атрибутивной таблице

Сообщение Игорь Сергеев » 22 апр 2011, 14:19

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

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Удлинение текста в атрибутивной таблице

Сообщение ericsson » 22 апр 2011, 14:32

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

Игорь Сергеев
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 фев 2011, 11:13
Репутация: 0

Re: Удлинение текста в атрибутивной таблице

Сообщение Игорь Сергеев » 22 апр 2011, 14:47

Разумеется, скажем, если длина линии 100 метров, а количество символов в текством поле 10, то по сути длина каждого символа должна быть 10 м. Но это при равномерном растяжении текста вдоль линии. В действительности же длина символа составляет, к примеру, 1 м... т.е. чтобы растянуть линию необходимо добавить после каждого символа еще 9 пробелов. И так для каждой подписи) В общем наверняка существуют необходимые скрипты

Ответить

Вернуться в «ArcGIS»

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

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