Важно
Translation is a community effort you can join. This page is currently translated at 77.50%.
3.2. Lesson: Labels
Можно добавить надписи/метки для отображения любой информации об объекте. Надписи могут быть связаны с любым векторным слоем. Содержания этих надписей зависят от данных атрибутов слоя.
Цель данного занятия: Использовать в слое нужные и красивые надписи/ метки.
3.2.1. ★☆☆ Follow Along: Using Labels
В первую очередь убедитесь, что вам видна кнопка в системе GUI:
Пройдите к элементу меню
.Убедитесь, что рядом с панелью инструментов Label Toolbar установлен флажок. Если его нет, кликните на Label Toolbar, чтобы активировать флажок.
Кликните на слой
places
на панели Layers, чтобы его выделить.Кликните на кнопку на панели инструментов , чтобы открыть вкладку Labels на панели Стиль слоя Layer Styling.
Переключитесь с No Labels на Single Labels (Одиночные надписи/метки).
Вам нужно будет выбрать, какое поле в атрибутах будет использоваться для надписей. На предыдущем занятии вы решили, что поле Имя
name
наиболее подходит для данной цели.Выберите
name
из списка Значения:Кликните Применить Apply.
На карте должны появиться надписи/ метки следующим образом:
3.2.2. ★☆☆ Follow Along: Changing Label Options
В зависимости от стилей, которые вы выбрали для своей карты на предыдущих занятиях, вы можете обнаружить, что надписи/ метки имеют неправильный формат и они либо перекрываются, либо находятся слишком далеко от своих точечных маркеров.
Примечание
Ранее, вы применяли кнопку на панели Label Toolbar, чтобы открыть панель Стили слоя Layer Styling. Также, как и с Символикой Symbology, те же параметры надписей доступны через панель Layer Styling и через диалоговое окно Свойства слоя Layer Properties. Здесь вы будете использовать диалоговое окно Layer Properties.
Откройте диалоговое окно Layer Properties двойным нажатием на слой
places
.Убедитесь, что выбран Text в списке параметров слева, затем обновите параметры форматирования текста, чтобы они соответствовали показанным здесь:
Кликните Применить Apply.
Такой шрифт может быть крупнее и более знакомым пользователям, но его читабельность по-прежнему зависит от того, какие слои отображаются под ним. Чтобы решить эту проблему, давайте взглянем на опцию Буфер Buffer.
Выберите Buffer из списка параметров слева.
Установите флажок рядом с надписью Нарисовать текстовый буфер Draw text buffer, затем выберите параметры, соответствующие показанным здесь:
Кликните Применить Apply.
Вы увидите, что появляется цветной буфер или граница к надписям мест, что упрощает их выбор на карте:
Теперь мы можем заняться позиционированием надписей относительно их точечных маркеров.
Выберите Разместить Placement из списка параметров слева.
Выберите Вокруг точки Around point и измените значение Расстояние Distance на
2.0
миллиметра:Кликните Применить Apply.
Вы увидите, что надписи/ метки больше не перекрывают свои точечные маркеры.
3.2.3. ★★☆ Follow Along: Using Labels Instead of Layer Symbology
Во многих случаях расположение точки не обязательно должно быть очень конкретным. Например, большинство точек в слое places
относятся к целым городам или пригородам, а конкретная точка, связанная с такими функциями, не является такой уж конкретной в больших масштабах. На самом деле, когда задается слишком конкретная точка, она часто сбивает с толку того, кто читает карту.
Например, на карте мира точка, заданная как Европейский Союз, может быть где-то в Польше. Человеку, который «читает» карту и видит точку с надписью Европейский Союз на Польше, может показаться, что столица Европейского Союза, таким образом, находится в Польше.
Поэтому, для предотвращения такого рода недоразумений, часто полезно деактивировать символы точек и полностью заменить их надписями.
В QGIS это можно сделать, изменив положение надписей для их визуализации непосредственно над точками, на которые они ссылаются.
Откройте вкладку Labels в диалоговом окне Layer Properties в слое
places
.Выберите Placement из списка параметров.
Кликните на кнопку Смещение от точки Offset from point.
Это откроет параметры Квадранта Quadrant, которые вы можете использовать для установки положения надписи/ метки относительно маркера точки. В данном случае мы хотим, чтобы надпись располагалась по центру точки, поэтому выберите центральный квадрант:
Скройте символы точки чрез редактирование слоя Symbology как обычно, и задайте размер Маркера Marker до
0.0
:Кликните Apply и вы увидите следующий результат:
Если бы вы отдалили карту, то вы бы увидели, что некоторые надписи исчезают при большем масштабе, чтобы избежать перекрывания. Иногда это именно то, что вам нужно, когда вы имеете дело с наборами данных, которые содержат много точек, но в других случаях, вы потеряете полезную информацию. Есть еще одна возможность для работы с подобными случаями, о которых мы поговорим позже на этом занятии. А пока отдалите карту, кликните кнопку на панели инструментов и посмотрите, что произойдет.
3.2.4. ★★☆ Try Yourself: Customize the Labels
Сбросьте настройки надписи /метки и символа, чтобы получить точечный маркер и смещение надписи до
2.0
миллиметров.
Answer
Your map should now show the marker points and the labels should be offset by 2mm. The style of the markers and labels should allow both to be clearly visible on the map:
Установите масштаб карты
1:100000
. Вы можете сделать это через ввод в поле Масштаб Scale в Status Bar. Измените свои надписи, чтобы они подходили для просмотра в данном масштабе.
Answer
One possible solution has this final product:
To arrive at this result:
Use a font size of
10
Use an around point placement distance of
1.5 mm
Use a marker size of
3.0 mm
In addition, this example uses the Wrap on character option:
Enter a
space
in this field and click Apply to achieve the same effect. In our case, some of the place names are very long, resulting in names with multiple lines which is not very user friendly. You might find this setting to be more appropriate for your map.
3.2.5. ★★☆ Follow Along: Labeling Lines
Теперь, когда вы знаете, как работает надпись/ метка, возникает дополнительная проблема. Точки и полигоны легко надписать, но как насчет линий? Если вы надписываете их так же как точки, то ваши результаты будут выглядеть так:
Теперь мы переформатируем надписи слоя roads
, чтобы их было легче понять.
Скройте слой
places
, чтобы он вас не отвлекал.Активируйте Single Labels для слоя
roads
, как вы делали выше для слоя Местаplaces
.Установите Размер Size шрифта на
10
, чтобы вы могли видеть больше надписей.Приблизить местность города Свеллендам Swellendam.
Во вкладке Labels есть вкладка Размещение Placement, далее выберите следующие настройки:
Вы, вероятно, обнаружите, что для стиля текста используются значения по умолчанию, и поэтому надписи очень трудно читать. Обновите Text, чтобы использовать темно-серый или черный цвет Color, и Buffer, чтобы использовать светло-желтый цвет Color.
Карта будет выглядеть примерно так, в зависимости от масштаба:
Вы увидите, что названия некоторых дорог появляются более одного раза, и это не всегда необходимо. Чтобы этого не произошло:
Во вкладке Labels есть диалоговое окно Layer Properties, выберите параметр Визуализация Rendering и выберите «Объединить соединенные линии, чтобы избежать дублирования надписей» Merge connected lines to avoid duplicate labels, как показано ниже:
Кликните OK
Еще одна полезная функция –это то, что можно предотвратить рисование надписей для функций, слишком короткими, чтобы их можно было заметить.
На той же панели Визуализация Rendering установите значение Подавить маркировку функций менее чем… Suppress labeling of features smaller than…
5.00 mm
и обратите внимание на результаты, когда вы нажмете кнопку Apply.Попробуйте также другие настройки места Placement. Как мы видели ранее, вариант По горизонтали Horizontal в данном случае не лучший вариант, поэтому давайте попробуем вместо этого вариант Изогнутый Curved.
Выберите параметр Изогнутый Curved на панели Размещение Placement во вкладке Надписи Labels.
Вот результат:
Как видите, такое действие скрывает некоторые надписи, которые были ранее видны, из-за сложности заставить некоторые из них следовать извилистым линиям улиц, оставаясь при этом читаемыми. Это делает другие надписи гораздо более полезными, поскольку они отслеживают дороги, а не плавают в пространстве между ними. Вы можете решить, какой из этих вариантов применить, в зависимости от того, что, по вашему мнению, кажется более полезным, или что выглядит лучше.
3.2.6. ★★★ Follow Along: Data Defined Settings
Отключите надпись слоя
roads
.Повторно активируйте надпись слоя
places
.Откройте таблицу атрибутов
places
с помощью кнопки .В таблице есть одно поле, которое нас сейчас интересует: это Место
place
, оно определяет тип городской местности для каждой записи. Мы можем использовать эти данные, чтобы повлиять на стили надписей.Перейдите на панель Text на панели
places
Labels.Кликните на кнопку рядом с кнопкой курсивного текста под надписью Стиль Style и выберите Редактировать… , чтобы открыть Конструктор строк выражений Expression String Builder:
В поле
дважды кликните наplace
, а затем кликните Все уникальные All Unique. Откроется список всех уникальных значений поляplace
данного слоя. Добавьте=
в текстовом редакторе, а затем дважды кликнитеtown
.Кроме того, вы можете ввести: «место=город» /
"place" = 'town'
прямо в текстовом редакторе.Кликните дважды OK:
Обратите внимание, что надписи для всех мест, в которых поле place
соответствует town
, отображаются курсивом.
3.2.7. ★★★ Try Yourself: Using Data Defined Settings
Примечание
Мы немного забегаем вперед, чтобы продемонстрировать некоторые более продвинутые настройки надписей. Предполагается, что если вы на продвинутом уровне, вы знаете что нижеследующее означает. Если вы не сможете это сделать, пропускайте данный раздел и вернитесь позже, когда вы изучите необходимые материалы.
Откройте Таблицу атрибутов для
places
.Настройте его следующим образом:
Используйте это, чтобы установить собственный размер шрифта для каждого типа места (каждый ключ в поле
place
).
Answer
Still in edit mode, set the
FONT_SIZE
values to whatever you prefer. The example uses16
for towns,14
for suburbs,12
for localities, and10
for hamlets.Remember to save changes and exit edit mode
Return to the Text formatting options for the
places
layer and selectFONT_SIZE
in the Attribute field of the font size data defined override dropdown:
Your results, if using the above values, should be this:
3.2.8. ★★★ Further Possibilities With Labeling
Мы не можем охватить все варианты в данном курсе, но имейте в виду, что во вкладке Label есть много других полезных функций. Вы можете установить визуализацию на основе масштаба, изменить приоритет визуализации для надписей в слое и установить каждый параметр надписи с помощью слоя атрибутов. Вы даже можете установить ротацию, положение XY и другие свойства надписи (если у вас есть поля атрибутов, выделенные для данной цели), а затем отредактировать эти свойства с помощью инструментов, расположенных рядом с основной кнопкой Параметры надписей слоя Layer Labeling Options:
(Данные инструменты будут активны, если существуют обязательные поля атрибутов и вы находитесь в режиме редактирования).
Не стесняйтесь исследовать больше возможностей системы надписей.
3.2.9. In Conclusion
Вы узнали, как использовать атрибуты слоя для создания динамических надписей. Это может сделать вашу карту более информативной и стильной!
3.2.10. What’s Next?
Теперь, когда вы знаете, как атрибуты могут повлиять на вашу карту, как насчет их использования для изменения надписей самих объектов? Это тема следующего занятия!