Encore une autre approche SVG:
Enregistrez les textes ci-dessous en tant que fichier texte SVG (disons petal.svg
) dans votre dossier 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>
Il affichera un seul pétale (angle central ~ 22,5 degrés) lorsqu'il sera chargé sur QGIS comme marqueur SVG. L'angle de rotation commence à zéro et augmente dans le sens horaire. Veuillez modifier les couleurs de remplissage et de contour selon vos besoins.
Pour votre utilisation, vous devrez peut-être avoir deux pétales (45 degrés), trois pétales (67,5 degrés), etc. Veuillez me faire savoir si vous avez besoin de ces variations .
EDIT (ajout de cas pour deux, trois et quatre pétales)
Deux pétales:
<?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>
Trois pétales:
<?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>
Quatre pétales:
<?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>
Ou, l'ajout de couches de marqueurs SVG peut être une option ... mais c'est en grande partie un travail manuel et déconseillé.
Une autre option - Plugin Shape Tools
Si vous n'avez pas besoin de "rayons", je recommanderais le plugin Shape Tools . Contrairement Wedge buffers
à QGIS3, vous pouvez définir start
et end
azimuter directement à partir de vos champs d'attribut. Cela rend les choses beaucoup plus faciles et plus rapides.