QGISプラグインの開発手順

YASU21

2024年10月18日 15:56





Simple QGIS Plugin Development

body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 20px;
}
h1, h2 {
color: #2c3e50;
}
pre {
background-color: #f4f4f4;
padding: 10px;
border-left: 3px solid #3498db;
overflow-x: auto;
}
img {
display: block;
margin: 20px 0;
width: 32px;
height: 32px;
}
.download-link {
display: block;
padding: 10px;
margin: 20px 0;
background-color: #3498db;
color: white;
text-align: center;
text-decoration: none;
font-weight: bold;
border-radius: 5px;
}



QGISプラグインの開発手順


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


機能の概要



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


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



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. トラブルシューティングと改善



このシンプルなプラグインを基に、さらなる機能追加に挑戦してみてください!



#gkukan.jp #QGIS #GIS #プラグイン開発 #Python #地理情報システム #QGISTutorial #プラグイン #開発ガイド #地図制作 #Pythonプログラミング



関連記事