https://gkukan.jp オープンデータを活用して、地理情報システム(GIS)についてわかりやすく解説するサイトです。初心者から上級者まで、GISの活用方法や便利なツールを学べる情報を提供します。地域情報の可視化や地図データの使い方について知識を深めたい方におすすめです。

QGISプラグインの開発手順





Simple QGIS Plugin Development


  • トップ ›   日記/一般 日記/一般|  浜松市| 
  • 新規登録ログイン

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



  • ボタンが表示されない場合、アイコンファイルが32x32ピクセルで正しいパスに存在しているか確認してください。

  • エラーメッセージが出る場合、コードに誤りがないか確認します。特にosモジュールのインポート漏れに注意しましょう。


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



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



同じカテゴリー(オープンデータ)の記事
今日は冬至です
今日は冬至です(2024-12-21 05:06)

コメント

名前
上の画像に書かれている文字を入力して下さい
削除
QGISプラグインの開発手順
    コメント(0)