ラベル バグ の投稿を表示しています。 すべての投稿を表示
ラベル バグ の投稿を表示しています。 すべての投稿を表示

2026年9月6日日曜日

間違いとバグ(仕様?)が重なって正解となったQGIS怪現象

 A bizarre QGIS phenomenon where errors and a bug (or feature?) combined to yield the correct result


I used Python to extract the orientation angles of shell displacements from images of a stripped cross-section and displayed them in QGIS. Visually, the display appeared correct. However, I later realized that I had made a mistake due to a misunderstanding during data processing, but that error was cancelled out by an unexpected QGIS bug (or feature?), resulting in the correct outcome. For me, it was a truly mysterious phenomenon.


剥取断面の貝殻偏位角の方向を画像からPythonで読取り、それをQGIS画面で表示しました。見た目正しく表示されています。しかし、データ処理で勘違いして間違い、その間違いが予期せぬQGISバグ(仕様?)で打ち消されて正解となっていることに後で気が付きました。私にとっての怪現象でした。

1 結果として正しく表示されている二枚貝殻偏位角


結果として正しく表示されている二枚貝殻偏位角(QGIS画面)


画像から二枚貝殻偏位角を計測している様子(1番貝殻に注目)


1番貝殻のQGIS画面における表示(計測画面と合っている)

2 データ処理の間違い

1番貝殻のPython計測角度は73.498395°です。この角度は水平右から反時計回りに計測した角度です。

QGISの角度は垂直上から時計回りに計測した角度で表示されます。

従って、Python計測角度を次の式で変換してQGISに投入すべきです。

90°-73.498395°=16.501605°

ところが、勘違いにより次のデータを投入してしまいました。

90°+73.498395°=163.498395°

3 間違いが正しく表示される怪現象の理由

QGISには本来16.501605°を投入して正しく表示されるところが、間違って投入した163.498395°で角度が正しく表示されるのですから、怪現象のように感じてしまいます。

ChatGPTに支援をもとめて、この怪現象の理由を突きとめました。ChatGPTの支援がなければ、この理由を突きとめることは1年かけても無理だったかもしれません。

●理由

QGISで角度を画面で表示する式はシンボロジ→単一定義→geometry generatorで次の式を使っています。

make_line(

    $geometry,

    project($geometry, 3, radians("angle_deg"))

)

この式を使う際の単位設定で㎜を使うとQGISの南北が反転します。今回はデフォルトで記入されていた㎜を使い、QGISの南北軸が反転していたのでした。別の単位(地図上の単位)を使うと南北軸反転は生じません。これがQGISのバグか仕様かは不明ですが、ここまでの詳しい情報はつまづいてみなければわからないことです。

geometry generatorで南北反転(Y軸反転)したため、本来は間違っているデータ90°+73.498395°=163.498395°が結果として正しく表示されるデータになっていたのでした。

もし、勘違いしないて、本来正しいはずのデータ90°-73.498395°=16.501605°を投入したら表示が間違い、その間違い探しをして、最後には今回と同じ結論(geometry generatorの㎜単位設定でY軸反転が生じる)に達したと思われます。

4 作業上の3つの角度の意味

今回の騒動で作業上3つの角度があり、それぞれ別モノとして理解を深めておく必要性を痛感しました。

angle_raw   = Pythonで得た角度

angle_true  = 本来のQGIS方位角

angle_draw  = mm Geometry Generatorで表示を合わせる角度


2025年1月6日月曜日

朗報 QGIS最新バージョン3.40でGRASSプラグインバグが解消する

 Good news: GRASS plugin bug fixed in latest version of QGIS 3.40


The bug in the GRASS plugin v.surf.rst tool has been fixed in the latest version of QGIS (3.40, 2024.12.20). With QGIS, you can easily create a topographical 3D model from contour lines and XYZ random point clouds. It makes me feel like I've had a fish bone removed from my throat.


QGIS最新バージョン(3.40、2024.12.20)でGRASSプラグインv.surf.rstツールのバグが解消されました。QGISで、等高線及びXYZランダム点群から地形3Dモデルが気兼ねなくできます。喉に刺さった魚の骨がとれた時のような感情が沸き上がります。

1 QGIS最新バージョン(3.40、2024.12.20)

QGIS最新バージョン(3.40、2024.12.20)でGRASSプラグインv.surf.rstツールのバグが解消されたことを操作で確認しました。


QGISv3.40のロゴ


QGISv3.40で等高線から地形3Dモデルを作成した様子


QGISv3.40でXYZランダム点群から3Dモデルを作成した様子

これまではコソコソと旧バージョンQGISv3.12を使っていました。

2 過去記事

2024.09.15記事「紙等高線地図から地形3Dモデルを作成する方法」

2024.12.29記事「有吉北貝塚北斜面貝層の地山平面図の3Dモデル化技術テスト」

3 感想

QGISのバグが解消されて、喉に刺さった魚の骨がとれた時のような感情が沸き上がります。等高線から3Dモデル、XYZランダム点群から3Dモデルが気兼ねなくできます。QGISを応援したくなります。