SQL в надписях[

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Аватара пользователя
agrozema
Активный участник
Сообщения: 152
Зарегистрирован: 05 мар 2013, 15:36
Репутация: 85

SQL в надписях[

Сообщение agrozema » 30 апр 2014, 11:50

Добрый день! Необходимо сделать следущее, есть два поля (1) и (2). В первом поле - номер пункта ГГС, во втором поле - его абсолютная высота. Необходимо чтобы надписи были в виде дроби где числитель это (поле 1) знаменатель (поле2).
Зашел в Свойства слоя - Надписи - Выражения....написал следующее , но как итог подчеркивание короткое. Можно ли линию задать над знаменателем, так как априори знаменатель всегда длиннее.

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: SQL в надписях[

Сообщение Monstria » 30 апр 2014, 18:12

Спойлер
2014-04-30_19-03-11.png
2014-04-30_19-03-11.png (95.67 КБ) 4975 просмотров

Код: Выделить всё

Function FindLabel ( [F1],[F2] )
dim myLen
myLen=len([F2])
dim mySpace
mySpace=""
if len([F1])<myLen then
  for i=myLen-len([F1]) to 1 step -1
    mySpace=mySpace & "&#160; "
  next
end if
  FindLabel ="<und>" & mySpace & [F1] & "</und>" &  vbnewline & [F2]
End Function 
TestLabel.rar
(24.6 КБ) 326 скачиваний
PS.. анализатор кода сайта вырезал из кода ту самую хитрость :)
2014-04-30_19-16-12.png
2014-04-30_19-16-12.png (5.11 КБ) 4972 просмотра
Так что реальный код - смотрите в свойстве слоя в приложенном проекте ;)

Аватара пользователя
agrozema
Активный участник
Сообщения: 152
Зарегистрирован: 05 мар 2013, 15:36
Репутация: 85

Re: SQL в надписях[

Сообщение agrozema » 05 май 2014, 07:47

Пишет "возвраты каретки недопустимы в простых выражениях", а -mxd Ваш не открывается.

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: SQL в надписях[

Сообщение Monstria » 05 май 2014, 08:10

agrozema писал(а):Пишет "возвраты каретки недопустимы в простых выражениях", а -mxd Ваш не открывается.
Попробуйте открыть проект из запущенной арки - ну и на всякий случай вот код для загрузки в блок скрипта.
UnlLabel.rar
(318 байт) 314 скачиваний
Вложения
2014-05-05_9-08-59.png
2014-05-05_9-08-59.png (17.16 КБ) 4898 просмотров

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

Re: SQL в надписях[

Сообщение doujin » 05 май 2014, 14:48

А можно я предложу решения для python интерпретатора?

Код: Выделить всё

u'<UND>{0}</UND>\n{1}'.format([F1].center(len([F2]), u'_'), [F2])
F1 (числитель) и оба F2 (знаменатель) следует заменить на названия своих полей.

Начиная с версии 10 python можно использовать и для построения надписей. В нем можно обойтись одной строкой (даже в дополнительный режим не надо переключать), а числитель и знаменатель будут более-менее отцентрованы друг относительно друга. На мой взгляд так надпись выглядит опрятнее. Однако, заменив center на rjust или ljust, можно добиться выравнивания в право или в лево соответственно.

Ответить

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

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

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