NNJoinで返される値(距離)の単位の設定について

417 views
Skip to first unread message

ひっぽ

unread,
Mar 23, 2022, 11:00:23 PM3/23/22
to QGIS初心者質問グループ
皆様

初めて質問させていただきます。
こちらの過去の質問からNNJoinというプラグインを知って使っております(知らなかったのでとても助かりました!)。
このプラグインで計算した距離の単位を確認、設定する方法をご教示いただければと思い質問させていただきます。
返された値を見るかぎりkm等ではない値でおそらく度のように見えます。

やってみたこととしては以下のとおりです。
Project>Properties>General>Measurementsを確認したところ、
Units for distance measurementについてはMetersになっており、計測ツールで距離を測るとメートル単位で距離を測ることができます。
CRSはWGS84です。
なお、距離を図ろうとしている場所は、北緯13度ぐらいの赤道に近い地域です。

どうぞよろしくお願いします。

ひっぽ

福岡

unread,
Mar 24, 2022, 1:29:34 AM3/24/22
to QGIS初心者質問グループ
ひっぽ 様

こんにちは

直感的には、参照座標系の問題だと思いました。
プロジェクトのCRSが「WGS84」とのことでしたが、単位は「度」です。
そしてレイヤのCRSについては記載がありませんでしたが。こちらも「WGS84」ではないかと推測しました。

これを前提にNNJoinのホームページをみてみました。
プラグインの情報は「プラグインの管理とインストール」で対象を選択すると、右の窓に表示されます。
ここにホームページへのリンクがありました。

NNJoinのホームページ
http://arken.nmbu.no/~havatv/gis/qgisplugins/NNJoin/

英語は得手ではありませんので、いつものようにGoogle翻訳大先生の力を借りて読んでみました。
その結果ですが、「レイヤのCRSが原因」だと思いました。
NNJoinを使った対象のレイヤが「度」が単位の「地理座標」だった場合、「m」が単位の「投影座標」に変換してから処理を行うと良いと思います。

それでどのようなCRSを選ぶかですが、求める精度によると思います。
精度が粗くても良ければ「WGS 84/ Pseudo-Merucator(EPSG:3857)」、精度を求めるのならUTM座標あたりが思い浮かびます。
UTMについては、こちらをご覧ください。

横メルカトル図法の詳しい解説
https://www.wingfield.gr.jp/archives/12068

UTMのゾーン(座標帯)
https://www.wingfield.gr.jp/cgi-bin/wp/wp-content/uploads/2018/01/MGRS_UTMZone_Chart.pdf

2022年3月24日木曜日 12:00:23 UTC+9 ひっぽ:

ありた

unread,
Mar 24, 2022, 8:25:40 AM3/24/22
to QGIS初心者質問グループ
こんにちは

福岡さんもおっしゃておられますが、 NNJoin プラグインのページに記載されているとおり
join layer の座標参照系で距離の計算が行われます。( input layer は join layer の CRS で再投影)


レイヤの座標参照系における距離ですので、多かれ少なかれ誤差は生じます。
(平面の地図にするため引き伸ばしたり歪めたりした結果の距離。ただし経緯度座標系では度。)
赤道から離れてますので、実用的なものは UTM だと思います。

ひっぽ

unread,
Mar 24, 2022, 10:36:58 AM3/24/22
to QGIS初心者質問グループ
福岡さま、ありたさま

こんにちは。お二人同時でのお返事となりますことお許しください。
とても丁寧にご説明いただきありがとうございます。
プラグインの説明をきちんと読み込んでおらず大変失礼しました。まずは私も読んでみたところ、ご指摘のとおりでした。
(ただ私が初心者で、これにどのように対応すれば単位が変えられるのかはご説明いただいて初めてわかりました。とても助かります!)
まずはUTMでやってみて、また結果をご報告させてください。
取り急ぎ御礼まで。

ひっぽ

2022年3月24日木曜日 21:25:40 UTC+9 ありた:

ひっぽ

unread,
Mar 24, 2022, 10:01:06 PM3/24/22
to QGIS初心者質問グループ
福岡さま、ありたさま

おはようございます。
おかげさまでmで計算結果を出すことができました!ありがとうございます。

ちなみに、CRSの変換手続きが間違っており、時間がかかっておりました。。。
最終的に意図した結果は得られたのですが、以下の手順の違いがよくわかっておらず、もし差し支えなければなぜ最初にためした手順ではおかしな結果が返されているのかご教示いただけると、ありがたいです。もしできましたらお願い致します。

<最初にためした手順>
CRSを変更したいレイヤを、プロパティの設定のところにある「Set source coordinate reference system」で、UTMに変更してからエクスポートしたところ、
単位は変更できたのですが、座標系?がおかしくなってしまい、値が度のままメートルに変換された計算結果が返されてしまい、地図でもおかしなところに表示されていました。(レイヤのプロパティの範囲を示す値が度のまま、単位がメートルになっていました)
レイヤーをエクスポートする画面では、CRSは<次に試した手順>と同じように表示されていたと思います。

<次に試した手順>
レイヤを右クリックして、エクスポートを選んでからCRSをUTMに変更すると、正しい計算結果が得られました。

お忙しいところ恐れ入ります。どうぞよろしくお願い致します。

ひっぽ

2022年3月24日木曜日 23:36:58 UTC+9 ひっぽ:

sakuya_izayoi

unread,
Mar 24, 2022, 10:59:42 PM3/24/22
to QGIS初心者質問グループ
ひっぽ様
izayoiです。

最初に試した手順では、プロパティ設定のところで座標系を設定しなおしたという所に問題があります。
このファイルには座標系がもともと設定されたうえで図形が作成されております。そのファイルに対して、自分で座標系を勝手に再設定したという事になります。

次に試した手順では、例えば、JGD2011(緯度経度)であるファイルをメートル単位系であるUTM53帯に変換したいため、その座標系に合った図形に変換してくださいという命令を行っているため、座標系に応じた図形の位置になります。

結論。レイヤプロパティの座標系のところは、初期状態からめったな事(座標系のファイルが壊れている、認識しない等)が無い限り触らない。
といった感じです。

2022年3月25日金曜日 11:01:06 UTC+9 ひっぽ:

ひっぽ

unread,
Mar 25, 2022, 1:38:09 AM3/25/22
to QGIS初心者質問グループ
izayoiさま

こんにちは。
丁寧に教えてくださりありがとうございます。違いがよくわかりました。
レイヤのプロパティの使い方についても、気をつけたいと思います。

皆様、親切にご対応くださいましてまことにありがとうございます。

ひっぽ

2022年3月25日金曜日 11:59:42 UTC+9 sakuya_izayoi:
Reply all
Reply to author
Forward
0 new messages