勾配計算にSRTMグローバルDEMを使用していますか?


17

SRTM GDEM(〜90 km解像度)をダウンロードしました。

ArcGIS 10を使用しています。

空間解析を使用して勾配を計算しようとしました。

ただし、勾配を計算することはできません。

出力値には、0と0.1〜90の2つの範囲しかありません。

何が問題なのかよくわかりません。


これは、世界のどこで分析しているかによって異なります。場所ごとに異なる投影法があります。どこで調べていますか?
djq

5
解像度は実際には90mではなく90mです。
Akheloes

デスクトップのメンテナンスの場合は、コメントだけで、ArcGIS Onlineにログインして、昇格サービスを使用できます(NA拡張機能は必要ありません)。スロープレイヤーは、参照レイヤーとして自由に使用できます。オーストラリアでは、1秒のSRTMデータ(〜30m
サイモン

回答:


29

これは、グローバルに広範なDEMの勾配を計算するための、単純で、高速で、適度に正確な方法を説明するのに適した場所のようです。

原則

ポイントでのサーフェスの勾配は、本質的に、そのポイントからのすべての可能なベアリングで発生する「上昇」と「走行」の最大比であることを思い出してください。問題は、投影にスケール歪みがある場合、「実行」の値が誤って計算されることです。さらに悪いことに、スケール歪みがベアリングによって変化する場合(コンフォーマルではないすべての投影の場合)、ベアリングによって傾斜がどのように変化するかが誤って推定され、最大ライズ:ラン比(およびアスペクトの計算)。

等角投影を使用して縮尺の歪みが方位によって変化しないことを確認し、勾配の歪みを補正するために勾配の推定値を修正することでこれを解決できます(マップ全体でポイントごとに変化します)。トリックは、スケールの歪みを簡単に表現できるグローバルな等角投影を使用することです。

メルカトル図法は法案に適合します。赤道で縮尺が正しいと仮定すると、その歪みは緯度の割線に等しくなります。つまり、マップ上の距離に割線が乗算されているように見えます。これにより、勾配の計算でrise:(sec(f)* run)(比率)が計算されます。ここで、fは緯度です。これを修正するには、計算された勾配にsec(f)を掛ける必要があります。または、同等に、cos(f)で除算します。これにより、簡単なレシピが得られます。

メルカトル図法を使用して(rise:runまたはパーセントとして)勾配を計算し、結果を緯度の余弦で除算します。

ワークフロー

10進度で指定されたグリッド(SRTM DEMなど)でこれを行うには、次の手順を実行します。

  1. 緯度グリッドを作成します。(これは単なるy座標グリッドです。)

  2. コサインを計算します。

  3. プロジェクトの両方 DEMとスケールが赤道で真であるメルカトル図法を使用して、緯度の余弦。

  4. 必要に応じて、投影された座標の単位(通常はメートル)と一致するように標高単位を変換します。

  5. 投影されたDEMの勾配を、純粋な勾配またはパーセントとして(角度としてではなく)計算します。

  6. この傾斜を投影された余弦(緯度)グリッドで割ります。

  7. 必要に応じて、スロープグリッドを他の座標系に再投影して、さらに分析またはマッピングします。

勾配計算の誤差は最大0.3%です(この手順では、楕円体モデルではなく、0.3%平坦化された球体地球モデルを使用するため)。このエラーは、スロープ計算に使用される他のエラーよりもかなり小さいため、無視できます。


完全にグローバルな計算

メルカトル図法では、どちらの極も処理できません。極地での作業の場合、極に真のスケールを持つ極立体図法の使用を検討してください。スケール歪みは2 /(1 + sin(f))に等しくなります。ワークフローでsec(f)の代わりにこの式を使用します。具体的には、コサイン(緯度)グリッドを計算する代わりに、値が(1 + sin(緯度))/ 2のグリッドを計算します(編集:コメントで説明したように、南極に-latitudeを使用します)。その後、前とまったく同じように進めます。

完全なグローバルソリューションでは、地上グリッドを3つの部分(各極の周りと赤道の周り)に分割し、適切な投影を使用して各部分で個別に勾配計算を実行し、結果をモザイク化することを検討してください。地球を分割する合理的な場所は、緯度2 * ArcTan(1/3)の緯度の円に沿って約37度です。これらの緯度では、メルカトルとステレオグラフィックの補正係数が互いに等しい(共通の値を持っているため) 5/4)であり、行われた修正のサイズを最小化するとよいでしょう。計算のチェックとして、グリッドは重なり合う場所で非常に密接に一致する必要があります(わずかな量の浮動小数点の不正確さと、投影されたグリッドのリサンプリングによる違いが唯一の不一致の原因であるはずです)。

