Как показать метки точно по кругу в QGIS?


10

Я нашел интересный способ пропорционального сопоставления и маркировки символов, я думаю, что это было сделано Adobe Illustrator, но я не мог выяснить, можно ли это сделать в QGIS. Больше всего меня интересует то, как текст (атрибуты) появляются вокруг кругов. Я буквально понятия не имею, как сделать такую ​​тематическую маркировку карты, как это, в QGIS.

Это изображение:

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

Ответы:


5

Вкратце

Вы должны разбить каждый круг на 2 половины, а затем преобразовать их в ломаную линию (или любое другое значение, чтобы имитировать периметр верхней и нижней половин). Главное, чтобы в конце был слой с верхним периметром и нижним периметром.

Затем вы помечаете верхнюю метку кривой с верхним значением, а нижнюю помечаете нижней.

Ниже приведены инструкции по использованию снимков экрана.

Таблица ваших сущностей должна выглядеть следующим образом (это тестовый пример, с вашими данными он будет другим). Я создал поле позиции и поле метки здесь.

Таблица

В случае, когда вы сохраняете один физический уровень, вы дублируете свой слой и устанавливаете фильтр, соответствующий «UP» для копии слоя и «DOWN» для другого (совет: когда кто-то установит это свойство в определенных данных поле это будет проще)

Фильтр

Это должно выглядеть так в свойствах:

конструктор запросов свойств

Для каждого вы устанавливаете разные свойства маркировки

Под слоем

Ниже

Верхний слой

верхний

тогда вы получите:

Пышная


Ну, теперь я чувствую себя глупо ...
Csk

2
Не надо, мы все учимся каждый день. Вот что такое Stack Exchange!
Гиснсайд

Мне очень нравится ваше решение, но я борюсь с разбиением кругов на две половины. Сначала у меня был точечный слой. Я создал вокруг них буферы и получил полигоны, которые я преобразовал в полилинии. Моя проблема в том, что я не могу разрезать их горизонтально пополам. Даже плагин "Poligon Splitter" не делает то, что я хочу. Не могли бы вы помочь мне, как вы это сделали?
Скай

Для этого примера я просто создал базовый круг, который я разделил на две части. Тем не менее, для большого числа кругов, я полагаю, вам может понадобиться создать несколько горизонтальных линий, которые распространяются горизонтально за пределы круга. Из середины круга вам нужно создать две точки, одну с (X + радиус круга, Y), одну с (X - радиус круга, Y), а затем создать линию между этими двумя. Затем вы разделяете слой круговой линии на слой горизонтальной линии ... Или вы можете просто вручную использовать инструмент разделения объектов на панели инструментов расширенного редактирования вручную. Я посмотрю на случай, если что-то пропустил.
Генснсайд

Я попробую это, как только смогу :)
Скай

0

Кажется, что нет встроенного способа или плагина для приведения ярлыков в соответствие кривой (или любой другой форме, кроме прямой линии). Единственный способ добиться такого эффекта в QGIS - использовать фрейм HTML для каждой метки в редакторе печати. HTML не моя сильная сторона, но я нашел несколько сайтов, которые объясняют, как это сделать (ссылки внизу этого поста). Это звучит довольно утомительно - вероятно, гораздо проще создать карту без меток, а затем добавить их в другую программу. Или создайте ярлыки в другой программе, сохраните их как изображения и добавьте изображения в композитор печати.

https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.