Ви можете використовувати вираз написи, щоб встановлювати форматування ваших написів. Крім вставки символів і функцій скриптів, можна також використовувати теги форматування ArcGIS в виразах написів. Це спеціальні символи, які можна використовувати для зміни відображення частин ваших написів. Наприклад, за допомогою тегів форматування можна виділити перший рядок в написи напівжирним шрифтом.
Вираз написи обмежена одним рядком коду, якщо не вибрано пункт Додатково в діалоговому вікні вираз написи. Якщо відзначити Додатково, ви зможете вводити функції, що містять програмну логіку і розбиття на кілька рядків коду.
Значення поля автоматично вносяться в текстові рядки. Тому, якщо ви хочете використовувати числове значення в арифметичній операції або при зіставленні , Необхідно знову повернути їм числовий тип даних. У наступних прикладах додаються два цілочисельних поля:
Python
int ([FIELD1]) + int ([FIELD2])VBScript
cint ([FIELD1]) + cint ([FIELD2])JScript
parseInt ([FIELD1]) + parseInt ([FIELD2])кроки:
- Натисніть кнопку Менеджер написів на панелі інструментів Написи.
- Клацніть клас написів в списку Класи написів.
- Клацніть кнопку Вираз.
- Внизу виберіть мову синтаксичного аналізатора.
- Введіть вираз Python, VBScript або JScript. Ви також можете створити вираз, двічі клацнувши поле, щоб додати його в вираз, або вибравши поле і натиснувши кнопку Додати, щоб додати поле в кінець виразу з відділенням прогалиною.
Незалежно від типу даних в джерелі даних шару імена полів полягають в квадратні дужки [].
При бажанні, введіть теги форматування тексту ArcGIS в вікно Вираз, щоб відформатувати частини ваших написів.
Якщо ваше вираз буде розбиватися на кілька рядків коду, відзначте Додатково і потім вводите вираз.
- Клацніть Перевірити, щоб переконатися у відсутності синтаксичних помилок.
- Клацніть OK у всіх діалогових вікнах.
приклади виразів
Ось деякі приклади виразів написів:
- Приєднання рядки до значення поля. Наприклад, цей вислів будує написи, в яких перед значеннями поля PARCELNO написано: "Parcel no:" (номер ділянки):
Python
"Parcel no:" + [PARCELNO]VBScript
"Parcel no:" & [PARCELNO]JScript
"Parcel no:" + [PARCELNO] - Округлення десяткового числа до певної кількості знаків. Наприклад, цей вислів показує значення поля Area округленням до одного знака після коми:
JScript
function FindLabel ([AREA]) {var ss; var num = parseFloat ([AREA]); ss = num.toFixed (1); return (ss); } - Конвертація текстових написів в нижній або верхній регістр. Наприклад, цей вислів показує значення поля Name прописними буквами:
Python
def FindLabel ([NAME]): S = [NAME] S = S.lower () return S - Конвертація текстових написів в введено правильно. Наприклад, цей вислів бере значення з поля Name, де все записано великими літерами, і відображає в правильному регістрі:
Python
def FindLabel ([NAME]): S = [NAME] S = S.title () return SVBScript
Function FindLabel ([NAME]) FindLabel = UCase (Left ([NAME], 1)) & LCase (Right ([NAME], Len ([NAME]) -1)) End FunctionJScript
function FindLabel ([NAME]) {var str = [NAME]; var iLen = String (str) .length; var upper = (str.substring (0,1)). toUpperCase (); var lower = (str.substring (1, iLen)). toLowerCase () return upper + lower; } - Створення тексту в декілька рядків. Наприклад, цей вислів створює напис з поля Name і двох полів адреси, рознесених по різних рядках:
Python
"Name:" + [NAME] + '\ n' + [ADDRESS_1] + '\ n' + [ADDRESS_2]VBScript
"Name:" & [NAME] & vbCrLf & [ADDRESS_1] & vbCrLf & [ADDRESS_2]JScript
"Name:" + [NAME] + "\ r" + [ADDRESS_1] + "\ r" + [ADDRESS_2] - Створення тексту в декілька рядків на основі тексту з одного поля. Наприклад, цей вислів розбиває текст по рядках в місцях, де стоять коми:
Python
def FindLabel ([LABELFIELD]): S = [LABELFIELD] S = S.replace ( ',', '\ n') return SVBScript
Function FindLabel ([LABELFIELD]) FindLabel = replace ([LABELFIELD], ",", vbnewline) End FunctionJScript
function FindLabel ([LABELFIELD]) {var r, re; var str = [LABELFIELD]; re = /, / g; r = str.replace (re, "\ r"); return r; } - Форматування написів. Наприклад, цей вислів форматує напис як грошову:
Python
def FindLabel ([MAXIMUM_OC], [RATE]): import locale locale.setlocale (locale.LC_ALL, '') S = locale.currency (float ([MAXIMUM_OC]) * float ([RATE])) return SVBScript
"Occupancy Revenue:" & FormatCurrency ([MAXIMUM_OC] * [RATE])JScript
function FindLabel ([MAXIMUM_OC], [RATE]) {var ss; var num1 = parseFloat ([MAXIMUM_OC]); var num2 = parseFloat ([RATE]); var num3 = num1 * num2 ss = num3.toFixed (2); return ( "$" + ss); } - Вказівка вираження з умовою (if else). Ці функції підписують міста великими червоними літерами, якщо населення більше 250 тис. Чоловік, або шрифтом за замовчуванням - якщо менше.
Python
def FindLabel ([NAME], [POPULATION]): if long ([POPULATION])> = 250000: return "<CLR red = '255'> <FNT size = '14'>" + [NAME] + "</ FNT> </ CLR> "else: return [NAME]VBScript
Function FindLabel ([NAME], [POPULATION]) if (cLng ([POPULATION])> = 250000) then FindLabel = "<CLR red = '255'> <FNT size = '14'>" + [NAME] + " </ FNT> </ CLR> "else FindLabel = [NAME] end if End FunctionJScript
function FindLabel ([NAME], [POPULATION]) {if (parseFloat ([POPULATION])> = 250000) {return ( "<CLR red = '255'> <FNT size = '14'>" + [NAME] + "</ FNT> </ CLR>"); } Else return ([NAME]); }
(Ця інформація знаходиться на веб-сторінках, не призначених, які не підтримуються і не належать компанії Esri. Esri не гарантує доступність цих сторінок і на несе відповідальності за їх зміст.)