JTSでは、Geometry.Buffer(1).Buffer(-1)を行うと、結果のジオメトリはオリジナルと同等になりますか?

StackOverflow https://stackoverflow.com/questions/2470135

  •  20-09-2019
  •  | 
  •  

質問

私は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では、これを行うことでいくつかの問題が修正されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top