Еще один подход SVG:
Сохраните приведенные ниже тексты в виде текстового файла SVG (скажем petal.svg
) в папку SVG.
<?xml version="1.0" encoding="UTF-8"?>
<svg id="petal" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<path d="M150,150 v-100 a100,100 0 0,1 38.26834323,7.61205 z"
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>
Он покажет один лепесток (центральный угол ~ 22,5 градуса) при загрузке в QGIS в качестве маркера SVG. Угол поворота начинается с нуля и увеличивается по часовой стрелке. Пожалуйста, измените цвета заливки и контура по мере необходимости.
Для использования вам может понадобиться два лепестка (45 градусов), три лепестка (67,5 градусов) и так далее. Пожалуйста, дайте мне знать, если вам нужны эти варианты .
РЕДАКТИРОВАТЬ (добавлены случаи для двух, трех и четырех лепестков)
Два лепестка:
<?xml version="1.0" encoding="UTF-8"?>
<svg id="2 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 z"
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>
Три лепестка:
<?xml version="1.0" encoding="UTF-8"?>
<svg id="3 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 z"
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>
Четыре лепестка:
<?xml version="1.0" encoding="UTF-8"?>
<svg id="4 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 L150,150 L242.388,111.7317 A100,100 0 0,1 250,150 z"
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>
Или, добавление слоев маркеров SVG может быть вариантом ... но это в основном ручная работа и не рекомендуется.
Другой вариант - плагин Shape Tools
Если вам не нужны «спицы», я бы порекомендовал плагин Shape Tools . В отличие от Wedge buffers
в QGIS3, вы можете установить start
и end
азимут непосредственно с полей атрибутов. Это делает вещи намного проще и быстрее.