PerfectVector
Par Irene Kim8 min de lecture

Marqueurs SVG QGIS : des couleurs modifiables

Prépare un marqueur SVG QGIS personnalisé avec des paramètres de remplissage et de contour, un vrai trou et un accent fixe. Conserve un original SVG standard.

Sur cette page

Pour préparer un marqueur SVG QGIS personnalisé aux couleurs modifiables, ajoute les espaces réservés param() de QGIS aux attributs de peinture que tu souhaites contrôler dans l’application. Conserve des couleurs explicites sur les régions qui doivent rester fixes. Le manuel QGIS 3.44 du sélecteur de symboles documente les espaces réservés pour le remplissage, le contour, leur opacité et la largeur du contour.

Commence avec un petit symbole propre. Une icône convaincante à la taille d’une illustration peut perdre son trou, son accent ou son contour lorsqu’elle devient un marqueur de carte.

Portée de ce guide : nous avons rendu l’original SVG standard dans un navigateur et audité le XML de la copie paramétrée. Nous n’avons pas importé cette copie dans QGIS. La syntaxe des paramètres ci-dessous suit la documentation 3.44 ; toi ou le destinataire SIG devez effectuer les contrôles de destination dans l’application.

Conserve un original standard et une copie QGIS

Utilise deux fichiers avec la même géométrie :

FichierObjectif
marker-master.svgAttributs de peinture SVG standard pour la modification et l’inspection dans le navigateur.
marker-qgis.svgCopie de destination avec des paramètres QGIS sur les attributs sélectionnés.

Cette séparation facilite l’inspection du dessin original. Un aperçu de l’original standard dans le navigateur prouve son rendu dans le navigateur. Il ne prouve pas que la copie QGIS a été correctement importée ni que ses contrôles fonctionnent comme prévu.

Notre marqueur original possède un corps vert, un trou circulaire transparent et un accent doré en losange. Il contient deux tracés et aucune image matricielle intégrée.

Dessin source original
Rendu dans le navigateur du SVG standard en forme d’épingle verte avec un trou transparent et un accent doré fixe, avec aperçus à 24, 32 et 48 pixels
L’original SVG standard rendu dans un navigateur. Le damier est visible à travers son trou ; ce n’est pas un test d’import QGIS ou de paramètres de couleur.

Construis un vrai trou dans la source

Enregistre ceci sous marker-master.svg :

<svg xmlns="http://www.w3.org/2000/svg"
     width="64" height="64" viewBox="0 0 64 64">
  <path id="body" fill="#237466" fill-opacity="1"
        stroke="#173f37" stroke-opacity="1" stroke-width="2"
        fill-rule="evenodd"
        d="M32 5C19 5 10 14 10 27C10 42 32 59 32 59S54 42 54 27C54 14 45 5 32 5Z M32 17A10 10 0 1 0 32 37A10 10 0 1 0 32 17Z"/>
  <path id="accent" fill="#f2c96c" stroke="none"
        d="M32 41L36 46L32 51L28 46Z"/>
</svg>

Le tracé du corps comprend un contour extérieur et un contour circulaire intérieur. fill-rule="evenodd" fait de la région intérieure une découpe dans cette construction. Elle laisse voir le fond à travers le marqueur au lieu d’y peindre un disque blanc. La référence MDN de fill-rule explique comment la règle détermine les régions remplies.

Le viewBox définit le rectangle de coordonnées de la source. Ici, c’est un carré de 64 unités, avec de l’espace autour du contour. Conserve ce cadre identique dans les deux copies. Si le symbole semble étonnamment petit dans son cadre, inspecte la géométrie et les marges vides avant d’augmenter sa taille d’affichage.

L’accent doré est un tracé distinct, ce qui rend son choix de couleur explicite. Pour une icône plus élaborée, détermine quelles régions appartiennent à la couleur commune du corps avant d’ajouter des paramètres. Notre guide des couleurs SVG explique où les remplissages et les contours peuvent être enregistrés.

Paramètre le corps et garde l’accent fixe

Crée une copie nommée marker-qgis.svg. Sur le tracé avec id="body", remplace ses cinq attributs de peinture par ce bloc d’attributs :

fill="param(fill) #237466"
fill-opacity="param(fill-opacity) 1"
stroke="param(outline) #173f37"
stroke-opacity="param(outline-opacity) 1"
stroke-width="param(outline-width) 2"

Conserve les données de tracé et fill-rule sans modification. Laisse fill="#f2c96c" et stroke="none" du tracé accent tels quels.

Attribut SVGParamètre QGISContrôle prévu
fillparam(fill)Couleur de remplissage du corps
fill-opacityparam(fill-opacity)Opacité du remplissage du corps
strokeparam(outline)Couleur du contour du corps
stroke-opacityparam(outline-opacity)Opacité du contour du corps
stroke-widthparam(outline-width)Largeur du contour du corps

