Видео
Этот урок также доступен в виде видео.
Попробуйте изменить стиль карты, используя поле Total Value
Вы начнете с просмотра данных оценки имущества на карте и просмотра поля Total Value. Вы попытаетесь настроить символы на карте с помощью этого поля.
- Откройте слой Portage la Prairie property assessment в Map Viewer.
Появится карта границ городской собственности.
- При необходимости, на ленте нажмите Войти и войдите с использованием учетной записи вашей организации ArcGIS.
Примечание:
Если у вас нет учетной записи организации, см. варианты доступа к программному обеспечению.
- На панели Слои на имени слоя щелкните кнопку Опции и щелкните Показать таблицу.
Таблица атрибутов слоя появится в нижней части карты.
- Прокрутите окно таблицы горизонтально, чтобы найти поле Total Value.
Вы отобразите это поле на карте, чтобы увидеть, какие объекты собственности имеют более высокие значения, чем другие.
- Закройте таблицу.
- На панели инструментов Настройки в правой части экрана щелкните кнопку Стили.
Примечание:
Если панель инструментов Настройки недоступна, на панели Слои щелкните Portage la Prairie property assessment. Панель инструментов Настройки доступна только если слой выбран.
- На панели Стили щелкните кнопку Поле.
- В окне Выбрать поля щелкните Total Value и нажмите Добавить.
Панель Стили обновится, чтобы отобразить стили, доступные для поля Total Value. Их всего два: Типы (уникальные символы) и Местоположение (единый символ). Вы надеялись использовать количественный стиль, такой как Числа и количества (размер), но ни один из них не доступен.
В верхней части панели Стили рядом с полем Total Value тип поля указан как abc, что указывает на то, что это строка или текстовое поле.
Для использования стиля Числа и количества необходимы числовые значения. Он не будет работать с текстовыми значениями.
Построить выражение Arcade
Вы все-таки можете настроить символы карты с помощью поля Total Value и стиля Числа и количества. Вы будете использовать выражение Arcade для преобразования текстовых значений в числовые значения.
- На панели Стили рядом с Total Value щелкните кнопку Удалить.
- Щёлкните кнопку Выражение.
Откроется окно конструктора выражений.
- Очистите окно конструктора выражений, что бы в нем ни находилось.
- В нижней части окна щелкните кнопку Развернуть.
- На развернутой панели инструментов щелкните Функции.
Появится панель Функции со списком всех доступных функций Arcade.
- В строке поиска введите number.
Список отфильтрует одну функцию, Number(value, pattern?) -> Number.
- Number - это имя функции.
- Value и pattern являются двумя её параметрами. Вопросительный знак указывает, что pattern является необязательным параметром.
- Текст -> Number в конце указывает, что выходным результатом этой функции будет число.
Вы будете использовать эту функцию для преобразования текстовых значений, хранящихся в поле Total Value, в числовые значения.
- Щелкните Number(value, pattern?) -> Number.
Функция появится в конструкторе выражений. Параметр value_ выделен. Далее вы замените его полем Total Value, поэтому оставьте параметр выделенным.
- На панели инструментов щелкните Переменные профиля.
Переменные профиля — это переменные данных из карты, которые вы можете использовать в качестве входных данных в своем выражении Arcade. Они включают все поля слоя.
На панели Переменные профиля $feature относится к объектам слоя. В данном случае объекты являются объектами собственности в слое Portage la Prairie property assessment.
- Рядом с $feature щелкните кнопку со стрелкой.
Появится список всех полей слоя Portage la Prairie property assessment.
- Прокрутите список до конца и щелкните $feature.Total_Value.
Выражение обновится на Number ($feature.Total_Value).
Первый параметр, value, теперь определен, как $feature.Total_Value. Выражение будет обращаться к атрибуту Total Value для каждого объекта в слое. Следующий параметр, pattern, является необязательным, поэтому вы запустите выражение, чтобы проверить, работает ли оно без определения шаблона.
- Над конструктором выражений щелкните Запустить.
В окне Выходные данные отображается выходное значение Number: NaN. NaN означает Not a Number (Не число). В этом случае выражение не сработало с неопределенным шаблоном.
- Отредактируйте выражение на Number($feature.Total_Value, '#.##').
Символ # обозначает произвольную цифру в функции Number. Шаблон #.## преобразует любое количество цифр до запятой и до двух цифр после запятой. Значения в поле Total Value являются денежными, поэтому есть вероятность, что некоторые из них могут быть выражены с точностью до двух знаков после запятой. Этот шаблон гарантирует, что значения с десятичными разрядами могут быть преобразованы.
- Снова щелкните Запустить.
Окно Выходные данные все еще отображает Number: NaN. Далее вы обратитесь к документации функции, чтобы найти решение.
Исправить выражение
Вы помните из таблицы атрибутов, что перед каждым числом в поле Total Value стоял символ $. Это текстовый символ. Выражение не работает, потому что не может преобразовать символ $ в число. Вы обратитесь к документации функции Number, чтобы узнать, есть ли способ удалить символ $.
- На панели инструментов щелкните Функции.
- В строке поиска введите number.
- Рядом с Number(value, pattern?) -> Number, щелкните кнопку со стрелкой.
Появится документация функции.
- Прокрутите вниз до раздела Примеры.
Во втором примере показано, как игнорировать определенные символы при преобразовании текста в числа.
Number('abc10def', 'abc##def') // return 10.
В примере выражения abc и def определены как текст, который следует игнорировать. Вы можете использовать этот шаблон, чтобы игнорировать символ $.
- В конструкторе выражений поместите курсор перед #.## и введите $.
Итоговое выражение должно читаться Number($feature.Total_Value, '$#.##').
- Щелкните Запустить.
Окно Выходные данные отображает Number: 85200. Выражение успешно преобразовало такие значения, как $85,200, в числа, такие как 85200.
Примечание:
Если ваш веб-браузер настроен на язык, отличный от американского английского, выражение может не работать из-за запятых, используемых в качестве разделителей тысяч. Если в окне Выходные данные по-прежнему отображается Number: NaN, сотрите существующее выражение и замените его следующим:
var numberOnly = Replace($feature.Total_Value, '$', '') // Remove dollar signs. var digitsOnly = Replace(numberOnly, ',', '') // Remove commas. Number(digitsOnly)
Примечание:
Когда вы нажимаете Запустить, выражение проверяется на первом объекте слоя.
Теперь, когда выражение готово, вы измените его имя, чтобы лучше описать его назначение.
- В верхней части окна щелкните Новое выражение. Сотрите существующий текст и введите Total Value (numeric).
- Щелкните Готово.
Карта снова появится. На панели Стили, в качестве выбранного атрибута отображается выражение Total Value (numeric). В качестве стиля по умолчанию для числовых значений, возвращаемых этим выражением, выбрано Числа и количества (цвет).
На карте значения из поля Total Value отображаются кружками большего размера для более высоких значений оценки объектов собственности.
Примечание:
Поле Total Value и слой Portage la Prairie property assessment не изменились. Выражение Total Value (numeric) сохраняется на веб-карте, а не в слое, но если вы сохраните копию слоя, она будет доступна для использования на других картах.
В этом руководстве вы узнали, как использовать функцию Arcade Number для преобразования текстовых значений в числовые значения для слоя на карте, чтобы можно было применить стиль Числа и количества. Написанное вами выражение — Number($feature.Total_Value, '$#.##') — также можно использовать для форматирования всплывающих окон и надписей.
Вы можете найти больше учебных пособий в галерее учебных пособий.