PerfectVector
Von Irene Kim7 Min. Lesezeit

QGIS-SVG-Marker: Symbole mit bearbeitbaren Farben

Bereite einen eigenen QGIS-SVG-Marker mit Füll- und Konturparametern, echter Aussparung und festem Akzent vor. Behalte ein normales SVG-Master und prüfe die Kopie.

Auf dieser Seite

Um einen eigenen QGIS-SVG-Marker mit bearbeitbaren Farben vorzubereiten, füge QGIS-param()-Platzhalter in die Farbgebungsattribute ein, die die Anwendung steuern soll. Behalte explizite Farben für Bereiche, die unverändert bleiben sollen. Das QGIS-3.44-Handbuch zur Symbolauswahl dokumentiert Platzhalter für Füllung, Kontur, deren Deckkraft und Konturbreite.

Beginne mit einem kleinen, sauberen Symbol. Ein Icon, das in Illustrationsgröße überzeugend aussieht, kann als Kartenmarker sein Loch, seinen Akzent oder seine Kontur verlieren.

Umfang dieses Leitfadens: Wir haben die normale SVG-Masterdatei in einem Browser gerendert und das XML der parametrisierten Kopie geprüft. Wir haben die Kopie nicht in QGIS importiert. Die Parametersyntax unten folgt der Dokumentation von 3.44; die Prüfungen in der Zielanwendung musst du oder der GIS-Empfänger dort durchführen.

Behalte eine normale Masterdatei und eine QGIS-Kopie

Verwende zwei Dateien mit derselben Geometrie:

DateiZweck
marker-master.svgNormale SVG-Farbgebung zur Bearbeitung und Browser-Prüfung.
marker-qgis.svgZielkopie mit QGIS-Parameterplatzhaltern auf ausgewählten Attributen.

Durch diese Trennung lässt sich die ursprüngliche Grafik leicht prüfen. Eine Browser-Vorschau der normalen Masterdatei belegt, wie diese Quelle im Browser gerendert wird. Sie beweist nicht, dass die QGIS-Kopie korrekt importiert wurde oder ihre Einstellungen wie beabsichtigt funktionieren.

Unser eigener Marker hat einen grünen Grundkörper, ein transparentes kreisförmiges Loch und einen goldenen Rautenakzent. Er enthält zwei Pfade und kein eingebettetes Rasterbild.

Ursprüngliche Quellgrafik
Browser-Rendering des normalen grünen Stecknadel-SVG mit transparentem Loch und festem goldenen Akzent, einschließlich Vorschauen mit 24, 32 und 48 Pixeln
Die normale SVG-Masterdatei im Browser gerendert. Das Schachbrett scheint durch ihr Loch; dies ist kein QGIS-Import oder Test der Farbparameter.

Baue ein echtes Loch in die Quelle ein

Speichere dies als 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>

Der Pfad des Grundkörpers enthält eine äußere Kontur und eine innere kreisförmige Kontur. fill-rule="evenodd" macht den inneren Bereich in dieser Konstruktion zur Aussparung. So zeigt der Marker den Hintergrund, statt ihn mit einer weißen Scheibe zu übermalen. Die fill-rule-Referenz von MDN erklärt, wie die Regel bestimmt, welche Bereiche gefüllt werden.

Die viewBox definiert das Koordinatenrechteck der Quelle. Hier ist es ein Quadrat mit 64 Einheiten und Platz um die Kontur. Behalte diesen Rahmen in beiden Kopien bei. Wenn das Symbol in seinem Rahmen unerwartet klein erscheint, prüfe Geometrie und leere Ränder, bevor du seine Darstellungsgröße erhöhst.

Der goldene Akzent ist ein separater Pfad, wodurch seine Farbwahl explizit ist. Entscheide bei einem aufwendigeren Icon vor dem Hinzufügen von Parametern, welche Bereiche zur gemeinsamen Grundkörperfarbe gehören. Unser SVG-Farbleitfaden erklärt, wo Füllungen und Konturen gespeichert sein können.

Parametrisiere den Grundkörper und lasse den Akzent unverändert

Erstelle eine Kopie namens marker-qgis.svg. Ersetze beim Pfad mit id="body" seine fünf Farbgebungsattribute durch diesen Attributblock:

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"

Behalte Pfaddaten und fill-rule unverändert. Lass fill="#f2c96c" und stroke="none" des accent-Pfads so, wie sie sind.

SVG-AttributQGIS-PlatzhalterBeabsichtigte Einstellung
fillparam(fill)Füllfarbe des Grundkörpers
fill-opacityparam(fill-opacity)Fülldeckkraft des Grundkörpers
strokeparam(outline)Konturfarbe des Grundkörpers
stroke-opacityparam(outline-opacity)Konturdeckkraft des Grundkörpers
stroke-widthparam(outline-width)Konturbreite des Grundkörpers

Die Werte nach den Platzhaltern sind optionale Standardwerte in der QGIS-Syntax. Sie versprechen nicht, dass ein gewöhnlicher SVG-Betrachter den parametrisierten Farbwert versteht. Verwende die normale Masterdatei für allgemeine SVG-Bearbeitung und Vorschau.

Ersetze nicht automatisch jede Farbe durch param(fill). In diesem Design würde dadurch die Entscheidung verloren gehen, den goldenen Akzent separat zu erhalten. Wende den gemeinsamen Platzhalter nur auf Bereiche an, die auf dieselbe Einstellung reagieren sollen.

