ジオリファレンサの出力解像度の設定

619 views
Skip to first unread message

tomoya miyoshi

unread,
Sep 24, 2022, 11:59:15 AM9/24/22
to QGIS初心者質問グループ
ジオリファレンサを使って PDFからラスタレイヤを作成するのですが、常に96dpiになります。もう少し解像度を上げたいのですが、どうすればよいでしょうか。
[変換の設定]にある[解像度を設定]がパラメータと思ったのですが、うまく動作しません。


福岡

unread,
Sep 24, 2022, 9:40:59 PM9/24/22
to QGIS初心者質問グループ
tomoya miyoshi 様

こんにちは

解像度が96dpiで一定とのことですが、ピクセル数は変化していませんでしょうか?
CRSが投影系の場合を例にすると、水平に「1」、垂直に「-1」であれば、1つのピクセルのサイズは縦横1mになるはずです。
これを「0.5」、「-0.5」にすると、ピクセルのサイズが縦横0.5mになりますので、出力される画像のピクセル数は縦・横ともに2倍になると思います。

現在の出力は粗すぎるということだと思いますので、ここの値を小さくすると良いと思います。

2022年9月25日日曜日 0:59:15 UTC+9 tomoya miyoshi:

tomoya miyoshi

unread,
Sep 25, 2022, 1:37:43 AM9/25/22
to QGIS初心者質問グループ
ご回答ありがとうございます。

解像度はdpiではなく、1ピクセルあたりの距離の意味だったんですね。デフォルトが「1」とマニュアルにあったのですが、意味がつかめませんでした。
しかし「解像度を設定」を有効にすると、「変換に失敗しました: GCP変換の計算に失敗しました: 変換を計算できません」となります。
ところが「解像度を設定」を無効にするとやはり(解像度は粗いが)正常に処理されます。何が問題なのでしょうか。
QGISは3.26.2です。

2022年9月25日日曜日 10:40:59 UTC+9 福岡:

福岡

unread,
Sep 25, 2022, 2:53:47 AM9/25/22
to QGIS初心者質問グループ
tomoya miyoshi 様

こんにちは

いろいろな可能性があるので自信はありませんが、CRSが地理座標(緯度経度)になっていませんか?
投影系のCRSですと単位はメートルですが、地理座標ですと単位は度になります。

暫定の数値として、水平を「0.0001」、垂直を「-0.0001」として正常に実行できれば、適用しているCRSに応じた数値としていないことが原因です。

2022年9月25日日曜日 14:37:43 UTC+9 tomoya miyoshi:

tomoya miyoshi

unread,
Sep 25, 2022, 7:05:10 AM9/25/22
to QGIS初心者質問グループ
こんばんは。

> 暫定の数値として、水平を「0.0001」、垂直を「-0.0001」として正常に実行できれば、適用しているCRSに応じた数値としていないことが原因です。

試したところ、やはり同じエラーでした。

PDFの地図を入力にし、CRSはAsia_Lambert_Conformal _Conic(ESRI:102012)をカスタマイズしたものを使い、GCPを指定するときはEPSG:4236を指定して経線と緯線の交点を利用しています。
この場合は解像度を指定することはできないのでしょうか。(解像度を指定できるときの条件は何でしょう?)

目的は出力TIFFの解像度をあげて小さな文字を読み取れるようにすることにあります。

2022年9月25日日曜日 15:53:47 UTC+9 福岡:

福岡

unread,
Sep 25, 2022, 9:00:15 AM9/25/22
to QGIS初心者質問グループ
tomoya miyoshi 様

うまく行かなかったようで申し訳ありません。m(__)m
そこで私もQGIS3.26.3で試してみました。

どうやら解像度を指定する設定では、ファイルパスに2バイト文字が入っているとエラーになるようです。
多分これが原因のように思います。
ファイル名や収容するフォルダ名に日本語が入らないようにして試してみてもらえませんでしょうか?

2022年9月25日日曜日 20:05:10 UTC+9 tomoya miyoshi:

tomoya miyoshi

unread,
Sep 25, 2022, 10:00:42 AM9/25/22
to QGIS初心者質問グループ
福岡様

試していただいてありがとうございます。恐れ入ります。

ファイルパスに2バイト文字が入っていないことを確認して実行したのですが、やはりエラーとなりました。

QGISのチュートリアル  14.2. Lesson: 地図をジオリファレンスする — QGIS Documentation ドキュメント にあるサンプルで解像度を0.5に指定したところ、これはうまく動作しました。(ただしピクセル数は2倍ではなく縦横約1.7倍でした。)

サンプルとの違いは、
・サンプルではGCPをXYで指定;私のものはGCPを経緯度で指定してジオリファレンサがメートルに変換
・サンプルの縮尺は大きい;私の縮尺はとても小さい
といったところです。

想定されている使い方がそもそも違うのだろうなあと思い始めましたが、何かお気づきの点がありましたら教えていただけると幸いです。

2022年9月25日日曜日 22:00:15 UTC+9 福岡:

福岡

unread,
Sep 25, 2022, 9:42:01 PM9/25/22
to QGIS初心者質問グループ
tomoya miyoshi 様

