タグ付けされた質問 「voronoi-thiessen」

ティーセンポリゴンは、(一連のポイントから生成された)ポリゴンであり、その境界によって、他のすべてのポイントに比べて各ポイントに最も近い領域が定義されます。ティーセンポリゴンは、すべてのポイント間の線の垂直二等分線によって数学的に定義され、三角不規則ネットワーク(TIN)構造によって作成されます。

5
PostGISの非ノード交差の問題を修正する最善の方法は?
PL/R関数を使用してPostGIS、一連のポイントの周りにボロノイポリゴンを生成しています。私が使用している関数は、ここで定義されています。特定のデータセットでこの関数を使用すると、次のエラーメッセージが表示されます。 Error : ERROR: R interpreter expression evaluation error DETAIL: Error in pg.spi.exec(sprintf("SELECT %3$s AS id, st_intersection('SRID='||st_srid(%2$s)||';%4$s'::text,'%5$s') AS polygon FROM %1$s WHERE st_intersects(%2$s::text,'SRID='||st_srid(%2$s)||';%4$s');", :error in SQL statement : Error performing intersection: TopologyException: found non-noded intersection between LINESTRING (571304 310990, 568465 264611) and LINESTRING (568465 264611, 594406 286813) at 568465.05533706467 264610.82749605528 …

2
ポイントセットをポリゴン境界に変換しますか?
ポイントのセットをそれぞれのポリゴン境界に変換しようとしています。これはボロノイ図や凸包のようなものだと思いますが、完全ではありません。技術用語はあると思いますが、私はGISの初心者です。 おそらく次の画像で最もよく説明されています。 では、4セットのポイント(それぞれ独自の色のセット)が与えられた場合、ポリゴン間の間隔がマージンを最大化し、すべてのポリゴンが一致するように、それぞれのポイントセットを囲む4つのポリゴンは何ですか? 以下に、3つのポイントを使用した簡単な例を示します。 A、43.656943、-79.393928、ブルー B、43.66663、-79.402682、グリーン C、43.656447、-79.408004、グリーン 意味を理解するには、次の図を表示する必要があります。 基本的に、各ポイントには色があり、そこから特定の距離のバッファーを展開して開始します。 難しいのは、他のポイント(それらの境界)との衝突がある場合、およびその境界を計算する場所です。結果は、ポリゴンのセットです(色/セットごとに1つ)。

1
無限に尽きるボロノイ多角形?
私はvoronoi.pyスクリプト(Bill SimonによるSteve Fortuneのコードの翻訳)の実装に取り​​組んでいます。QGISリンクによれば、それは基本的に私が作業しているコードと同じですが、無限に拡張できるポリゴンを生成する方法は2つで異なります。QGISの場合、サイトポイント範囲を超えた範囲で境界矩形が生成されると想定しています。私の場合、興味のあるサイトポイントを囲む円として偽のサイトポイントを生成します。サークルポイントの半径は、サイトポイントの範囲の直径の2倍です。2つの間の結果を添付の図に示します。左側にQGIS実装、右側に私の実装です。 。 ご覧のとおり、QGIS実装はサイトポイントのない奇妙なポリゴンを生成します(両方の実装の例としてサイト473を参照)。これは明らかに間違っていますが、実装が正しいかどうかもわかりません。私はArcMapのArcInfoライセンスにアクセスできないため、ArcMapがネイティブに生成するものと比較することはできず、テストするためにサイトポイントシェープファイルをアタッチする方法がわかりません。したがって、エッジポリゴンと「無限の長方形」を強制するのに役立つ「無限の円」の使用についてのコメントがあれば、感謝します。さらに良いことに、他のGISプラットフォームで出力をテストすることに興味がある人がいれば、使用したサイトポイントのシェープファイルを提供できます。 問題の一部のように見えるのは、サイトポイントを超えるポリゴンがオーバーラップしているため、塗りつぶしなしでシンボル化すると、異なるポリゴンとして表示されることです。次の図は、サイト473および415についてのポリゴンが選択されたときに何が起こるかを示しています。したがって、元の質問は残っていますが、新しいしわがあります。 これはバグ(または「不完全性」)であり、0%のバッファーが使用されている場合、QGISで正しい結果になります。まだ解決する必要があるのは、円形の「無限大ポイント」の密集したパターンが、長方形の「無限大エッジ」と同じ結果をもたらすかどうかです。



5
線分からボロノイ図を作成
ポイントの代わりに線分に基づいてボロノイ図を作成する方法を探しています。以下の例を参照してください(このプレゼンテーションから引用)。 Pythonからスクリプトを作成できるものが欲しいのですが、ArcGISなどを使用したソリューションでも問題ありません。 私がこれまでに見つけた唯一のライブラリは、有望に見えるopenvoronoiです。他に何かありますか?

3
PostGISでのボロノイ図の作成
ここからの修正コードを使用して、点のグリッドからボロノイ図を作成しようとしています。これは私の変更後のSQLクエリです。 DROP TABLE IF EXISTS example.voronoi; WITH -- Sample set of points to work with Sample AS (SELECT ST_SetSRID(ST_Union(geom), 0) geom FROM example."MeshPoints2d"), -- Build edges and circumscribe points to generate a centroid Edges AS ( SELECT id, UNNEST(ARRAY['e1','e2','e3']) EdgeName, UNNEST(ARRAY[ ST_MakeLine(p1,p2) , ST_MakeLine(p2,p3) , ST_MakeLine(p3,p1)]) Edge, ST_Centroid(ST_ConvexHull(ST_Union(-- Done this …

4
バラバラのポリゴンからボロノイ図のようなモザイクを作成する
次の図は問題を示しています。 以下のように(a)は私が持っているジオメトリとして、ばらばらのポリゴンの集合を PostGISのインチ (b)のようなものが必要です。このセットのポリゴンの 「モザイク」は、「影響領域」基準によって構築されます...ボロノイ構造のようなものです((c)で示されています):実際、ポリゴンがポイント、影響領域はボロノイです。 要約:互いに素なポリゴンのセットの「モザイク」を生成するSQLアルゴリズム(またはPostGIS固有のアルゴリズム)が必要です。 (おそらく、小さなST_BufferおよびST_Difference操作のループ) PS:ボロノイのように、スペースの区切り((b)の四角い枠)を無視する必要があります。 この問題は、回線に関するこれと似ています。 編集(@FelixIPコメントの後) 私はに滞在するpreffer ベクトル(例:使用して精度を失っていないし、宇宙ST_DelaunayTrianglesを彼らが適応さ、オリジナルのポリゴンで内装をし、加減算デュアルグラフソリューションをのような)...いくつかの簡単な自動パッケージpprepairよう支援(QGISトポロジカルツール自動ではありません)。ただし、ラスターはおそらくよりシンプルであり、CPUの消費量は少ないでしょう。 この「GRIDプロセス」の図は、同じ精度と「ユークリッド影響領域の成長」を可能にすることを前提として、ソリューションとしても有効です。 ARCGISにはEuclidean Allocationとして知られる空間解析ツールが存在するため、おそらく、ポリゴンのセット(ポリゴンの分類、ラスタライズ、および折り返し)から始まるPostGIS同様のソリューションがあります。


1
ST_DelaunayTrianglesを使用してボロノイ図を作成する方法
(編集2019)PostGIS v2.3 以降で使用可能なST_VoronoiPolygons! PostGIS 2.1+では、ST_DelaunayTriangles()を使用してDelaunay三角形分割を生成できます。これは、そのボロノイ線図の双対グラフであり、理論的には、正確かつ可逆的な変換を行います。 このPostGIS2 DelaunayからVoronoiへの変換のために、最適化されたアルゴリズムを備えた安全な SQL標準スクリプトはありますか? その他の引用文献:1、2

1
QGISでマンハッタンボロノイを行う方法は?
QGISでマンハッタンボロノイを行う方法を発見するために、過去2週間を費やしました。マンハッタンボロノイと「通常の」ユークリッドボロノイの違いについては、このリンクを確認してください 誰かが私を正しい方向に向けることができますか?以下のリンクで、私が持っている情報のサンプルを見つけることができます(ポイントと1つのポリゴン) https://drive.google.com/file/d/0B4WB0ixNBUYkREtlcW0weDJUYU0/edit?usp=sharing QGISに参加したいのですが、それが不可能な場合は、他のソリューションを受け入れます。

3
QGISでのボロノイポリゴン作成で穴/制約を考慮していますか?
QGISでボロノイポリゴンを作成して、一般的な領域の「穴」を考慮しようとしています。例は次のとおりです。 GRASSコマンドでQGISを使用し、「差分」ツールを使用して穴を作成して、この画像に実際にボロノアを作成しました。穴の範囲を含む別のポリゴンシェープファイルが「差分」レイヤーとして使用されました。サンプルアプリケーションは、分析から除外する必要がある構造間で収集されたサンプリングポイントの周囲にポリゴンを作成します。 ここで2つの問題が発生します。 「差分」機能は、「穴」に伸びる一部のポリゴン境界で、100%正しく機能していないようです。これは、ポリゴンID番号(または「0」のID)を持たない属性テーブルの行を見つけることで修正できます。 このタイプの事後の「穴あけ」は、画像の赤い矢印で示されているように、不連続なポリゴンになる可能性があります。 私の質問は次のとおりです。ドメインの中心にある「穴」の存在をワンステッププロセスとして考慮し、不連続ポリゴンの生成を排除できるVoronoiツールまたはプラグインはありますか?このようなツールは、他の境界が最初に「穴」の境界にぶつからない限り、ポリゴンの境界を別の境界と最も近い交差点まで延長することを想定しています。


2
別のポリゴンの境界まで延びるボロノイポリゴンを取得する
地区(水色)に特定のハブ(黄色)があります。地区内のすべてのポイントに最も近いハブを示すポリゴンを見つける必要があります。 QGISを使用して取得したボロノイポリゴンは、画像では茶色に着色されています。ただし、地区全体を塗りつぶすポリゴンが必要なため、外側の境界を塗りつぶすボロノイポリゴンが必要です。 次の図に示すように、ボロノイポリゴンを作成しながらバッファー領域を追加し、次に関数intersectを使用してポリゴンを地区境界にトリミングすると、間違ったポリゴンが表示されます。 必要なボロノイポリゴンを生成するにはどうすればよいですか?

1
不均一にサンプリングされたカテゴリデータをグリッド化する方法は?
カテゴリカルデータをグリッド化する方法を探しています。海図とフィールドシートから、海底の性質を特定するポイントのコレクションを抽出しました。これらのデータは、数値ではなくカテゴリであり、定期的またはランダムにサンプリングされることもありません。航海図は、ナビゲーションとアンカーを支援するために作成されます。それらは生息地をマッピングするために作成されていません。そのため、比較的浅い水深が航行に危険をもたらす可能性があり、船が停泊する傾向がある海岸近くで、より多くの探査が行われます。岸からさらに遠く、航行に十分な深さがあり、アンカーが実用的でない場合、探査はそれほど頻繁に行われません。 他の誰かが海図から格子状の基質マップを作成しようとしましたか? 私はティーセン(ボルノイ)ポリゴンを調べましたが、海岸に沿った音響の集中は、海岸沿いの細かい「ハニカム」、オフショア、オフショアに伸びる長いパイ形ポリゴンの間にある大きなポリゴンにつながります。最近傍を使用したグリッドは、ほぼ同じ結果になります。 岸に近い浅いポイントの影響を制限する方法が必要です。長いパイ形のポリゴンを制限する方法です。深い海では、海底の性質が岸に近い底部の続きになるとは思わない。私は2つの線に沿って考え始めました-両方とも深さを使用しています。1つは、グリッドセルと隣接する点の間の深さの違いを使用して、「最も近い」隣接の選択に重みを付けることです。もう1つは、特定の許容差よりも深さが異なる隣接ポイントの選択を解除することです。または、事前に指定された許容値ではなく、深度範囲をビン化して、隣接するポイントの選択を同じ深度範囲またはビン内のポイントに制限することもできます。 これらの2つのオプションのいずれかを実装する方法についての考えはありますか? 他のフォーラムで同僚と話し合って以来、私は他にもいくつかのアプローチを検討してきました。1つ目は、岸壁のデータの影響を制限するために、バリア(深度100mのコンター)を使用することです。このアプローチの課題は、バリアを使用できるすべてのESRI補間ルーチンが、不連続データではなく連続データを処理するように設計されていることです。ティーセンポリゴンを作成する前に、バリアを使用してポイントを岸の近くの浅いポイントとより深いポイントに分割できます。ただし、ArcGISは複雑な領域ではなく長方形の領域に対してティエセンポリゴンを作成するため、エッジ効果が蔓延すると予想しています。 2番目のアプローチ-複数の同僚によって提案された-はクリギングでした。私は、継続的なデータのためにそれを検討したことがないので、最初は手に負えないクリギングを却下しました。クリギングの課題は、クリギングもカテゴリカルデータ用に設計されていないことです。今、私は表面の深さと性質を使ったcokrigingを見ていますが、どのようなタイプのクリギングでも、表面の性質に整数の数値コードを使用する必要があります。その後、結果の浮動小数点数値コードは、元の整数コーディングに戻す必要があります。きれいじゃない。 他の方針に従うことを提案できますか?(おそらく、地形分析を使用できます。たとえば、安息角より急な斜面は堆積物にはなりません。もっと単純なものを探しています。とにかく、十分な空間解像度のデータがありません。) よろしく、

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