QGISプラグインの開発手順

QGIS

 

 

QGISプラグインの開発手順

このプラグインをダウンロード

機能の概要

このチュートリアルでは、「選択したレイヤーの情報を簡単に確認できるシンプルなQGISプラグイン」を作成します。
このプラグインは、QGISのツールバーにボタンを追加し、そのボタンをクリックすることで現在選択されているレイヤーの基本情報(名前とタイプ)をポップアップで表示します。
このプラグインにより、QGISユーザーがレイヤー情報を素早く取得できるようになります。

完成するプラグインのアイコン

Plugin Icon

1. 環境準備

QGISがインストールされていない場合は、QGIS公式サイトから最新版をインストールします。
プラグインの開発には、QGISのPython API(PyQGIS)を利用します。

2. プラグインフォルダの作成

任意のディレクトリにプラグイン用のフォルダを作成します。例えば、C:\Users\あなたのユーザー名\qgis_plugins\simple_pluginです。
フォルダ内に以下のファイル構造を作成します。

simple_plugin/
├── __init__.py
├── metadata.txt
├── simple_plugin.py
└── icon.png

3. ファイルの作成と編集

__init__.py

from .simple_plugin import SimplePlugin

def classFactory(iface):
    return SimplePlugin(iface)
    

metadata.txt

[general]
name=Simple Plugin
qgisMinimumVersion=3.0
author=Your Name
description=This is a simple QGIS plugin.
version=1.0
email=your.email@example.com
    

simple_plugin.py

import os
from qgis.PyQt.QtCore import QObject
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtWidgets import QAction, QMessageBox
from qgis.core import QgsProject
from qgis.utils import iface

class SimplePlugin(QObject):
    def __init__(self, iface):
        super().__init__()
        self.iface = iface
        self.action = None

    def initGui(self):
        # アイコンのパスを設定
        icon_path = os.path.join(os.path.dirname(__file__), 'icon.png')
        icon = QIcon(icon_path)
        self.action = QAction(icon, "Show Layer Info", self.iface.mainWindow())
        self.action.triggered.connect(self.show_layer_info)
        self.iface.addPluginToMenu("Simple Plugin", self.action)
        self.iface.addToolBarIcon(self.action)

    def unload(self):
        self.iface.removePluginMenu("Simple Plugin", self.action)
        self.iface.removeToolBarIcon(self.action)

    def show_layer_info(self):
        # 現在選択されているレイヤーを取得
        layer = self.iface.activeLayer()
        if not layer:
            QMessageBox.information(self.iface.mainWindow(), "No Layer", "Please select a layer.")
            return

        # レイヤー情報を表示
        layer_info = f"Layer name: {layer.name()}\nLayer type: {layer.type()}"
        QMessageBox.information(self.iface.mainWindow(), "Layer Info", layer_info)

def classFactory(iface):
    return SimplePlugin(iface)
    

4. プラグインのインストール

プラグインフォルダ全体をZIPファイルに圧縮し、QGISのプラグインマネージャーからインストールします。

5. プラグインの動作確認

QGISのツールバーにアイコンが表示され、ボタンをクリックするとレイヤー情報がポップアップで表示されます。
アイコンが表示されない場合は、ファイルパスやアイコンサイズを確認してください。

6. トラブルシューティングと改善

  • ボタンが表示されない場合、アイコンファイルが32×32ピクセルで正しいパスに存在しているか確認してください。
  • エラーメッセージが出る場合、コードに誤りがないか確認します。特にosモジュールのインポート漏れに注意しましょう。

このシンプルなプラグインを基に、さらなる機能追加に挑戦してみてください!
#QGIS #GIS #プラグイン開発 #Python #地理情報システム #QGISTutorial #プラグイン #開発ガイド #地図制作 #Pythonプログラミング

コメント

タイトルとURLをコピーしました