こんにちは

とりあえず私の実行した手順を画像も使って記述したいと思います。
1つ1つチェックして頂ければ、違いがわかるかもしれません。

私の変換の設定です。
参照座標系は「WGS 84」とし、解像度は「0.0001」と「-0.0001」としました。

fig_01.png

GCPを打って、座標は手入力しました。
参照座標系は「WGS 84」としています。ここは見落としやすいと思いますので、要チェックです。

fig_02.png

GCPを4点設定した後の画像です。
GCPテーブルの数値を比較してください。「変換先 X」に経度、「変換先 Y」に緯度が入っていますでしょうか?

fig_03.png

以上の設定で、試してみます。
出力をみると文字が判別できません。少し解像度が粗かったようです。

fig_04.png

解像度を1桁細かくして、「0.00001」と「-0.00001」にして再出力してみます。
今度は文字も判別できる状況になっています。

fig_05.png
2022年9月25日日曜日 23:00:42 UTC+9 tomoya miyoshi:

tomoya miyoshi

unread,
Sep 26, 2022, 10:16:07 AM9/26/22
to QGIS初心者質問グループ
福岡様

こんばんは。手順を示していただいてありがとうございます。
同じ手順でやっておりますが、異なるのは地図の大きさです。試験的なデータで試した結果です:
submit.png
この状態でも、「解像度を設定」をオフにすると正常に動作します。(思ったより字が潰れませんでしたが。)
submit2.png


ちなみに、解像度を1000,-1000などにしても駄目でした。


2022年9月26日月曜日 10:42:01 UTC+9 福岡:

福岡

unread,
Sep 26, 2022, 4:22:39 PM9/26/22
to QGIS初心者質問グループ
tomoya miyoshi 様

こんにちは。

できるだけ同じような条件にするため、変換先を「Asia_Lambert_Conformal_Conic」にして試してみました。
変換の設定は次のとおりです。

fig_01.png

設定後の状況です。解像度はCRSが投影系のようですので直感で「100」、「-100」としました。

fig_02.png

一応出力はできるようです。地理院の白地図タイルに重ねてみました。

fig_03.png

今のところ、これといった原因は思いつかないです。申し訳ありません。m(__)m
もう少し考えてみます。

2022年9月26日月曜日 23:16:07 UTC+9 tomoya miyoshi:

福岡

unread,
Sep 26, 2022, 7:18:53 PM9/26/22
to QGIS初心者質問グループ
tomoya miyoshi 様

こんにちは

「Asia_Lambert_Conformal_Conic」でのジオリファレンスがうまく行くというのが前提ですが、現在思いつくのは以下のとおりです。

1 「Asia_Lambert_Conformal_Conic」でジオリファレンスしたものをそのまま使う
  用途が背景地図として利用なら、CRSが「Asia_Lambert_Conformal_Conic」でも差し支えないように思います。

2 「Asia_Lambert_Conformal_Conic」でジオリファレンスものを再投影する
  メニューの「ラスタ - 投影法 - 再投影(warp)」を使ってユーザー定義の座標を適用したラスタを出力します。
  ユーザー定義への再投影をしたことが無いのでうまくいくという確信はありませんが、試してみる価値はあるかと思います。

2022年9月27日火曜日 5:22:39 UTC+9 福岡:

tomoya miyoshi

unread,
Sep 29, 2022, 6:27:12 AM9/29/22
to QGIS初心者質問グループ

福岡さま、こんばんは。

「Asia_Lambert_Conformal_Conic」で解像度付きでジオリファレンスしたところ、正常に動作しました。 ユーザ定義CRSではやはり動作しません。

使っているユーザ定義CRSは、Asia_Lambert_Conformal_ConicのProj文字列を基に、中心の経緯度と標準緯線を書き換えただけなのですが、WKTで見ると他にも違いがあることが判りました。ユーザ定義CRSを利用する目的は正確にジオリファレンスすることでして、小縮尺の地図でジオリファレンスの方法を試した中ではこれが最良でした。

週末にでももう少し探ってみます。

2022年9月27日火曜日 8:18:53 UTC+9 福岡:

福岡

unread,
Sep 29, 2022, 9:03:06 AM9/29/22
to QGIS初心者質問グループ
tomoya miyoshi 様

あまりお役に立てなくて申し訳ありません。m(__)m

ユーザー定義のCRSでジオリファレンスすることについて、情報を探してみました。
見つけたのは海外の情報ですが、以下のとおりでした。

Georeferencing a historic map to a local custom coordinate system
https://gis.stackexchange.com/questions/393333/georeferencing-a-historic-map-to-a-local-custom-coordinate-system

Cannot georeference an image using a custom projection in QGIS
https://gis.stackexchange.com/questions/390420/cannot-georeference-an-image-using-a-custom-projection-in-qgis

今のところ、ユーザー定義のCRSでのジオリファレンスは、単純にはできないような感触です。
ご覧になっている方々からも、ご意見や解決策があれば投稿をよろしくお願いいたします。m(__)m

2022年9月29日木曜日 19:27:12 UTC+9 tomoya miyoshi:
Reply all
Reply to author
Forward
0 new messages