180度の線を横切る最小の凸包を作成する方法は?


13

私はインド太平洋に生息する種(〜20〜-65度の経度)の凸包を構築しています。私が遭遇した問題は、180度の経度線の両側にある種の場合、再構築された船体が、レイヤーの両端を構成する非常に小さなポリゴンにポイントを含めるのではなく、レイヤー全体に広がることです。この動作の原因は、この線がレイヤーの端を表しており、QGISがベクトルマップをラップしていないことです(下の画像を参照してください...私の「評判」は今ではそれを含めるのに十分です、ありがとう)。

ここに画像の説明を入力してください

いくつかの考えとグーグルの後、これらは私が遭遇した問題への可能なアプローチの一部です。ただし、そのメリットや実装についてはあまりよくわかりません。

  1. 中央子午線を0(グリニッジ)から150度に変更します。これをどのように行うことができますか?これは単にマップの表示を変更するだけですか(それ自体が有用です)、それとも正しい凸包の構築に貢献しますか?

  2. 座標系を+/- 180度形式から0〜360度形式に変更します。どうやら、これらの線に沿った何かは、PostGISの「ST_Shift_Longitude」関数を使用して実現できます。これは、負の経度に360度を追加します。これを行う簡単な方法はありますか?また、この関数は180度中心のマップを生成します。これは世界の終わりではありませんが、150度中心のマップの方が優れています(〜インド太平洋の中心)。

    お時間を割いてお世話になり、長い投稿をありがとうございます。


1
凸面は、システムが使用される座標投影したときにのみ意味をなす船体

2
一般的には正しい@Danですが、凸包意味をなすケースは多くありますが、これはおそらくその1つです。球体上の任意のポイントセットの凸包を定義するには、それらのコーン(地球の中心から発生し、ポイントを通過する光線の結合)を構築し、それらの光線の凸包を交差させます(のサブセットとして考えられます)スペース)球体。
whuber

gis.stackexchange.com/questions/17788の関連する質問では、+-180度子午線を横切る可能性のある点の境界ボックスを計算するように求めています。ただし、今回の場合、投影座標のソリューション(@Dan Pattersonによって提案されたもの)または3Dソリューションのどちらかが最善策のように見えます。ただし、注意してください。ほとんどのGISには、この子午線にまたがるデータに対処する問題がまだあります。ソリューションにコミットする前に、簡単なデータセットでテストを実施してください。
whuber

回答:


4

日付行でグローバルラップアラウンドを処理できるGRASS GIS(GRASSツールボックス以上のQGISで利用可能なSextanteプラグイン)を使用できます。

これは、v.hullで生成された凸包ポリゴンを持つゾーン内のランダムポイントの例です

ここに画像の説明を入力してください


0

世界地図の中央子午線をグリニッジから他の場所に移動する場合、遭遇したのと同じ誤配置が発生しますが、ベクトルポリゴンで構築されている場合はマップの背景が使用されます。

回避策については、このQ&Aを参照してください。

Natural EarthデータセットをWorld Eckert Iに再投影する

エッカート図法のために書かれていますが、グリニッジとは異なる経線を中心とした世界的なすべての見解で機能するはずです。

Blue Marbleのようなラスター背景を使用すると、この問題を回避できます。

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