Skip to content

Commit

Permalink
Merge pull request #30 from MIERUNE/feature/readme
Browse files Browse the repository at this point in the history
UIの修正,作成したCS立体図へのズーム設定
  • Loading branch information
geogra-geogra authored Jun 14, 2024
2 parents 870be22 + 127dc72 commit 05c0999
Show file tree
Hide file tree
Showing 4 changed files with 542 additions and 658 deletions.
47 changes: 6 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,8 @@
# qgis-plugin-template
# qgis-csmap-plugin

QGIS3.x プラグイン開発のひな形
DEMからGeoTIFF形式のCS立体図を作成するQGISプラグインです。
DEMの変換にはcsmap-pyを利用しています。
It is a QGIS plugin that creates a GeoTIFF format CS topographic map from a DEM.
The DEM conversion process is based on [csmap-py](https://github.com/MIERUNE/csmap-py).

## Preparation

### Windows

- Windowsを利用する場合は、pyproject.tomlを開き、[packages]内のコメントアウトを削除し、プロジェクトに適したバージョンのQGIS内のPythonを参照してください。

```
packages = [
{ include = "qgis", from = "C:\\Program Files\\QGIS 3.28.2\\apps\\qgis\\python" },
]
```

1. install `Poetry`

```sh
pip install poetry
```

2. install dependencies with Poetry

```sh
# QGIS内のPython実行ファイルを参照する(開発ターゲットのバージョンのQGIS)
# macOS, bash
poetry env use /Applications/QGIS.app/Contents/MacOS/bin/python3
# Windows, Powershell
poetry env use "C:\Program Files\QGIS 3.28.2\apps\Python39\python.exe"
poetry install
```

仮想環境がカレントディレクトリに作成されます。

3. (when VSCode) 仮想環境をVSCode上のPythonインタプリタとして選択

VSCodeはカレントディレクトリの仮想環境を検出しますが、手動で選択する必要がある場合もあります。

1. [Cmd + Shift + P]でコマンドパレットを開く
2. [Python: Select Interpreter]を見つけてクリック
3. 利用可能なインタプリタ一覧が表示されるので、先ほど作成した仮想環境を選択(通常、リストの一番上に"Recommended"として表示される)
![image](./imgs/howtouse.png)
9 changes: 6 additions & 3 deletions dem_to_csmap.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QDialog
from qgis.core import Qgis
from qgis.core import Qgis, QgsProject, QgsRasterLayer
from qgis.gui import QgsFileWidget
from qgis.PyQt import uic
from qgis.utils import iface
Expand All @@ -22,7 +22,7 @@ def __init__(self):

# ウィンドウを常に全面に表示する
self.setWindowFlags(Qt.WindowStaysOnTopHint)

# 入力データの制限
self.ui.mQgsFileWidget_input.setFilter("*")

Expand Down Expand Up @@ -75,7 +75,10 @@ def convert_dem_to_csmap(self):
return

# 出力結果をQGISに追加
iface.addRasterLayer(output_path, os.path.basename(output_path))
rlayer = QgsRasterLayer(output_path, os.path.basename(output_path))
QgsProject.instance().addMapLayer(rlayer)
iface.setActiveLayer(rlayer)
iface.zoomToActiveLayer()

# 処理終了後にウィンドウを閉じるオプション
if self.ui.checkBox_closeAfterProcessing.isChecked():
Expand Down
Loading

0 comments on commit 05c0999

Please sign in to comment.