多角形の中心から多角形の境界までの最大距離の計算


9

QGISでポリゴンの準備ができています。私がしたいのは、ポリゴンの重心からそのポリゴンの境界までの最大距離をキロメートル単位で計算することです。

次の2つが必要です。

  • ポリゴンの重心から境界までの可能な最大距離
  • ポリゴンの中心(Lat / Long)

回答:


6

重心を取得するには、ベクター->ジオメトリツール->ポリゴン重心を使用できます。次に、座標を取得するには、属性テーブルにいくつかのフィールドを追加して、フィールド計算機を各フィールドに対してそれぞれ$ xおよび$ yに設定するか、Coordinate Captureプラグインを使用します。

最大距離を取得するには、もう少し作業を行う必要があります。非常に単純なアプローチは、ポリゴンをノードに変換し(ベクター->ジオメトリツール->ノードの抽出)、距離マトリックスツールを使用することです(ベクター->分析ツール->距離マトリックス)。これにより、ポリゴンのすべての頂点までの距離が得られ、結果をふるいにかけるだけで最高の値を得ることができます。このアプローチの精度を向上させるには、最初に頂点を高密度化します。重心とノードのポイントデータセットがポリゴンのIDを保持することを確認すると、この操作は簡単になります。

QGIS距離行列関数の代わりにPostGis ST_Distance_spheroid関数を使用することもできます。これにより、回転楕円体上の直線距離が得られ、データの再投影を節約できる可能性があります。残念ながら、ST_Distance関数は最小距離しか提供しないため、どちらの方法でも、特定のポリゴンのすべてのポイントを反復処理する必要があります。


実際には、私はExcelでポリゴンの角点と重心(緯度/経度)を持っています。Excelでどのように実行できますか。数式の場合はすべて.A列に重心があり、列Bに角点のリストがあります。どうすれば最大を計算できますか?列Cの可能な距離。
GISデータブッチャー

距離行列は、距離を度単位で返します。キロにしたいです。このデータを特定のUTM投影に変換できません。cozそれはインドの国全体をカバーします。それを行うためのトリック。
GISデータブッチャー

1
大圏距離計算を行う必要があります。このサイトで「Haversine」を検索します。
MappaGnosis、2013

2
(1)ポリゴンが非常に大きい場合を除き、頂点を高密度化する必要はありません。境界までの最大距離は、いずれかの頂点で発生する必要があります(ユークリッド計算を使用)。(2)ポリゴンが半球内にある場合、ポリゴンとその中心の対掌体との間の最短距離を計算してみませんか?その最短距離が得られるポリゴン上のポイントは、中心から最大で遠くなります。対角線は、緯度を否定し、経度に180度(モジュロ360)を追加することによって得られます。たとえば、(lon、lat)=(2,50)の対極は(-178、-50)です。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.