Prüfe die Zielkopie vor der Übergabe

Unsere XML-Prüfung bestätigte, dass beide Dateien dieselbe viewBox und identische Pfaddaten haben. Die QGIS-Kopie enthält die fünf beabsichtigten Platzhalter auf body; accent behält seine feste goldene Füllung. Dieses Beispiel enthält keine <image>-Elemente, externen Dateien oder Schriften.

Prüfe bei deinem eigenen Marker:

  • Die Quelle enthält die erwarteten Vektorformen. Das Ändern eines Farbgebungsattributs kann Pixel in einem eingebetteten Bild nicht als separate Bereiche umfärben.
  • Nur die vorgesehenen Pfade erhalten Parameter. Behalte dekorative Akzente explizit.
  • Eine Stildeklaration hält nicht an anderer Stelle in der Datei einen widersprüchlichen festen Farbwert fest.
  • Die Aussparung bleibt vor einem kontrastierenden Hintergrund eine echte Öffnung.
  • Der Marker hat ausreichend Platz für seine Kontur, ohne einen großen leeren Rahmen.

Ein erfolgreiches XML-Parsing prüft die Syntax. Es bestätigt nicht, dass der Zielrenderer jede SVG-Funktion unterstützt. Halte die Quelle einfach und führe anschließend die Anwendungsprüfungen durch.

Prüfe den Marker im QGIS-Projekt des Empfängers

Wähle in der Symbolauswahl des Punktsymbols eine Symbolebene SVG-Marker und lade die Zielkopie. Das oben verlinkte versionsspezifische QGIS-Handbuch beschreibt diesen Symboltyp und seine verfügbaren Einstellungen.

Bevor du das Symbol auf der ganzen Karte verwendest, bitte den Empfänger, Grundkörperfüllung, Kontur und Deckkraft separat zu prüfen. Er soll bestätigen, dass der goldene Akzent unverändert bleibt, das Loch in der vorgesehenen Markergröße prüfen und das geteilte Projekt mit verfügbarer Symboldatei erneut öffnen. Prüfe auch die exportierte Karte oder das Layout, denn diese Datei erhält das Publikum.

Diese Prüfungen vervollständigen die Übergabe. Unser Browser-Bild und die Quellprüfung decken die Eingabegrafik ab, während das tatsächliche QGIS-Projekt das Endergebnis bestimmt.

Wenn das Icon als Raster-Clipart vorliegt

Wenn dein eigenes Piktogramm nur als PNG oder JPG existiert, kann PerfectVectors Clipart-zu-SVG-Werkzeug Vektorgrafik zur Bearbeitung rekonstruieren. Prüfe die Pfade, vereinfache Details, die in Markergröße verschwinden, und trenne den Grundkörper von festen Akzenten, bevor du QGIS-Parameter hinzufügst. Der Leitfaden zur Vorbereitung kleiner Icons behandelt Quellklarheit und Bereinigung in kleinen Größen.

Das bereitet das Erscheinungsbild eines Symbols vor. Es georeferenziert kein Bild, rekonstruiert keine Koordinaten und verwandelt eine gezeichnete Karte nicht in genaue geografische Daten. Unser Leitfaden zu handgezeichneten Karten erklärt diesen Unterschied. Wenn die Eingabe bereits die benötigten Vektorpfade hat, verwende sie direkt; der SVG-Dateileitfaden kann dir helfen, ihre Inhalte zu prüfen.

FAQ

Warum bietet ein importierter SVG-Marker nicht die gewünschten Farben zur Bearbeitung an? Prüfe, ob die betreffenden Farbgebungsattribute die QGIS-Parameterplatzhalter enthalten. In diesem Beispiel ist nur der Grundkörper parametrisiert; der goldene Akzent ist bewusst fest. Prüfe anschließend die Einstellungen in der QGIS-Zielversion.

Kann ich eine Akzentfarbe fest beibehalten? Lass die Füllung dieses Bereichs als explizite Farbe stehen und wende die gemeinsamen Parameter nur auf die Bereiche an, die du steuern möchtest. Halte den Akzent in einem separaten Pfad, damit sich die Quelle leicht prüfen lässt.

Wird ein Icon durch Vektorisierung zu geografischen Daten? Nein. Sie erzeugt die Grafik für das Symbol. Standorte, Koordinaten und Genauigkeit der Karte hängen weiterhin von den geografischen Daten und dem GIS-Ablauf ab.

Quellen

  1. QGIS 3.44 — Die Symbolauswahl — SVG-Markerparameter und optionale Standardwerte.
  2. MDN — fill-rule — Gefüllte Bereiche und die für das Loch verwendete Even-odd-Regel.
  3. MDN — viewBox — Das SVG-Koordinatenrechteck, das beide Quellkopien verwenden.

Bei einem Rasterpiktogramm konvertierst du die Clipart in SVG, prüfst Loch und kleine Details und bereitest eine separate QGIS-Kopie vor. Behalte die normale Masterdatei und lass den Empfänger dann Farben und Darstellung des Markers vor der Auslieferung im tatsächlichen Projekt testen.

Mehr aus dem Blog

Starte mit einer sauberen SVG,
die leichter zu bearbeiten ist