参照資料

ジョンP.スナイダー、地図投影法-作業マニュアル。USGS Professional Paper 1395、1987


7
私はそう頻繁に行うように私は解決策を記述するために再びwhuberに感謝の、位置に自分自身を見つけるだけでなく、前後にそれを構築する推論を置きます。私の帽子はあなたに向かっています。
マットウィルキー

ありがとう@matt。あなたの(現在削除された)回答を取り消すべきだと以前に示唆するつもりはありませんでした。実際、多くの読者に役立つ興味深いUSGS参照へのリンクを共有しているので、私はそれを支持しました。(私のコメントは、論文自体ではなく、その論文の二次的な文章についてのみ重要でした。)
whuber

ああ。説明をありがとう。私は答えを復元しました。情報に基づいた選択をするのに十分な情報が人々の前にあると
信じて

2
フランスのバックグラウンドから来て、この素晴らしい答えをよりよく理解するために必要な用語を翻訳するのに少し時間がかかりましたので、このリンクをドロップすることは私のような初心者にとって良い助けだと思いました:webhelp.esri.com/arcgisdesktop/9.2/…
Akheloes

これは素晴らしいアプローチであり、グローバルスロープラスターを生成するために既にソリューションを使用しました。実際の経験からのヒント:赤道の南の緯度値は負であるため、次の方程式で絶対緯度値を使用する必要があります:(1 + sin(latitude))/ 2
Saleika

18

元の答え

ラスターの水平単位は度またはアーク秒のいずれかであると推測しています。このラスターを、水平単位と垂直単位が同じ空間投影に再投影する必要があります(つまり、垂直単位がメートルの場合、水平単位がメートルのUTMを使用することをお勧めします)。

ArcCatalog / ArcGISを使用してラスターを再投影するには、以下をご覧ください。

ArcToolbox>データ管理ツール>投影と変換>ラスター>プロジェクトラスター

関心領域をカバーする投影された空間参照を選択します。たとえば、UTMゾーンを試してください。マニュアルに最もよく記録された他の多くのオプションがあります地球全体の勾配データセットを作成することはできません(それがあなたがしようとしていることである場合)。

より良い答え、スケールでGDALを使用する

SRTMデータがグローバルに利用可能になったので、実際にファイルを表示して操作できます。gdaldemGDALユーティリティは、垂直方向の単位と水平方向の比率のスケールオプションを使用して、勾配と陰影起伏を計算できます。マニュアルでは、SRTMタイルなどに111120 m /°を推奨しています。たとえば、OSGeo4Wシェルから:

$ gdaldem slope -s 111120 -compute_edges N44E007.hgt N44E007_slope.tif

この-compute_edgesオプションは、いくつかのタイルをつなぎ合わせたい場合に、エッジをよりシームレスにします。または、大きな領域のタイルを計算します。「スケール」技術の欠点は、赤道を除いてEWおよびNS方向の距離が等しくないため、極に近いタイルでは、傾斜の奇妙な不正確な表示が生じる可能性があることです。


最後のコメントを強調する価値があります。これは、赤道付近ではないポイントに対する貧弱なソリューションです。これは「奇妙な不実表示」の小さな問題ではありません。結果は、特に赤道よりもポーランドに近い場所では、ひどく間違っています。ドキュメントgdaldem状態「赤道に近い場所ではないために、それはgdaldemを使用する前にgdalwarpを使用して、グリッドを再投影するのがベストでしょう。」残念ながら、地球全体をカバーするデータセットでは、それらを小さな断片(おそらく74 UTMゾーン?)に分割し、それらを投影し、勾配を計算し、結果をモザイク化しない限り、機能しません。
whuber

7

簡単に言えば、ありません。定義により、度に基づく座標系は投影されません。一般的な用語では、WGS84は「地理的」な投影法であると言いますが、便宜上、それは真実ではありません。

投影されていない地理空間で標高モデルを正確に操作するためのソフトウェアまたはプロセスについて読んだことを覚えていると思いますが、今のところ見つけることができません。いずれにせよ、それは実験的なものであるか、コードの種類のプロセスから自分でビルドしたものです。


