ラスターシンボルの設定について


9

QGISのラスターレイヤーのシンボルオプション、特にリサンプリングオプションの使用方法を理解しようとしていますが、公式のドキュメントでは、設定についてはほんの少ししか触れておらず、その動作については詳しく説明していません。

設定を使用して、タイルセットマップサービスまたはGeoTIFFなどのオフラインの静的フォーマットを介して、地形図や海図などのラスターイメージを最適に表示する方法に興味があります。私が見つけることができるほとんどのビデオとチュートリアルは、表示目的ではなくデータ操作目的のリサンプリングを扱っているようです。

編集:ランチョスのリサンプリングに関する既存の回答は非常に有益であり、私がもう少し進むと役立つでしょう。しかし、私の質問は、実際にはよく理解されているさまざまな補間方法についてではなく、QGISの特定の設定がラスターレイヤーのレンダリングにどのような影響を与えるかについてです。

通常、私は設定を変更して結果を視覚的に比較することでこれを調査しますが、適用しても違いは見られません(特定のズームレベルで特定の設定で画像がまったくレンダリングされない場合を除く)。つまり、設定名からは、画像にどのように影響するかを理解できません。具体的には:

  • 「ズームイン」と「ズームアウト」の設定とは何ですか。また、視覚的に比較するにはどのような手順を実行する必要がありますか?ランチョスの記事で説明されているように、これらはアップサンプリングとダウンサンプリングに関連していますか?
  • 「オーバーサンプリング」とは何ですか?それは画像に視覚的にどのように影響しますか?
  • 地形図などの外観に関連するその他のシンボル設定はありますか?

メソッド間のいくつかの非常に興味深い比較があるgis.stackexchange.com/questions/10931/…を読んでください
Michael Stimson、2018


ありがとう。とても有益です!ただし、私の質問は実際には少し初歩的です。方法を説明するために質問を編集しました。
ネイサン

回答:


7

編集された回答(2018年9月11日)

以下の回答と説明はQGIS 3.2に基づいています。質問者はそれらにすでに精通しているので、彼らは補間法に触れません。

レイヤープロパティ -> シンボル体系 -> リサンプリング(下図のように)の設定について具体的に質問されたと思います

図1

ズームイン-ニアレストネイバー、バイリニア、キュービック

一般に、この設定は、ユーザーがラスターレイヤーのネイティブピクセル解像度を超えて "ズームイン"(つまり、地面に向かって)したときに始まります。効果は下図をご覧ください。(必ずオーバーサンプリング値を1.0以上に維持してください。デフォルトは2.0です。)

具体的には、この設定は、マップビューのピクセル解像度がラスターレイヤーの元の(つまり、ファイル)ピクセル解像度よりも大きい場合に有効になるように意図されていました。

図2

ズームアウト-最近傍、平均

一般に、この設定は、ユーザーがラスターレイヤーのネイティブピクセル解像度を超えて「ズームアウト」する(つまり、地面から離れる)ときに有効になります。効果は下図をご覧ください。(必ずオーバーサンプリング値を1.0より高い値にしてください。デフォルトは2.0です。)

具体的には、この設定は、マップビューのピクセル解像度がラスターレイヤーの元の(つまり、ファイル)ピクセル解像度よりも小さい場合に有効になるように意図されていました。

平均方法は、実際にバイリニア補間です。ほとんどの状況で、オーバーサンプリングのデフォルト値2.0は、パフォーマンスに対して「最良の」視覚的結果をもたらします。正射写真のラスターが大きい場合、特にラスターに白い斑点が多い場合(たとえば、車、屋上、水域での光の反射、低品質のマップ作成、前述の組み合わせなど)に、オーバーサンプル値を大きくすると、より良い視覚結果が得られる場合があります。 )。ただし、オーバーサンプル値を大きくすると、レンダリング時間が長くなり、必ずしもより良い結果が得られるとは限りません。異なるラスター正射写真は異なる視覚的結果をもたらします。そのため、異なるオーバーサンプリング値を試してください。

