QGISのSVGマーカー:色を編集できる記号を準備する
塗りと輪郭のパラメーター、本当の切り抜き、固定色のアクセントを持つQGIS用SVGマーカーを準備します。通常のSVGマスターを保ち、利用先のコピーを確認します。
目次
色を編集できるQGIS用のカスタムSVGマーカーを作るには、アプリで制御したい描画属性にQGISの param() プレースホルダーを加えます。固定したい領域には明示的な色を残してください。QGIS 3.44のシンボルセレクターのマニュアルには、塗り、輪郭、それぞれの不透明度、輪郭幅のプレースホルダーが記載されています。
小さく整理された記号から始めます。イラストサイズでは良く見えるアイコンでも、地図マーカーでは穴、アクセント、輪郭が失われる場合があります。
このガイドの範囲: 通常のSVGマスターをブラウザーで描画し、パラメーター付きコピーのXMLを確認しました。QGISには読み込んでいません。以下の構文は3.44の説明に従っており、利用先での確認は、あなたか受け取り側のGIS担当者がアプリ内で完成させるものです。
通常のマスターとQGIS用コピーを保持する
同じ形状の2ファイルを使います。
| ファイル | 目的 |
|---|---|
marker-master.svg | 編集とブラウザー確認用の通常のSVG描画色。 |
marker-qgis.svg | 選んだ属性にQGISのパラメーターを持つ利用先用コピー。 |
この分離は元の図形を確認しやすくします。通常のマスターのブラウザープレビューは、その元データがブラウザーでどう描画されるかを証明します。QGIS用コピーが正しく読み込まれ、設定が意図どおり動くことは証明しません。
オリジナルのマーカーには緑の本体、透明な円の穴、金色のひし形アクセントがあります。2つのパスを含み、埋め込みラスターはありません。

元データに本当の穴を作る
次を 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>本体パスには外側の輪郭と内側の円の輪郭が含まれます。この構成では fill-rule="evenodd" が内側を切り抜きにします。白い円を重ねる代わりに、マーカーから背景が見えます。MDNのfill-ruleリファレンスは、どの領域を塗るかを規則がどう決めるか説明しています。
viewBoxは元の座標長方形を定義します。ここでは64単位の正方形で、輪郭周囲に空間があります。2つのコピーで枠を揃えてください。枠内で予想外に小さく見えるなら、表示サイズを増やす前に形状と空の余白を確認します。
金色のアクセントは別のパスで、描画色の選択が明示されています。より複雑なアイコンなら、パラメーターを加える前に、どの領域が共通の本体色に属するかを決めます。SVGの色ガイドは、塗りとストロークの保存場所を説明しています。
本体をパラメーター化し、アクセントは固定する
marker-qgis.svg というコピーを作ります。id="body" のパスで5つの描画属性を次のブロックに置き換えます。
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"パスデータと fill-rule は変えません。accent パスの fill="#f2c96c" と stroke="none" もそのまま残します。
| SVG属性 | QGISのプレースホルダー | 意図した制御 |
|---|---|---|
fill | param(fill) | 本体の塗り色 |
fill-opacity | param(fill-opacity) | 本体の塗りの不透明度 |
stroke | param(outline) | 本体の輪郭色 |
stroke-opacity | param(outline-opacity) | 本体の輪郭の不透明度 |
stroke-width | param(outline-width) | 本体の輪郭幅 |
プレースホルダーの後の値は、QGIS構文の任意の既定値です。通常のSVGビューアーがパラメーター付き描画値を理解するという約束ではありません。一般的なSVG編集やプレビューには通常のマスターを使います。
すべての色を自動で param(fill) に置き換えないでください。このデザインでは金色のアクセントを分ける判断が失われます。同じ設定に応答させたい領域だけに共通のプレースホルダーを適用します。
渡す前に利用先用コピーを確認する
XML確認では、両ファイルが同じ viewBox と同一のパスデータを持つことを確認しました。QGIS用コピーは body に5つの意図したプレースホルダーを持ち、accent は固定の金色の塗りを保持します。この例に <image> 要素、外部ファイル、フォントはありません。
自分のマーカーでは次を確認します。
- 想定するベクター形状が元データにあること。描画属性の変更は、埋め込み画像内のピクセルを別領域として色変更できません。
- 意図するパスだけがパラメーターを受け取ること。装飾アクセントは明示的に保ちます。
- ファイルの別の場所のスタイル宣言が、競合する固定描画値を保持していないこと。
- コントラストのある背景で、切り抜きが本当の開口部のままであること。
- マーカーに輪郭用の十分な空間があり、過大な空枠がないこと。
XMLの解析成功は構文の確認です。利用先のレンダラーがすべてのSVG機能に対応する保証ではありません。元データを単純に保ち、次にアプリ内の確認を完成させてください。
受け取り側のQGISプロジェクトでマーカーを確認する
点のシンボルセレクターで **SVG marker(SVGマーカー)**のシンボルレイヤーを選び、利用先用コピーを読み込みます。上でリンクしたバージョン限定のマニュアルは、この種類と利用可能な設定を説明しています。
地図全体で使う前に、受け取り側に本体の塗り、輪郭、不透明度を個別に検証してもらいます。金色のアクセントが固定されること、予定マーカーサイズで穴が見えること、シンボルファイルが利用可能な状態で共有プロジェクトを開き直せることを確認します。観客が受け取るファイルである、書き出した地図やレイアウトも確認してください。
これで受け渡しの確認が完成します。ブラウザー画像と元データの監査は入力図形を扱い、実際のQGISプロジェクトが最終結果を決めます。
アイコンがラスターのクリップアートから始まる場合
カスタムの記号がPNGやJPGだけなら、PerfectVectorのクリップアートからSVGへのツールで編集用のベクター図形を復元できます。パスを確認し、マーカーサイズで消える細部を単純化し、QGISパラメーターを加える前に本体と固定アクセントを分けます。小さなアイコンの準備ガイドは、小サイズでの元画像の明瞭さと整理を扱っています。
これは記号の見た目を準備するものです。画像を地理参照したり、座標を復元したり、描かれた地図を正確な地理データにしたりはしません。手描き地図のガイドは、その違いを説明しています。必要なベクターパスがすでにあるなら直接使います。SVGファイルガイドは、内容確認に役立ちます。
よくある質問
読み込んだSVGマーカーで必要な色を設定できないのはなぜですか? 該当する描画属性にQGISのパラメーターがあるか確認します。この例は本体だけをパラメーター化し、金色のアクセントは意図的に固定しています。その後、利用先のQGISバージョンで設定を検証してください。
1つのアクセント色を固定できますか? その領域の塗りを明示的な色に残し、制御したい領域だけに共通パラメーターを適用します。確認しやすいようアクセントを別のパスに保持してください。
アイコンのベクター化で地理データになりますか? いいえ。記号用の図形を作るものです。地図の位置、座標、精度は引き続き地理データとGISの手順に依存します。
参考資料
- QGIS 3.44 — シンボルセレクター — SVGマーカーのパラメーターと任意の既定値を説明しています。
- MDN — fill-rule属性 — 塗る領域と、穴に使った偶奇規則を説明しています。
- MDN — viewBox属性 — 両コピーが使うSVG座標長方形を説明しています。
ラスターの記号なら、クリップアートをSVGに変換し、穴と小さな細部を確認して、別のQGIS用コピーを準備します。通常のマスターを保持し、納品前に受け取り側が実際のプロジェクトでマーカーの色と見た目をテストしてください。