ああ、それを見つけました:地震(USGS)に起因する地すべりの発生を推定するためのグローバルな斜面データセットの開発。ページ4は問題をよく説明しています

... 1度の長さは、緯度の位置によって異なります。赤道では、1度x 1度のブロックは、メートル単位(x方向で111,321メートル、y方向で110,567メートル...子午線の収束により、x方向は緯度の余弦の関数として小さくなります。ArcGISを含むほとんどのGISパッケージは正方形ピクセルでのみ動作するため、x、y、またはz次元を調整する係数を使用して共通のユニットは不可能です。

この基本的な問題を回避するために使用した特定の計算とソフトウェアツール()について説明します。論文にはコードは含まれていませんが、きちんと尋ねられれば共有するかもしれません。いずれにせよ、結果がどこにあるかをたぶん尋ねるだけですが、USGSであるため、おそらくどこかで既にオンラインになっています。:)


1
方位角の等距離射影を使用して勾配を計算できるというその論文の提案は、見当違いで間違っています。実際、投影の原点付近で正しい傾斜が得られますが、原点までの距離が長くなるにつれて、精度も次第に低下します。
whuber

指摘してくれてありがとう。読者は、必ずお読み下さいgis.stackexchange.com/a/40464/108をバランスするために、同様に
マットウィルキー

2

グローバルDEMパラメーター(式のほとんどはユークリッド空間の仮定に基づいています)は、EQUI7 GRIDシステムを使用して効率的に導出できます(Bauer-Marschallinger et al。2014)。EQUI7 GRIDは、世界を7つの土地エリアに分割します。これらはすべて、精度の低下を最小限に抑えて等距離投影システムで投影されます。EQUI7 GRIDの250 m解像度でのグローバルDEMの例を参照してください。ここでは、SAGA GISを使用してグローバルDEMパラメーターを導出する方法を示すサンプルコードを見つけることができます。EQUI7 GRIDシステムでDEMパラメーターの導出が完了すると、すべてのマップをWGS84 longlat座標に逆変換し、GDALを使用してグローバルモザイクを作成できます。


これが質問にどのように答えるか説明していただけますか?勾配の計算に等距離の投影を使用することを提案している場合、投影の中心から外に移動すると相対的なメトリックの歪みが大きくなるため、これは不十分なソリューションであることに注意してください。7つのそのような予測を陸地に集中させることは、その問題を軽減するのに役立ちますが、それでも最良の選択ではありません。
whuber

Bauer-Marschallingerらによる論文(2014)は、なぜこれらの投影がグローバルな陸地を表すために選択されたのかを説明しています(それらは精度の損失が最小であると仮定されています)。私は2D投影が最終的に変形につながることに同意しますが、私が知る限り、EQUI7は精度の低下とコモディティ(2D代数)の適切な妥協点です。とはいえ、六角形は再び地球の地表面を表すために使用されています(ただし、3D六角形を使用したDEM分析は依然として面倒です)。
トムヘングル

参照していただきありがとうございます。その要約は、「一般的な衛星画像を通常のラスタグリッドに投影する際に現れるローカルデータのオーバーサンプリングを最小限に抑える」というまったく異なる問題を解決することを示唆しています。これは、勾配の推定など、他の目的に適していることを意味するものではありません。
whuber

もちろん、EQUI7は局所勾配を正確に推定する問題を完全に解決するわけではありませんが、おそらく上記の提案されたメルカトル図法を使用するよりも洗練されたソリューションです。最終的に、傾斜を完全な精度で推定したい場合、唯一のオプションは、(1)10-20%のオーバーラップで小さいサイズのタイル(100 x 100 kmなど)ごとにローカル(等距離)投影を使用することです。Verdin et al。(2007)、または(2)六角形グリッド(dggridRパッケージ)を使用します
トムヘングル

問題は正確ではありません。体系的に偏った傾斜とアスペクトを生成することにあります。等距離の投影は、中心から始まる測地線に直交する方向を差動的に歪ませるので、アスペクトは常に間違っています(ただし、すべての歪みが低い中心付近ではかなり正確ですが)、斜面の誤差は距離とともに急速に増大します。もちろん、多くのローカル投影の使用は機能しますが、価値のある優雅さとは正反対です。
whuber

-2

勾配は上昇/実行です。上昇を計算し、実行を計算すると、答えが得られます。地理座標間の距離を計算するのは簡単です。これにより、UTMなどへの変換と比較して、リサンプリングエラーが少なくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.