Как отцентрировать надпись

0 голосов
спросил 10 Ноя, 17 от artchuh (480 баллов) в категории Программные продукты Esri

Задача заключается в следующем. В ArcMap 10.2.2 необходимо надписать точку. При этом надпись должна быть представлена в виде дроби. Дробь должна быть выровнена по центру. Значения для дроби берутся из разных полей.

Выражение на Phyton я смог написать: u'<UND>{0:^5}</UND>\n{1:^5}'.format([Field1], [Field2]), однако после написания одних объектов все нормально, после написания других gis просто вылетает и даже не выдает ошибки.

Вопрос, есть ли аналог выражения на VBScript? Или может кто то знает другой способ выранивания дроби по центру?

P.s. В аннотации переводить не хочу, дабы не захломлять базу.

1 Ответ

0 голосов
ответил 10 Ноя, 17 от Grigoriy (127,020 баллов)

Поля должны быть текстовыми.

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

Вот это подписывает:

Vbscript:

Function FindLabel ( [FIELD1], [FIELD2] )
  FindLabel = "<UND>" & [FIELD1] & "</UND>" & vbCrLf &  [FIELD2]
End Function

Python:

def FindLabel ( [FIELD1], [FIELD2] ):
  str =  '<UND>' + [FIELD1] + '</UND>' + '\n' +  [FIELD2]
  return str

Вот это выравнивает:

http://desktop.arcgis.com/ru/arcmap/latest/map/working-with-text/about-building-label-expressions.htm

http://desktop.arcgis.com/ru/arcmap/latest/map/working-with-text/using-text-formatting-tags-about-text-formatting-t.htm

http://desktop.arcgis.com/ru/arcmap/latest/map/working-with-text/formatting-tags-available-in-arcmap.htm

оставил комментарий 13 Ноя, 17 от artchuh (480 баллов)
Попробовал разными способами, как вы посоветовали, перевел в текстовые поля, попробывал и питон и вбскрипт, однако проблема в том, что в редакторе символов  поле "Выровнять по горизонтали" не активно.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...