geosに自己交差を持つポリゴンを再構築する方法はありますか?自己交差を使ってポリゴンを修復する方法は?
5
A
答えて
7
私は自分自身で質問に答える必要があります。たぶん誰かを助けるだろう。
geos :: operation :: buffer :: BufferOpクラスを使用してポリゴンを修復できます。例えば。
geos::geom::Geometry * result =
geos::operation::buffer::BufferOp::bufferOp(polygon, 1.0);
あなたは自己交差ポリゴンが無効であるSecrets of the JTS Topology Suite.
1
は、多くの場合、あなたは
ポイント3と6が同じである1 2 4
*--* *
| \ /|
| 3*6|
| /\|
*--* *
8 7 5
に
1 2 4
*--* *
| \ /|
| X |
| /\|
*--* *
6 5 3
を変更できるように交差点が、許可されているポイント。点の交点が許されない場合は、それらの1つを少々移動します。
私の経験では、ほとんどのこのような交差点はポリゴンの簡略化から得られたものなので、可能であればソースに戻ってください。
0
にいくつかのより良いレシピを見つけることができます。したがって、BufferOpは無効な結果を与える可能性があります。 ジオスで自己交差ポリゴンを修正する方法が見つかりませんでした。 PostGISのst_makevalid関数はgeosを使用します。したがって、ソースコードを調べることは可能です。
関連する問題
- 1. ポリゴンの自己交差のテストの数値精度
- 2. 自己交差ポリゴンを分割すると、多角形が返されます。
- 3. ポリゴンに自己交差があるかどうかを検出する方法は?
- 4. C#ポリラインは自己交差です
- 5. 自己修復Pythonスレッド
- 6. 空間データベースで自己交差ポリゴンをクリーンアップするにはどうすればよいですか?
- 7. Path2Dが自己交差するかどうかを調べる
- 8. Mongodbとポリゴンと交差するポリゴンを検索するクエリ
- 9. 点がポリゴンと交差するかどうかをチェックする方法
- 10. pandasを使ってPythonで2つのファイルを交差させる方法は?
- 11. Google Maps v3ポリゴン、ポリラインの交差点
- 12. PostGISポリゴン間の再帰的交差
- 13. ポリゴンを使ってレンガをカットする方法は?
- 14. 交差ボックスから実線のポリゴンを見つけるアルゴリズム?
- 15. Mysqlの自己関係に自己を作る方法は?
- 16. x86アセンブリで自己修正コードを書く方法
- 17. MySQLの線ストリングと線ストリングまたはポリゴンの交差
- 18. Javaで自己修正コード
- 19. 自己修正C#(MSIL)コード?
- 20. 弱い自己対弱い自己の差()
- 21. UnsupportedImageFormatExceptionを修復する方法PixelFormat Format32bppArgb?
- 22. 自己パラメータリストで反復する
- 23. C++の自己修正アセンブリコードのインライン展開方法
- 24. 線と四角形の交差を確認する方法は?
- 25. opencvまたはjavacvを使ってポリゴンを特定する方法は?
- 26. 標準偏差を0として出力する方法、修正方法は?
- 27. する方法私はメソッドパラメータとして自己を渡す?
- 28. 2つのポリゴンとcgalとの交差領域を計算する
- 29. トレースフックの自己修正コードですか?
- 30. 自己を使って配列するPHPオブジェクト
OGC SFSによれば、「自己交差ポリゴンは無効です」ということを明確にする価値はあります。ジオメトリの世界で有効な複雑なポリゴンです。 – mloskot