Как создать ярлык, объединяющий шрифты разных размеров или типов?

16

Я хотел бы поместить номер возвышения точки в другой фронтальный размер и центрировать под его именем:

введите описание изображения здесь

Это возможно?

(Это моя фактическая маркировка: label || '\n' || elevation)

КАРТА
источник

Ответы:

12

Не обращая внимания на размер шрифта в течение минуты, вы можете достичь первого варианта, центрируя метку над точкой, в QGIS 1.9 у вас есть возможность центрировать текст под разделом из нескольких строк. Если вы включили символ новой строки в свое выражение, вы можете оставить поле «Обтекание по символу» пустым (или я добавлю косую черту в моем выражении вместо «\ n» и установите его в качестве символа обтекания - символа обтекания). не показано). Это установит ваш текст по центру, как во втором варианте. Для чего-то вроде вашего первого варианта, вы можете установить опцию высоты линии на 2 или 3.

Однако расширенная маркировка QGIS имеет только одну опцию для размера шрифта. Таким образом, для достижения разных размеров шрифта, я думаю, вам придется добавить свой слой во второй раз и установить там шрифт и положение высот.

MappaGnosis
источник
1
Существуют ли какие-либо текущие или будущие планы по внедрению тегов шрифтов на основе HTML для меток QGIS, так же, как теги форматирования текста ArcGIS ?
RyanKDalton-OffTheGridMaps
1
@RyanDalton hub.qgis.org/issues/4080 Это хорошая идея, но она может замедлить рендеринг метки, и может быть трудно определить соответствующий размер метки (так как это сейчас основано на QFontMetricsF ), но нужно попробовать чтобы осуществить это первым, чтобы знать наверняка. Нет планов для 2.0, но может быть выполнимо для 2.1.
Даккарто
1
Есть новости по этому поводу?
КАРТА
Возможно ли это сделать на QGIS 3.6?
Денилсон
5

Вы можете добиться того, чего хотите, используя маркировку на основе правил, но вам нужно разделить метки, расположенные в одном поле, на два поля. Опция маркировки на основе правил позволяет добавлять метки из разных полей и настраивать их по своему усмотрению, изменяя имя шрифта, цвет, размер и смещение, чтобы размещать их друг над другом.

Как вы можете видеть из приведенного ниже примера, я поместил японские метки и английские метки в два поля, а затем контролировал внешний вид каждой метки так, как я хотел:

введите описание изображения здесь

Сделать это:

  • Перейти к Layer properties -> Labels
  • Выбрать Rule-Based Labeling

введите описание изображения здесь

  • Определите поля, которые вы хотите использовать в маркировке, каждое из которых отдельно. В этом примере я использовал Name_JP и Name_EN.
  • Используйте стиль для каждого отдельно и настраивайте каждый, как вам нравится.
  • Наиболее важным является использование Offsetпод Placementодной из меток, чтобы они могли быть друг над другом. Для первого поля метки я использовал следующие настройки размещения:

введите описание изображения здесь

Для второго поля метки я использовал следующие настройки:

введите описание изображения здесь

Протестировано на QGIS 3.0.1, но оно также может применяться в QGIS 2.18, поскольку доступна опция маркировки на основе правил.

ahmadhanb
источник
1

Я использовал дубликат одного и того же слоя и пометил как места размещения сверху и снизу соответственно после проверки «показать все метки и элементы для всех слоев», как прикрепленои это работает!

Асику Эммануэль
источник