Les valeurs après les paramètres sont des valeurs par défaut facultatives dans la syntaxe QGIS. Elles ne garantissent pas qu’une visionneuse SVG ordinaire comprenne la valeur de peinture paramétrée. Utilise l’original standard pour modifier et prévisualiser le SVG de façon générale.

Ne remplace pas automatiquement toutes les couleurs par param(fill). Dans ce dessin, cela abandonnerait le choix de conserver l’accent doré séparément. Applique le paramètre commun uniquement aux régions qui doivent réagir au même contrôle.

Audite la copie de destination avant de la transmettre

Notre vérification XML a confirmé que les deux fichiers possèdent le même viewBox et des données de tracé identiques. La copie QGIS contient les cinq paramètres prévus sur body ; accent conserve son remplissage doré fixe. Cet exemple ne contient aucun élément <image>, fichier externe ou police.

Pour ton propre marqueur, vérifie les points suivants :

  • La source contient les formes vectorielles attendues. Modifier un attribut de peinture ne permet pas de recolorer les pixels d’une image intégrée comme des régions distinctes.
  • Seuls les tracés prévus reçoivent des paramètres. Conserve des valeurs explicites pour les accents décoratifs.
  • Une déclaration de style ne maintient pas ailleurs dans le fichier une valeur fixe de peinture contradictoire.
  • La découpe reste une véritable ouverture sur un fond contrasté.
  • Le marqueur dispose d’assez d’espace pour son contour sans grand cadre vide.

Une analyse XML réussie vérifie la syntaxe. Elle ne certifie pas que le moteur de destination prend en charge toutes les fonctionnalités SVG. Garde une source simple, puis effectue les contrôles dans l’application.

Vérifie le marqueur dans le projet QGIS du destinataire

Dans le sélecteur du symbole ponctuel, choisis une couche de symbole SVG marker et charge la copie de destination. Le manuel QGIS correspondant à la version, lié ci-dessus, décrit ce type de symbole et ses contrôles disponibles.

Avant d’utiliser le symbole sur toute la carte, demande au destinataire de vérifier séparément le remplissage du corps, son contour et son opacité ; de confirmer que l’accent doré reste fixe ; d’inspecter le trou à la taille de marqueur prévue ; et de rouvrir le projet partagé avec son fichier de symbole disponible. Inspecte aussi la carte ou la mise en page exportée, puisque c’est le fichier que le public recevra.

Ces vérifications achèvent la transmission. Notre image du navigateur et notre audit source couvrent le dessin d’entrée, tandis que le projet QGIS réel détermine le résultat final.

Lorsque l’icône provient d’un clipart matriciel

Si ton pictogramme personnalisé existe seulement sous forme PNG ou JPG, l’outil clipart vers SVG de PerfectVector peut reconstruire un dessin vectoriel modifiable. Inspecte les tracés, simplifie les détails qui disparaissent à la taille du marqueur et sépare le corps des accents fixes avant d’ajouter les paramètres QGIS. Le guide de préparation des petites icônes couvre la clarté de la source et le nettoyage aux petites tailles.

Cela prépare l’apparence d’un symbole. Cela ne géoréférence pas une image, ne récupère pas des coordonnées et ne transforme pas une carte dessinée en données géographiques précises. Notre guide des cartes dessinées à la main explique cette distinction. Si l’entrée possède déjà les tracés vectoriels nécessaires, utilise-la directement ; le guide des fichiers SVG peut t’aider à inspecter son contenu.

FAQ

Pourquoi un marqueur SVG importé n’expose-t-il pas les couleurs que je veux ? Vérifie si les attributs de peinture concernés contiennent les paramètres QGIS. Dans cet exemple, seul le corps est paramétré ; l’accent doré reste volontairement fixe. Vérifie ensuite les contrôles dans la version QGIS de destination.

Puis-je conserver une couleur d’accent fixe ? Laisse le remplissage de cette région sous forme de couleur explicite et applique les paramètres communs uniquement aux régions que tu veux contrôler. Garde l’accent dans un tracé distinct pour faciliter l’audit de la source.

Vectoriser une icône la transforme-t-il en données géographiques ? Non. Cela crée le dessin du symbole. Les emplacements, les coordonnées et la précision de la carte dépendent toujours des données géographiques et de la méthode SIG.

Sources

  1. QGIS 3.44 — Le sélecteur de symboles — Paramètres de marqueurs SVG et valeurs par défaut facultatives.
  2. MDN — fill-rule — Régions remplies et règle pair-impair utilisée pour le trou.
  3. MDN — viewBox — Rectangle de coordonnées SVG utilisé par les deux copies sources.

Pour un pictogramme matriciel, convertis le clipart en SVG, inspecte le trou et les petits détails, puis prépare une copie QGIS séparée. Conserve l’original standard, puis demande au destinataire de tester les couleurs et l’apparence du marqueur dans le projet réel avant livraison.

Plus depuis le blog

Repartez d’un SVG plus net
et plus facile à modifier