ポイントを使ってポリゴンパーツを切り取って切り出したいと思います。 私はST_DumpとST_Splitを見ましたが、彼らはそのトリックをしていないようです。線分を作成し、それらをカットするためにst_splitを使うために、より多くの点を作成すべきですか?私はあまりthatsのだと思いますが、必要であれば、私はそれを行うだろう:)ポイントを使ってポストギス分割ポリゴン
任意の提案は素晴らしい:) 乾杯、
ポイントを使ってポリゴンパーツを切り取って切り出したいと思います。 私はST_DumpとST_Splitを見ましたが、彼らはそのトリックをしていないようです。線分を作成し、それらをカットするためにst_splitを使うために、より多くの点を作成すべきですか?私はあまりthatsのだと思いますが、必要であれば、私はそれを行うだろう:)ポイントを使ってポストギス分割ポリゴン
任意の提案は素晴らしい:) 乾杯、
だから、あなたは各エッジからポリゴンをラインストリングをしたいだろうか?私はそれが本当なら答えがあると思う。
まず、すべてのポリゴンを線ストリングとして持つビューを作成します。あなたが指摘したように、ST_Boundaryを使用することができます。第二に
CREATE VEIW my_linestrings as
SELECT id,..., ST_BOUNDARY(the_geom)
FROM <yourtable>
を(2番目のクエリは、読み書きするのは簡単であるように):以来、あなたは2つのセグメントラインを作るためにn番目のポイントとST_MAKELINEを取得するためにST_POINTNを使用することができますラインストリング。
SELECT id,..., ST_MakeLine(ST_PointN(the_geom,x),ST_PointN(the_geom,x+1))
FROM my_linestrings
ST_MakeLineは、線ストリングセグメントを取得します。あなたは、すべての点を反復するためにPythonでループを作ることができます。これが大変な作業であれば、これらのセグメントで新しいテーブルを作成するのが最善でしょう。
This questionはあなたと似ていて、SQLを使用して(Pythonの代わりに)すべてのジオメトリをループするシリーズを作成します。
こんにちは 私は何をしようとしているのは、ポリゴンの外周をバッファリングし、バッファの線分を得ることです。しかし、私はポイントを定義したい、私は私のラインパスの入力としてエッジを取るしたくない。私のポイントは毎回ランダムですので、ランダムな開始点と終了点を使用して線ストリングをカットし、線のカーブを保ちたいと思います。しかし、私は方法を見つけたので、st_split関数は動作していません。私はGISフォーラムに投稿しました。あなたの関心とこれに入力していただきありがとうございます! – achrysochoou
gis.stackexchange.comでこれを尋ねる方がよいかもしれません。また、抽出しようとしているポリゴンパーツについてもう少し詳しく知りたいと思っています。それはあなたが欲しいものを分割するように聞こえる。 – Nate
hm、はい私ははっきりしていないと思う、多角形の周囲を使用してパスとして使用する線分を抽出したい。 まあ、私は線ストリングを返すポリゴンの境界を取得し、その線ストリングを使用して分割を使用しようとすると、毎回ジオメトリのコレクションを取得する必要があります。 私はST_linesubstringも見つけましたが、浮動小数点数の開始と終了を取得します。これは実際にはあまり役に立ちません。行の部分文字列を得るために緯度経度座標を与える方法はありますか? あなたの助けにはThx! – achrysochoou