Видео

Этот урок также доступен в виде видео.

Попробуйте изменить стиль карты, используя поле Total Value

Вы начнете с просмотра данных оценки имущества на карте и просмотра поля Total Value. Вы попытаетесь настроить символы на карте с помощью этого поля.

  1. Откройте слой Portage la Prairie property assessment в Map Viewer.

    Появится карта границ городской собственности.

    Карта границ объектов собственности в Портидж-ла-Прери, Манитоба, Канада

  2. При необходимости, на ленте нажмите Войти и войдите с использованием учетной записи вашей организации ArcGIS.
    Примечание:

    Если у вас нет учетной записи организации, см. варианты доступа к программному обеспечению.

  3. На панели Слои на имени слоя щелкните кнопку Опции и щелкните Показать таблицу.

    Кнопка Опции и опция Показать таблицу

    Таблица атрибутов слоя появится в нижней части карты.

  4. Прокрутите окно таблицы горизонтально, чтобы найти поле Total Value.

    Поле Total Value в таблице

    Вы отобразите это поле на карте, чтобы увидеть, какие объекты собственности имеют более высокие значения, чем другие.

  5. Закройте таблицу.
  6. На панели инструментов Настройки в правой части экрана щелкните кнопку Стили.

    Кнопка Стили

    Примечание:

    Если панель инструментов Настройки недоступна, на панели Слои щелкните Portage la Prairie property assessment. Панель инструментов Настройки доступна только если слой выбран.

  7. На панели Стили щелкните кнопку Поле.

    Кнопка Поле

  8. В окне Выбрать поля щелкните Total Value и нажмите Добавить.

    Панель Стили обновится, чтобы отобразить стили, доступные для поля Total Value. Их всего два: Типы (уникальные символы) и Местоположение (единый символ). Вы надеялись использовать количественный стиль, такой как Числа и количества (размер), но ни один из них не доступен.

    Доступные стили

    В верхней части панели Стили рядом с полем Total Value тип поля указан как abc, что указывает на то, что это строка или текстовое поле.

    Индикатор типа поля

    Для использования стиля Числа и количества необходимы числовые значения. Он не будет работать с текстовыми значениями.

Построить выражение Arcade

Вы все-таки можете настроить символы карты с помощью поля Total Value и стиля Числа и количества. Вы будете использовать выражение Arcade для преобразования текстовых значений в числовые значения.

  1. На панели Стили рядом с Total Value щелкните кнопку Удалить.

    Кнопка удаления поля

  2. Щёлкните кнопку Выражение.

    Откроется окно конструктора выражений.

  3. Очистите окно конструктора выражений, что бы в нем ни находилось.
  4. В нижней части окна щелкните кнопку Развернуть.

    Кнопка Развернуть панель инструментов

  5. На развернутой панели инструментов щелкните Функции.

    Кнопка Функции на панели инструментов

    Появится панель Функции со списком всех доступных функций Arcade.

  6. В строке поиска введите number.

    Список отфильтрует одну функцию, Number(value, pattern?) -> Number.

    • Number - это имя функции.
    • Value и pattern являются двумя её параметрами. Вопросительный знак указывает, что pattern является необязательным параметром.
    • Текст -> Number в конце указывает, что выходным результатом этой функции будет число.

      Вы будете использовать эту функцию для преобразования текстовых значений, хранящихся в поле Total Value, в числовые значения.

  7. Щелкните Number(value, pattern?) -> Number.

    Функция Number

    Функция появится в конструкторе выражений. Параметр value_ выделен. Далее вы замените его полем Total Value, поэтому оставьте параметр выделенным.

    Функция Number с выделенным текстом

  8. На панели инструментов щелкните Переменные профиля.

    Переменные профиля — это переменные данных из карты, которые вы можете использовать в качестве входных данных в своем выражении Arcade. Они включают все поля слоя.

    На панели Переменные профиля $feature относится к объектам слоя. В данном случае объекты являются объектами собственности в слое Portage la Prairie property assessment.

  9. Рядом с $feature щелкните кнопку со стрелкой.

    Кнопка со стрелкой рядом с $feature

    Появится список всех полей слоя Portage la Prairie property assessment.

  10. Прокрутите список до конца и щелкните $feature.Total_Value.

    $feature.Total_Value

    Выражение обновится на Number ($feature.Total_Value).

    Первый параметр, value, теперь определен, как $feature.Total_Value. Выражение будет обращаться к атрибуту Total Value для каждого объекта в слое. Следующий параметр, pattern, является необязательным, поэтому вы запустите выражение, чтобы проверить, работает ли оно без определения шаблона.

  11. Над конструктором выражений щелкните Запустить.

    Кнопка Запустить

    В окне Выходные данные отображается выходное значение Number: NaN. NaN означает Not a Number (Не число). В этом случае выражение не сработало с неопределенным шаблоном.

  12. Отредактируйте выражение на Number($feature.Total_Value, '#.##').

    Отредактированное выражение

    Символ # обозначает произвольную цифру в функции Number. Шаблон #.## преобразует любое количество цифр до запятой и до двух цифр после запятой. Значения в поле Total Value являются денежными, поэтому есть вероятность, что некоторые из них могут быть выражены с точностью до двух знаков после запятой. Этот шаблон гарантирует, что значения с десятичными разрядами могут быть преобразованы.

  13. Снова щелкните Запустить.

    Окно Выходные данные все еще отображает Number: NaN. Далее вы обратитесь к документации функции, чтобы найти решение.

