JTSでは、Geometry.Buffer(1).Buffer(-1)を行うと、結果のジオメトリはオリジナルと同等になりますか?
質問
私は2つのジオメトリと交差している間に問題を抱えていましたが、おそらく操作中に丸みを帯びたエラーのためにトポロジーエクセプトを取得し、それから私は読みました この修正 そして、試しました buffer(0)
両方の入力ジオメトリで、しかしまだ成功しません。それから私は試しました geo.buffer(1).buffer(-1)
そしてそれはうまくいきました。
これらのジオメトリは元のジオメトリに相当しますか?
解決
JTSについては何も知りませんが、一般的には真実ではありません。
2つの形状があると仮定します。
XXX XXX X X XXX XXX XXX
私の理解から buffer(1)
どちらもおおよそこれをもたらします。
XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
今 buffer(-1)
これらの2つの形状から2つの異なる結果を生成することはできません。
事実上a buffer()
Operationは情報を失うため、他の場所からその情報を再追加せずに元に戻すことはできません。
他のヒント
これらの幾何学が同じになるとは思わない。デフォルトでは、機能をバッファリングすると、元の構成に頂点を追加しますが、同じ頂点が削除されるという保証はありません。
非常に小さなバッファー、A.Buffer(0.00001)を実行してみてください(たとえば、メトリックシステムで調整する場合は1/1000mm)。
ポストGISでは、これを行うことでいくつかの問題が修正されます。
所属していません StackOverflow