回答:
(フィールドとしての)GISは、地球の表面に実際に取り組むときにそれほど熱くなりませんでした。
たとえば、問題が完全に定義されていません。ポリゴンのエッジが直線で構成されていることがわかっている2Dとは異なり、それらは地球上で何ですか?大円の弧は、頂点間の距離を最小化するのに適していますが、それだけではありません。たとえば、直線(つまり、地球の表面の下を移動する)は、別の選択肢です。(Rumbbラインも選択可能ですが、特に極の近くでは、おそらく馬鹿げたラインになります...)WRTエッジの解釈に関する優れたリンクは次のとおりです:http : //blog.opengeo.org/2010/08/10/shape-of -a-polygon /
他の人が言及した特異点に加えて、プロジェクトから2D、次に交差するアプローチのもう1つの大きな問題は、新しく作成された交差ポイント(ポリゴンエッジが交差する場所)が場違いになり、使用する投影に依存することです。(これが、高密度化の推奨の原因であると私は思います:中間の頂点のトンを追加することにより、ポリゴンエッジの中央の投影からのエラーを減らすことができます。)
2Dへの投影のすべての妥協案と回避策を作りたくないと考え、自分で何かを考えてコーディングすることを考えている場合、クライアントとの取引のために、プロトタイプ(およびプロトタイプのみ!)のコードを少し実行しました。これとともに。
これがアプローチのスケッチです。ベクトルとは何か、ドットとクロス積の意味を知る必要があります。(注意:ウィキペディアはクイックリンクには便利ですが、トピックへの最初の導入であれば十分です。優れた3Dグラフィックチュートリアルが役立ちます。)
ふhe。
このアプローチにはいくつかの大きな利点があります。上記のすべての演算は、乗算と加算のみに要約されます。(データをこの表現に変換した後:たとえば、緯度/経度の座標はデカルトXYZベクトルを取得するためにいくつかのトリガーを必要とします。)極または座標系に特異点はなく、心配するほど多くの特殊なケースはありません(特殊なケースの例) :平行な重なり合うエッジ)。
コードを見ると、誰か他の人がリンクしているSpheresパッケージがこのアプローチの一部を実行しているように見えますが、少し半分焼き付けられているように見えます。
PostGISも同様にgeographyデータ型に対して同様のアプローチを使用する場合がありますが、私は内部を調べていません。空間インデックスの場合、少なくとも、3Dデカルト上のRツリーを使用することは知っています。
(注:この回答は長くなりすぎて、おそらくブログの投稿に編集するつもりです...フィードバック/コメントは大歓迎です!)
多くの大きなポリゴンで機能する一般的なソリューションを実際に探しています。
これまでに読んだ答えのほとんどは、当然、機能に適した投影法を見つけることに焦点を当てています。これは直感に反するかもしれませんが、ここでは、プロジェクションがうまく機能しない場合ではなく、プロジェクションが機能しない場合を検討する必要があります。
一部の予測は1点でのみ機能しません。これらはいわゆる「グローバル」予測の1つです。良い例は、方位角等距離です。投影できない唯一の点は、その原点と正反対の点です。(実際には、その最後の点を投影できないことは厳密には真実ではありません。技術的な問題に光沢があります。反対の極で投影が深刻な問題を経験することで十分です。)
したがって、操作するすべてのポリゴンの和集合の外側に単一の点Pを見つけることができる場合、必要なのは、この単一の点でのみ失敗するグローバル投影内で作業することだけです。(たとえば、Pの正反対の点を中心とする斜めの等距離の方位角を使用します。)
(そのようなポイントを自動的に見つけることができます。たとえば、地球を覆うポリゴンを作成し、すべてのフィーチャの結合をわずかにバッファーし、このバッファーを地球のポリゴンから削除し、残っているものの中の任意のポイントを選択します。バッファリングの理由投影が失敗する特異点に近づかないようにするのが最善であるということは、より良いことです。これは計算精度の問題です。)
等距離に、コンフォーマル(含む望ましい特性、グローバル突起がたくさんあり、例えば、ステレオ)と等しい面積は。したがって、分析にグローバルな予測を選択することは重大な制限ではありません。
主な制限は、世の中で最も人気のあるソフトウェアであるArcGISが、グローバルプロジェクションの多くの斜めバージョンをサポートしていないことです。:-(
これは予測で解決できます!
縮尺の「端」が-180と+180にあるからといって、それらの端でマップを考慮する必要があるという意味ではありません。
EPSG:32761(http://spatialreference.org/ref/epsg/32761/)を使用します
緯度と経度の値をUPS空間の座標に変換すると、通常のジオメトリ計算を使用して、飛行機が南極上空にあるかどうかを判断できます。
Universal Polar Stereographic座標系の詳細については、http://en.wikipedia.org/wiki/Universal_Polar_Stereographic_coordinate_systemをご覧ください。
巨大なポリゴンの交差アルゴリズムを決定するだけの場合は、地球を回転楕円体(または球体)として扱い、球体ジオメトリを使用してポリゴンを分析します。
GPL化されたSpheresと呼ばれるライブラリを見つけたので、そのコードを確認して、弧の交差と「球面ポリゴン内のポイント」にどのアルゴリズムを使用するかを正確に確認できます。
ただし、これらのポリゴンを平面(紙や画面など)に描画する場合は、プロジェクションまたは少なくともプロジェクションスタイルを選択する必要があります。
デカルト座標の使用には問題がありますが、あなたが提供した例には問題がありません。座標空間のエッジで囲まれた南極大陸を多角形で覆った場合、次のようになります。
(ソース:geohack.net)
平面と大陸の交点は、複雑な変換を実行せずに安全に計算できます。