-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
csmap-pyを動く状態でQGISプラグインに統合 #6
Conversation
Warning Rate limit exceeded@Kanahiro has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 4 minutes and 26 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ウォークスルー総合的な変更の要約:ファイルごとの具体的な変更ではなく、80語以内で全体の変更内容を要約します。 変更
ポエム
Note Summarized by CodeRabbit FreeYour organization has reached its limit of developer seats under the Pro Plan. For new users, CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please add seats to your subscription by visiting https://coderabbit.ai. TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
@@ -3,9 +3,10 @@ | |||
|
|||
# to import modules as non-relative | |||
sys.path.append(os.path.dirname(__file__)) | |||
sys.path.append(os.path.join(os.path.dirname(__file__), "csmap_py")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
csmap-qgis-plugin/csmap_py
というディレクトリにあるモジュールを探す、というコードです。
dem.transform.d, | ||
dem.transform.e, | ||
dem.transform.f + (1 + margin // 2) * dem.transform.e, # 上端の座標をマージン分ずらす | ||
) # 古いrasterioに合わせて引数を3つ削除した |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rasterioのAffineクラスが引数を7個までしか受け付けないバージョンだったので削除しています。
アフィン変換は、変換行列の一部が定数値になるので、それを省略していたものとおもわれます、たぶん。なので結果は変わらない。
アフィン変換:
https://imagingsolution.net/imaging/affine-transformation/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QGISとCLIと両方でCS立体図を生成しましたが,見た目では結果が変わらないように思えました。
|
||
|
||
def classFactory(iface): | ||
from csmap import CsMap | ||
from qcsmap import QCsMap |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
csmap
というモジュール名はcsmap-py側で利用されているので衝突を防いでいます。
@@ -19,3 +21,14 @@ def get_and_show_input_text(self): | |||
text_value = self.ui.lineEdit.text() | |||
# テキストボックス値をメッセージ表示 | |||
QMessageBox.information(None, "ウィンドウ名", text_value) | |||
|
|||
# 試しにCSMapの処理を実行:ちゃんと入力・出力をUIから参照しよう |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QGISでiguchiさんが変更してくださったコードを動かしたところ,CS立体図が生成されたので,入力・出力をUIで指定できるよう取り組んでみます。
LGTM! |
Close #0
Description(変更内容)
以下のような状況から、QGISプラグインへの統合が妨げられていたので直しました!
csmap
モジュールを探すディレクトリを追加する必要があった(ので追加)dem_to_csmap.py
を見ると、どのようにcsmap-pyを実行するのかが理解できると思いますなお、そのうちgit submoduleとして取り込みたいので、MIERUNE/csmap-pyと同じディレクトリ構成としています #7
Manual Testing(手動テスト)
Not required / 不要
Summary by CodeRabbit
新機能
QCsMap
クラスを導入し、QGIS 環境内で CSMap 機能を拡張します。csmap_py/csmap/__main__.py
にデジタル標高モデル(DEM)を処理するためのコマンドラインインターフェースを追加します。csmap_py/csmap/calc.py
に、NumPy 操作を使用して配列の勾配、ガウシアンフィルタの適用、曲率の計算を行う関数を追加します。csmap_py/csmap/color.py
に、勾配ベースおよび曲率ベースのカラースキームを使用して配列を RGB 画像に変換する関数を追加します。csmap_py/csmap/process.py
に、DEM を処理してカラーシェーディングリリーフ(CS)ビジュアライゼーションを生成する機能を追加します。修正
__init__.py
ファイルで、QCsMap
をqcsmap
モジュールからインポートするように変更します。dem_to_csmap.py
のDemToCsMap
クラスにcsmap_py.csmap.process
のインポートステートメントを追加します。qcsmap.py
ファイルにQCsMap
クラスを導入し、QGIS インターフェースと CSMap プラグイン機能を操作するためのメソッドを提供します。