Разработка и применение пользовательского символа
Слой USA Current Wildfires использует круглый символ с простой формой пламени внутри. Чтобы начать этот урок, вы изучите принципы разработки именно такого символа.
Решите, что необходимо разработать в символе
Цель любого картографического символа - это давать информацию быстро, четко и интуитивно понятно. Чтобы разработать такой символ, вы должны рассмотреть, что необходимо сделать. Вы должны задать вопрос, какая цель этих данных? и кто является целевой аудиторией?
Символ, который вы будете использовать в этом уроке, уже был создан с помощью графического программного обеспечения.
Перед тем, как использовать символ на карте, посмотрите видео о том, как функциональность влияет на дизайн символа. Понимание целей и функциональности символа в этом примере поможет вам разработать и выбрать более эффективный символ для вашей карты.
Подумайте о том, насколько символы будут хорошо видны на карте, об их цвете и четкости, это поможет пользователям лучше читать и понимать карту.
Создание ваших собственных символов в ArcGIS Online сделает ваши карты уникальными и понятными. Вы изучили возможные принципы дизайна для пользовательских символов и некоторые способы, как их найти. Далее вы загрузите и примените пользовательский символ пламени к набору данных USA Current Wildfires.
Отображение данных о лесных пожарах в реальном времени по типу и по масштабу
Вам не нужно отображать все пожары одним и тем же символом. Вы будете использовать несколько вариантов цвета и размера символа, чтобы сделать карту более информативной для пользователей. Вы покажете, где сейчас есть пожары, какого они типа, какие из них новые и, для установившихся пожаров, насколько они крупные.
Также можно управлять размером каждого символа при масштабировании карты так, чтобы символы отображались с более подходящим размером для каждого масштаба.
Загрузите символ лесного пожара и сохранить копию карты лесных пожаров
Вы загрузите копию символа лесного пожара для последующего использования, затем сохраните подготовленную для этого урока версию карты USA Current Wildfires, чтобы иметь возможность ее редактировать.
- Скачайте символ пожара.
Этот символ для инцидентов лесных пожаров в США, которые возникли за последние 24 часа.
- Откройте веб-карту USA Current Wildfires.
Веб-карта USA Current Wildfires появится в Map Viewer. На карте показаны красные маркеры, в основном в западной части США.
Затем вы сохраните свою собственную копию этой карты.
- Войдите под учётной записью организации ArcGIS.
Примечание:
Если у вас нет учетной записи организации, см. варианты доступа к программному обеспечению.
- На панели инструментов Содержание (темная) щелкните кнопку Сохранить и открыть и выберите Сохранить как.
- В окне Сохранить карту для Заголовка наберите USA Current Wildfires и добавьте свое имя или инициалы. Примите существующий текст без изменений для Теги и Краткая информация.
- Щелкните Сохранить.
Классификация по типу пожару
У слоя USA Current Wildfires нет специальных полей, которые вам нужны для создания классов символов. Вы будете использовать ArcGIS Arcade, чтобы задать категории символов, которые вам нужны. С помощью Arcade вы создадите пользовательские категории на лету без добавления полей.
Вы напишете выражение Arcade, которое использует три поля из таблицы атрибутов, чтобы задать восемь классов символов на основании типа, длительности и размера пожара.
- На панели инструментов Содержание щелкните Слои.
В карте есть три тематических слоя, но только один из них видимый: Sept 1, 2021. Этот слой - архивная версия слоя реального времени. Он был записан 1 сентября 2021 года, во время сезона особенно сильных пожаров на западе, и содержит весь диапазон значений данных, необходимых для создания полного набора символов.
Вы будете работать со слоем данных реального времени позже, но, чтобы создать классы символов, сейчас будете работать с архивным слоем.
Архивный слой отображает все точки лесных пожаров как красные точки. Вы присвоите символы, который могут дать больше информации, чем просто расположение.
- В панели Слои щелкните Sept 1, 2021, чтобы выбрать его
Примечание:
Выбранный слой имеет синюю вертикальную полосу слева от названия.
- На панели инструментов Настройки (светлая) щелкните Стили.
- На панели Стили в разделе Выбрать атрибуты щелкните Выражение.
Появится редактор выражения Arcade. Окно выражения - это то место, где вы создаете выражение.
- В окне Выражение удалите первые три строки, они не понадобятся. Введите (или скопируйте и вставьте) var Acres = и добавьте в конце пробел.
Выражение var расшифровывается как Переменная. Переменные - это упрощенные имена для объектов, чтобы на них было легко ссылаться в выражении.
Далее вы укажете значение переменной.
- Щелкните значок Развернуть, чтобы увидеть боковые закладки.
На вкладках Переменные профиля и Функции вы найдете элементы, которые будете использовать в выражении. Вкладка Справка открывает веб-страницу справки Arcade.
- Щелкните Переменные профиля. На панели Переменные профиля щелкните стрелку рядом с $feature.
- В Значениях найдите и щелкните $feature.DailyAcres.
Строка добавится в окно выражения, завершая вашу первую строку кода.
В дальнейшем любая ссылка на переменную Acres будет получать доступ к значению атрибута Daily Acres для каждого объекта в слое (в нашем случае это каждый отдельный пожар).
Вы определите еще две переменные для представления еще двух полей.
- В окне Выражение нажмите Enter, чтобы перейти на следующую строку выражения. Скопируйте и вставьте следующие две строки кода:
var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory
Сейчас у вас три заданных переменных. Acres - это количество акров гарей после пожара. Age - это количество дней с момента первого сообщения о пожаре, а Type определяет каждый инцидент пожара либо как стихийный пожар, либо как предписанный пожар, либо как сложный случай.
Вы проверите, как работают переменные.
- В окне Выражение в новой строке наберите return Type
- Щелкните Запустить.
Появится окно Результаты. Показанный результат - это RX.
Это значение из поля Incident Type Category для первого инцидента пожара в наборе данных. RX - это код для предписанного пожара.
Предписанные пожары - это управляемые поджоги, которые часто планируются для предотвращения крупных пожаров позже. Вам нужно отобразить все предписанные пожары отдельным классом символов, так как они сильно отличаются от остальных пожаров в наборе данных. Вы также дадите этом классу символов более понятное имя, чем RX, чтобы пользователи могли понять легенду карты.
- В окне выражения удалите текст return Type. Скопируйте и вставьте следующий код:
if (Type == 'RX') { return "Prescribed Fire" }
Это выражение if возвращает строку Prescribed Fire каждый раз, когда в поле Incident Type Category значение RX.
- Щелкните Запустить.
Возвращаемый результат Prescribed Fire.
- На следующей строке скопируйте и вставьте следующий код:
if (Type == 'CX') { return "Incident Complex" } if (Age == 0) { return "New (Past 24-hour)" }
Этот код создает еще две категории символов. Первая предназначена для комплексов инцидентов, представляющих собой два или более пожара в одной области, которые управляются одной командой по управлению инцидентами. Вторая категория для пожаров, сообщение о которых появились за последние 24 часа. Для новых инцидентов пожаров нет кода Type. Выражение ищет новые записи, просматривая переменную Age (поле Fire Discovery Age).
Заданные вами три категории предназначены для специальных случаев инцидентов пожаров. Далее вы распределите все оставшиеся пожары в разные классы символов в зависимости от размера.
- В окне выражения в следующей строке скопируйте и вставьте следующий код:
When ( Acres < 1000, "0-999", )
Любые инциденты, которые не попали под условия IF, будут переданы в это выражение When:
Это выражение переводится как When значение Acres меньше, чем 1000, вернуть строку 0-999. Вы добавите больше классов символов для больших пожаров.
- Поместите курсор на пустой строке (строка 15) и вставьте следующий код:
Acres < 10000, "1,000-9,999", Acres < 50000, "10,000-49,999", Acres < 300000,"50,000-299,999",
Теперь у вас есть четыре класса символов, основанных на количестве акров площади. Вы добавить еще один класс для тех инцидентов, которые не попали ни в одну категорию.
- Поместите курсор перед закрывающей скобкой и вставьте "300,000 or more" (включая кавычки). Нажмите Enter.
Ваше выражение должно выглядеть вот так:
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory if (Type == 'RX') { return "Prescribed Fire" } if (Type == 'CX') { return "Incident Complex" } if (Age == 0) { return "New (Past 24-hour)" } When ( Acres < 1000, "0-999", Acres < 10000, "1,000-9,999", Acres < 50000, "10,000-49,999", Acres < 300000,"50,000-299,999", "300,000 or more" )
Вы написали выражения If перед выражением When, поэтому выражение будет выполняться более эффективно. Порядок выражений важен: выражение If сначала фильтрует сначала те пожары, которые не нужно сортировать по размеру, поэтому выражение When должно обработать оставшиеся пожары, а не все. Это выражение следует рекомендациям выполнения сначала более общей сортировки (в этом случае, по типу пожара) перед специфичной сортировкой (в этом случае, по размеру пожара), что позволяет слою быстрее отображаться на карте
- Щелкните Запустить.
Результат - Prescribed Fire.
Первая запись в таблице атрибутов - это предписанный пожар, и он был отсортирован первым выражением If.
- В верхней части редактора выражений Arcade, удалите существующий текст.
- Введите USA Wildfire Incidents (Acres) и нажмите Tab.
- Щелкните Готово.
Карта обновляется, чтобы показать класс символов, заданный вами в выражении Arcade. Вы продолжите настройку символов далее, чтобы показать каждый класс символов своим цветом.
Применение пользовательских символов
Карточка легенды отображается на карте, показывая созданный вами класс символов. Далее вы измените порядок классов символов и примените пользовательский символ к одной категории.
- На панели Стили в разделе Выбрать стиль для карточки Типы (уникальные символы) щелкните Опции стилей.
- На панели Опции стилей рядом с 300,000 or more щелкните и перетащите кнопку переупорядочивания, чтобы переместить слой в верх списка.
- Измените порядок классов символов таким образом, чтобы они отображались в следующем порядке:
- 300,000 or more
- 50 000-299 999
- 10 000-49 999
- 1 000-9 999
- 0-999
- New (Past 24-hour)
- Incident Complex
- Prescribed Fire
Классы символов перегруппированы.
Далее вы примените значок пламени к одному из классов символов.
- Щелкните символ рядом с New (Past 24-hour) (Новые (Последние 24 часа)).
- На панели Стиль символов для Текущего символа щелкните Основная точка.
- Для Категории, в разделе Добавленные стили, щелкните Загруженные символы.
- Нажмите Обзор и выберите изображение, загруженное вами ранее в предыдущем упражнении.
- Щелкните Готово.
Желто-красный значок пламени отображается в окне Стиль символов.
- Для Размера введите 19.5 пикселов.
Новые пожары теперь имеют пользовательский символ.
Далее вы можете применить пользовательские символы для других семи классов символов. Сейчас вы пропустите этот шаг, и будете работать с набором данных реального времени, где классы символов уже были заданы.
- На панели Опции стиля щелкните Готово дважды.
- На панели Содержание для слоя Sept 1, 2021 нажмите кнопку Видимость, чтобы его более не было видно.
- Для слоя USA Current Wildfires – Current Incidents нажмите кнопку Видимость, чтобы он отобразился на карте.
Примечание:
Слой USA Current Wildfires – Current Incidents все время изменяется и дополняется, поэтому карта, которую вы видите, может не соответствовать иллюстрации в учебном руководстве.
- На панели инструментов Содержание щелкните Легенда.
Отображаются восемь классов символов, каждый с отдельным символом. Первые пять классов используют один и тот же файл изображения с разным размером.
- На панели инструментов Содержание щелкните Сохранить и открыть и выберите Сохранить.
Изменение размера символов в зависимости от масштаба карты
Создавая карту для печати, вы думаете о размере символов только один раз. Но интерактивную карту пользователи могут масштабировать. Масштаб все время меняется, и символ, который хорошо выглядел в одном масштабе, может выглядеть слишком большим или маленьким в других масштабах.
Далее вы напишете второе выражение Arcade, чтобы размер символов пожаров немного менялся при масштабировании карты. Изменение будет незаметным, но оно гарантирует, что символы будут всегда подходящего размера для этого масштаба.
- На панели Слои проверьте, что выбран слой USA Current Wildfires – Current Incidents. На панели инструментов Настройки щелкните кнопку Стили.
В разделе Выбрать атрибуты перечислены выбранные атрибуты - это USA Wildfire Incidents (Acres). Это то же выражение, которое вы создали в предыдущих шагах.
- Для Выбрать атрибуты щелкните Выражение.
Вы начнете с создания переменных.
- В окне Выражение удалите существующий текст. Скопируйте и вставьте следующий код:
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory
Эти переменные такие же, как в предыдущем выражении. Они все дают доступ к полям атрибутивной таблицы. Далее вы добавите четвертую переменную, которая запрашивает карту, а не атрибутивную таблицу.
- На следующей строке наберите var vs = и добавьте в конце пробел.
- На панели Переменные профиля щелкните стрелку для $view и нажмите $view.scale.
Переменная vs возвращает текущий масштаб карты в момент запуска выражения.
Вы будете использовать ее, чтобы задать различные размеры символов для различных масштабов карты.
- Нажмите Enter. Введите return vs. Нажмите Запустить.
Результат - это большое число.
Число представляет текущий масштаб карты. Оно может различаться в зависимости от масштаба вашей карты перед тем, как вы открыли редактор выражения Arcade. В примере выше текущий масштаб карты приблизительно 1:18 500 000.
- Удалите return vs. Нажмите Enter, чтобы пропустить строку.
- Скопируйте и вставьте следующий код:
var ValueSize = When ( Type == 'RX', 17, )
Переменная ValueSize не ссылается на одно значение из таблицы атрибутов или карты, как делают другие переменные. Эта переменная содержит выражение. Выражение означает When Type равен RX, сделать размер символа 17 точек. Вы добавите комментарий в это выражение, чтобы его было легче понять.
- Поместите указатель после Type == 'RX', 17,. Наберите пробел, а затем //Prescribed Fire.
В Arcade любой текст после // это комментарий. Комментарии не влияют на код.
Вы добавите еще семь строк в выражение ValueSize, чтобы задать размеры для других классов символов.
- Поместите указатель на пустой строке (строка 8) и вставьте следующий код:
Type == 'CX', 18, //Incident Complex Age == 0, 19.5, //Past 24-hour Acres < 1000, 18, //0-999 Acres < 10000, 25, //1,000-9,999 Acres < 50000, 33, //10,000-49,999 Acres < 300000, 41, //50,000-299,999
Это те же самые классы символов, которые вы определили ранее, но в этом раз вы присвоите каждому размер вместо имени. Более крупные пожары отображаются более крупными символами. Новые пожары также немного больше остальных, 19.5 пикселов, чтобы выделить их, а также потому, что желтый цвет символа новых пожаров немного сложнее различить на светлом фоне.
Далее вы проверите выражение ValueSize.
- Поместите указатель после закрывающей скобки и нажмите Enter дважды, чтобы пропустить строчки.
- Введите return ValueSize и нажмите Запустить.
Окно Результаты показывает ошибку.
Значение по умолчанию требуется в выражении When для обработки данных, которые не попали ни в один из созданных вами классов.
Вы добавите один в конец вашего выражения, чтобы присвоить размер символа любому пожару больше 300 000 акров.
- Поместите курсор перед закрывающей скобкой и наберите 47. Поместите курсор после закрывающей скобкой и наберите //300,000 or more.
- Снова щелкните Запустить.
На этот раз возвращено число. Оно может быть разным, потому что вы работаете с набором данных реального времени, который обновляется каждый день, но число должно быть 17, 18, 19.5, 25, 33, 41 или 47.
В примере выше возвращено число 47, которое показывает вам, что проверяемый объект - это стихийный пожар, площадь которого более, чем 300 000 акров.
До этого момента ваше выражение делает то же самое, что и для текущих символов: оно присваивает различные размеры каждому классу символов. Код пока дает базисные размеры для каждого класса символов. Далее вы будете использовать Arcade, чтобы менять каждый из этих размеров в зависимости от масштаба карты.
- Удалите return ValueSize и нажмите Enter. Скопируйте и вставьте следующий код:
When( vs > 9000000, ValueSize, vs > 4000000, 1 + ValueSize, )
Это выражение означает следующее:
- Когда масштаб карты больше 1:9 000 000, возвращается значение, заданное выражением ValueSize.
- Когда масштаб карты больше 1:4 000 000, возвращается значение, заданное выражением ValueSize плюс 1.
Эффект этого выражения на карте будет следующим:
- Когда масштаб карты уменьшается, будут использоваться базовые размеры символов.
- Когда масштаб карты увеличивается, размеры символов будут увеличиваться на одну точку.
- Поместите указатель на пустой строке (строка 20) и вставьте следующее:
vs > 2000000, 2 + ValueSize, vs > 1000000, 3 + ValueSize, vs > 500000, 4 + ValueSize, 5 + ValueSize
Это выражение When добавляет все увеличивающиеся числа к базовому размеру символа по мере увеличения масштаба. При уменьшении масштаба до отображения всей территории США, символ предписанного пожара будет 17 точек. Когда вы приближаетесь до масштаба города, он будет увеличен до 22 точек (17+5), так что останется заметным.
Примечание:
Карта меньшего масштаба означает, что эта карта, на которой объекты выглядят меньше по размеру. Масштаб 1:9 000 000 мельче, чем 1:500 000.
Ваше окончательное выражение должно выглядеть вот так:
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory var vs = $view.scale var ValueSize = When ( Type == 'RX', 17, //Prescribed Fire Type == 'CX', 18, //Incident Complex Age == 0, 19.5, //Past 24-hour Acres < 1000, 18, //0-999 Acres < 10000, 25, //1,000-9,999 Acres < 50000, 33, //10,000-49,999 Acres < 300000, 41, //50,000-299,999 47 //300,000 or more ) When( vs > 9000000, ValueSize, vs > 4000000, 1 + ValueSize, vs > 2000000, 2 + ValueSize, vs > 1000000, 3 + ValueSize, vs > 500000, 4 + ValueSize, 5 + ValueSize )
Наименьший размер символа 17, а наибольший 52 (47 + 5). Эти числа вам понадобятся позже, чтобы настроить символы.
- Нажмите кнопку Запустить.
Результат должен быть числом от 17 до 52.
- Имя выражения Размер символа. Нажмите Tab.
- Щелкните Готово.
На панели Стили в разделе Выбрать атрибуты находятся два выражения: USA Wildfire Incidents (Acres) and Размер символа. Оба этих значения будут представлены символами.
Символы стиля по типу и размеру
На панели Стили доступен стиль Типы и размер. Эта опция отображается, когда у вас есть одно поле (или выражение), которое возвращает текстовые значения, и другое, которое возвращает числовые значения.
- На панели Стили для Типы и размер щелкните Опции стилей.
Панель показывает две карточки. Вы примените свойства символа к каждому выражению отдельно.
- Для Типы (уникальные символы) щелкните Опции стилей.
Все символы, которые были применены на основе выражения USA Wildfire Incidents (Acres), все еще существуют. Вам не нужно делать здесь никаких изменений.
- Щелкните Отмена.
- На карточке Числа и количества (размер) щёлкните Опции стилей.
Этот стиль будет конвертировать значения из выражения Размер символа в настоящие размеры символов. Вы настроите стиль так, что возвращаемое значение 17 (наименьшее возможное выражение) будет отображаться символом размером 17 пикселов, а возвращаемое значение 52 (наибольшее возможное значение) будет отображаться символов 52 пиксела.
- Щелкните число вверху гистограммы. Наберите 52 и нажмите Enter.
Примечание:
Поскольку вы используете потоковые данные, которые часто меняются, числа и данные гистограммы по умолчанию могут отличаться от приведенных в примере на рисунке.
Вы также переместите верхнюю метку-манипулятор гистограммы. Любое значение, больше либо равно значению метки-манипулятора будет отображено максимальным размером символа.
- Перетащите метку вверх, пока на ее подписи не появится 52.
Теперь когда вы корректно задали диапазон данных, вы убедитесь, что диапазон размера соответствует диапазону от 17 до 52.
- В опции Размер измените Min на 17 пиксела и Max на 52 пиксела.
- Выключите опцию Включить в легенду.
- Щелкните Готово три раза.
- Масштабируйте карту и наблюдайте за размерами символов.
Символы увеличиваются при приближении. Но изменение плавное. Вы не хотите, чтобы эти изменения были заметны, потому что это может запутать пользователя карты. Но небольшое увеличение размера при крупных масштабах упрощает чтение карты.
На изображении ниже сравниваются неизменные размеры символов с изменяемыми размерами, которые немного увеличиваются при увеличении карты.
- Сохраните карту.
Вы присвоили символов текущим инцидентам пожаров с помощью трех типов настройки. Первый тип - вы написали выражение Arcade, чтобы создать пользовательские классы символов для различных типов и размеров огня. Второй тип - вы применили пользовательские символы .png к классам символов. Третий тип - вы написали другое выражение Arcade, чтобы менять размеры символов при разных масштабах.
Настройка надписей, границ пожара и всплывающих окон
На вашей карте сейчас есть данные лесных пожаров, им назначены символы-маркеры, которые показывают пользователю типа и размер пожара. Есть еще два набора информации, которые тоже нужно отобразить: название каждого пожара и границу области пожара.
Создание надписей
У слоя лесных пожаров уже есть всплывающие окна, настроенные так, чтобы пользователи могли щелкнуть на них для изучения информации о каждом инциденте. Однако в крупных масштабах достаточно места, чтобы также включить еще и надписи. Надписи помогают пользователям найти пожары, которые их интересуют в данный момент. Вы создадите надписи для слоя пожаров, которые соответствуют символам и появляются только при приближении к карте.
- При необходимости повторно откройте веб-карту USA Current Wildfires.
- На панели Слои проверьте, что выбран слой USA Current Wildfires – Current Incidents. На панели инструментов Настройки щелкните Надписи.
- На панели Надписи выключите опцию Включить надписи.
Надписи появятся на карте.
Вы улучшите эти надписи так, чтобы они хорошо выглядели и оставались читаемыми при разных масштабах и на разных картах.
Некоторые из надписей отформатированы как предложения, другие написаны заглавными буквами. Вы будете использовать Arcade, чтобы убедиться, что для всех надписей используется один и то же формат.
- На панели Надписать объекты для Поля надписи щелкните кнопку для выражения.
- В редакторе выражений Arcade удалите существующий текст и наберите и скопируйте и вставьте var Name = Upper($feature.IncidentName).
Переменная Имя будет возвращать значение IncidentName из атрибутивной таблицы, но изменит его, чтобы сделать его заглавными буквами.
Вы также используете это выражение, чтобы гарантировать, что предписанные пожары не подписываются. Чтобы это достигнуть, вы сделаете переменную и выражение When.
- На следующей строке наберите или скопируйте и вставьте следующий код:
var Type = $feature.IncidentTypeCategory When ( Type == 'WF', Name, Type == 'CX', Name, "" )
Это выражение означает, что When пожар природный или сложный, возвращается название заглавными буквами. Иначе ничего не возвращается.
- Щелкните Запустить.
Результат будет отличаться в зависимости от текущего набора данных, но это должно быть либо название пожара заглавными буквами, либо ничего.
- Отредактировать имя выражения на Uppercase Name. Нажмите Tab и щёлкните Готово.
Все надписи на карте меняются на заглавные буквы. Предписанные пожары сейчас не надписываются.
Далее вы измените стиль надписей, чтобы гарантировать, что они работают на различных картах. На темной базовой карте текущие черные надписи будет сложно прочитать. Кроме того, на карте с несколькими другими слоями, может быть непонятно, какие надписи относятся к пожарам, а не к каким-то другим объектам на карте.
Вы исправите эти недостатки, оформив надписи белыми и красными символами.
- На панели Надписать объекты щелкните Редактировать стиль надписей.
- В окне Стиль надписи для Цвета выберите белый.
- Включите Гало. Для Цвета выберите красный. Задайте Размер равным 2.
Гало позволяет вам управлять фоном текста так, чтобы он оставался читаемым независимо от фона карты. Выбранные цвета помогают связать надписи с символами пожаров. Далее вы настроите выравнивание, чтобы было понятно, что какая надпись к какому символу относится.
- Для Размещения выберите В центре внизу.
Теперь надписи лежат непосредственно под каждым символом.
Некоторые из надписей закрывают символы карты. Вы уменьшите надписи и гарантируете, что они появятся только в крупных масштабах, где для них достаточно места.
- Закройте окно Стиля надписей.
- В панели Надписать объекты в опции Видимый диапазон щёлкните Мир и выберите Округа.
- Масштабируйте карту, чтобы проверить надписи.
Они появляются при приближении и исчезают при отдалении.
Эти надписи дают информацию без подавления символов пожаров.
- Сохраните карту.
Назначение символов границам областей пожаров
Итак, у вас на карте есть точечные данные для представления пожаров. Далее вы присвоите символы полигональному слою, чтобы показать территорию пожара. Этот слой важен для пользователей карты, потому что они могут видеть, насколько близко к их дому или к другому важному для них месту находится пожар. Вы выберете символы, которые подходят под отраслевые стандарты.
- На панели Слои выключите слой USA Current Wildfires – Current Incidents.
- Включите слой USA Current Wildfires – Current Perimeters и выберите его.
- На панели инструментов Содержание щелкните Легенда. Приближайтесь к области с большим количеством пожаров, пока не появятся периметры пожара.
Появится панель Легенда. Этот слой имеет два класса символов: один для границ лесных пожаров, а другой для границ предписанных пожаров.
Вы измените эти символы по умолчанию на стандартный символ для выгоревшей области. Следование стандартам или условным обозначениям поможет вам сделать карту легкочитаемой, потому что она будет совпадать с тем, какой эту карту ожидает увидеть пользователь.
- На панели инструментов Настройки щелкните Стили. На панели Стили для параметра Типы (уникальные символы) щелкните Опции стилей.
- Щелкните красный символ для Wildfire Daily Fire Perimeter.
- В окне Стиль символа щелкните Цвет заливки. В окне Выбрать цвет введите #F7ADA4 и нажмите Готово.
- В окне Стиль символа для Прозрачности заливки введите 50.
- Щелкните Цвет контура. В окне Выбрать цвет введите #E60C0C и нажмите Готово.
- В окне Стиль символа для Прозрачность контура введите 0.
- На панели Опции стиля нажмите на символ для Предписанного пожара. На панели Стиль символа задайте следующие параметры:
- Для Цвета заливки введите#E8BD71.
- Для Прозрачности заливки переместите бегунок на 50 процентов.
- Для Цвета контура введите #E5A53E.
- Для Прозрачности контура переместите бегунок на 0 процентов.
Стили для категорий в слое USA Current Wildfires - Current Perimeters теперь настроены.
- На панели Опции стиля щелкните Готово дважды.
Границы теперь обозначены в соответствии с отраслевыми стандартами.
- Сохраните карту.
Настройка всплывающих окон
Всплывающие окна - это важный компонент веб-картографии. Эффективные всплывающие окна настраиваются, чтобы предоставлять информацию, необходимую для специфичных целей карты. У обоих слоев Current Incidents и Current Perimeters уже есть настроенные всплывающие окна; однако, но вы улучшите всплывающие окна Current Perimeters, чтобы они лучше обрабатывали пустые значения.
- На карте щелкните на полигон области пожара, чтобы просмотреть всплывающее окно.
Всплывающее окно включает число акров площади пожара. Однако, иногда размер пожара неизвестен. Такое часто бывает для новых пожаров. В этих случаях всплывающее не покажет число площади пожара.
Лучше, чтобы всплывающее окно не показывало пустые значения площади горения. Вы напишете последнее выражение Arcade, которое возвращает число акров площади горения в большинстве случаев, но когда числа нет, оно будет возвращать текст Not Available вместо этого.
- Закройте всплывающее окно.
- На панели Слои проверьте, что активен слой USA Current Wildfires – Current Perimeters. На панели инструментов Настройки щелкните Всплывающие окна.
- В панели Всплывающие окна нажмите Атрибутивные выражения.
- На панели Атрибутивные выражения щелкните Добавить выражение.
- В окне Выражение удалите существующий текст или скопируйте и вставьте var GISAcres = ! IsEmpty($feature.GISAcres).
Эта переменная проверяет, что поле GISAcres не пустое. ! означает Not.
- Нажмите Enter дважды и наберите return GISAcres. Щелкните Запустить.
Если результат true, это означает, что для проверяемого объекта поле GISAcres не пустое: оно имеет значение числа акров площади горения.
- Удалите return GISAcres и скопируйте и вставьте следующее:
If (GISAcres) Return text($feature["GISAcres"],'#,###.##')
Эта строка означает, если переменная GISArcres, то возвращается текст из поля GISArcres, форматированный как число с разделителями тысяч и двумя десятичными разрядами. Для большинства случаев будет возвращено число. Однако, вы по по-прежнему нужно закончить выражение If, чтобы оно охватывало те случаи, когда переменная GISArcres возвращает false вместо true.
- На следующей строке наберите Return "Not Available".
- Щелкните Запустить.
Результатом должно быть либо число, либо текст Not Available.
- Измените название выражения на Acreage.
Ваше окончательное выражение должно выглядеть вот так:
var GISAcres = ! IsEmpty($feature.GISAcres) If (GISAcres) Return text($feature["GISAcres"],'#,###.##') return "Not Available"
- Щелкните Готово.
Далее вы будете использовать выражение для всплывающего окна.
- В панели Атрибутивные выражения нажмите стрелку назад.
- На панели Всплывающие окна щелкните Текст и щелкните Редактировать текст.
- В тестовом окне в третьей строке удалите {GISAcres}.
- Разместите указатель на Acres Burned: и щелкните кнопку Добавить имя поля.
- Щелкните Acreage{expression/exp1}.
Выражение добавлено в текст содержания всплывающего окна.
- Нажмите OK.
На карте щелкните некоторые объекты полигонов площади горения. Строка Acres Burned выглядит так же, как раньше, для большинства объектов.
Но для пожаров без значения Acres Burned, всплывающие окна показывают, что количество акров площади горения недоступно.
- Закройте всплывающее окно панель Всплывающие окна.
- На панели Слои включите слой USA Current Wildfires – Current Incidents и изучите итоговую карту.
- Сохраните карту.
В этом уроке вы изучили способы настройки символов для веб-карт. Вы использовали пользовательскую графику как символ на карте. Вы использовали Arcade, чтобы классифицировать данные так, чтобы отображалась информация из нескольких полей. Вы изменили размер символов так, чтобы гарантировать, что они будут выглядеть хорошо при любом масштабе. Вы настроили надписи и символы полигонов границ пожаров и закончили настройкой всплывающих окон для отображения более точной информации.
Создание красивых карт всегда требует некоторого уровня настройки, так как каждый набор данных и каждая карта имеют свои особенности. Подход к дизайну и способы реализации, которые вы применили к слою USA Current Wildfires будут подходить для многих карт.
Дополнительные учебные руководства по картографии можно найти на странице Введение в картографию.
Вы можете найти больше учебных пособий в галерее учебных пособий.