Исправить выражение

Вы помните из таблицы атрибутов, что перед каждым числом в поле Total Value стоял символ $. Это текстовый символ. Выражение не работает, потому что не может преобразовать символ $ в число. Вы обратитесь к документации функции Number, чтобы узнать, есть ли способ удалить символ $.

  1. На панели инструментов щелкните Функции.
  2. В строке поиска введите number.
  3. Рядом с Number(value, pattern?) -> Number, щелкните кнопку со стрелкой.

    Кнопка со стрелкой рядом с функцией Number

    Появится документация функции.

  4. Прокрутите вниз до раздела Примеры.

    Во втором примере показано, как игнорировать определенные символы при преобразовании текста в числа.

    Number('abc10def', 'abc##def') // return 10.

    Пример из документации функции

    В примере выражения abc и def определены как текст, который следует игнорировать. Вы можете использовать этот шаблон, чтобы игнорировать символ $.

  5. В конструкторе выражений поместите курсор перед #.## и введите $.

    Итоговое выражение должно читаться Number($feature.Total_Value, '$#.##').

  6. Щелкните Запустить.

    Окно Выходные данные отображает Number: 85200. Выражение успешно преобразовало такие значения, как $85,200, в числа, такие как 85200.

    Выходные данные

    Примечание:

    Если ваш веб-браузер настроен на язык, отличный от американского английского, выражение может не работать из-за запятых, используемых в качестве разделителей тысяч. Если в окне Выходные данные по-прежнему отображается Number: NaN, сотрите существующее выражение и замените его следующим:

    var numberOnly = Replace($feature.Total_Value, '$', '') // Remove dollar signs.
    var digitsOnly = Replace(numberOnly, ',', '') // Remove commas.
    Number(digitsOnly)
    Примечание:

    Когда вы нажимаете Запустить, выражение проверяется на первом объекте слоя.

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

  7. В верхней части окна щелкните Новое выражение. Сотрите существующий текст и введите Total Value (numeric).

    Переименованное выражение

  8. Щелкните Готово.

    Карта снова появится. На панели Стили, в качестве выбранного атрибута отображается выражение Total Value (numeric). В качестве стиля по умолчанию для числовых значений, возвращаемых этим выражением, выбрано Числа и количества (цвет).

    Панель Стили и карта

    На карте значения из поля Total Value отображаются кружками большего размера для более высоких значений оценки объектов собственности.

    Примечание:

    Поле Total Value и слой Portage la Prairie property assessment не изменились. Выражение Total Value (numeric) сохраняется на веб-карте, а не в слое, но если вы сохраните копию слоя, она будет доступна для использования на других картах.

В этом руководстве вы узнали, как использовать функцию Arcade Number для преобразования текстовых значений в числовые значения для слоя на карте, чтобы можно было применить стиль Числа и количества. Написанное вами выражение — Number($feature.Total_Value, '$#.##') — также можно использовать для форматирования всплывающих окон и надписей.

Вы можете найти больше учебных пособий в галерее учебных пособий.