図3

オーバーサンプリング

オーバーサンプリングの実際のアプリケーションと効果は、QGISソースコードを次のステップに縮小/簡略化して説明できます。

let pixelRatio = map view's pixres / raster layer's pixres,
let toUseRatio = min(pixelRatio, Oversampling),

toUseRatioはの小さいpixelRatioオーバーサンプリング。したがって、オーバーサンプリングは誤称であり、代わりに「最大ピクセル比」というラベルを付ける必要があります。

// Assuming Zoom_In and/or Zoom_Out is not Nearest_Neighbour.

if toUseRatio < 1.0 or toUseRatio near 1.0 then
    resamplerToUse = interpolation specified in Zoom_In
else if toUseRatio > 1.0 then
    resamplerToUse = interpolation specified in Zoom_Out
else 
    resamplerToUse = Nearest Neighbour

次に、QGISは、上記のロジックを使用して(で指定された補間方法)ズームインズームアウトを決定します。得られた「特異性」とは、ということですズームインをかけ選ぶことができるズームアウトユーザー層のネイティブピクセルの解像度を過ぎて「ズームアウト」とき。

let resWidth  = map view's width * toUseRatio,
let resHeight = map view's height * toUseRatio,

let InpImg = Block(raster layer, map view's extent, resWidth, resHeight),
let OutImg = scale InpImg to map view's width and height using resamplerToUse.

そして最後に-画像のコピー/スケーリング操作。toUseRatioが "big"の場合、resWidthresHeight同様変化します。これにより、InpImgの上下のピクセルが増加します。InpImgは、マップビューの画面の幅と高さに合わせて縮小(または拡大)されます。

場合InpImgは(横切ってダウン)マップビューよりも多くの画素を有し、その後、スケールダウンが起こり、その結果が「良」であろう。逆に、InpImgのピクセル数(縦横)がマップビューよりも少ない場合、拡大が行われ、結果は悪くなります。(下図参照)

図4


ありがとう、それがまさに私が求めていることです!オーバーサンプリングの機能と、これらの設定が単一のマップサービス内に複数のタイルセットを含むラスターレイヤーにどのように適用されるかについて、もう少し詳しく説明してもらえますか?たとえば、USGS地形図サービスには、1:250k、1:100k、および1:24k縮尺のさまざまな地図が含まれており、これらの縮尺はさまざまなズームレベルで表示されます。オーバーサンプリングの値を高くすると、通常はそのズームレベルでレンダリングされるマップではなく、高いズームレベルのマップが表示されることがあります。どうしてこれなの?
ネイサン

Webマップサービス(WMTSなど)の場合、QGISは現在のマップビューの縮尺またはピクセル解像度に応じて、最適なレイヤーに自動的に「ロックイン」します。次に、QGISは、マップビューが次に最適なレイヤーに到達するまで「ズームイン」または「ズームアウト」します。そして、プロセスが繰り返されます。
Ralph Tee

QGISがロードするWebマップサービスレイヤーを決定するのは、ユーザーのマップビューの現在の(公称縮尺)またはピクセル解像度であり、オーバーサンプリングの値ではありません。
Ralph Tee

それでは、変化の原因は何でしょうか?たとえば、1:125,000のスケールと2倍の倍率で、オーバーサンプリングを2.0に設定すると、QGISは100kの地形レイヤーを読み込みます。同じスケールと倍率で、オーバーサンプリングを3.0に設定すると、QGISは24kトポを表示します(ただし、最初に100kレイヤーがレンダリングされますが、24kレイヤーがその場所に読み込まれるまで、解像度が向上して一時的に表示されます)。
ネイサン

1
(一見関連のある)質問の新しいエントリを作成することをお勧めしますか?これはフォーラムのガイドラインに準拠するためです。さらに、コメントは答えを出すのに適した場所ではありません。
Ralph Tee
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.