[OSGeoJapan-discuss] 【教えて下さい】円を串刺しする線をカウントしたい

中村健 takesea3 @ gmail.com
2013年 7月 9日 (火) 07:08:30 PDT


島田様

こんばんは。
はじめまして、中村と申します。

僕も考えてみました。

各ラインに固有のIDをつけて、円でラインを分割、取り除いた後、
属性テーブルのIDをカウントすることで判断できそうです。
手順はこんな感じです。

1.各ラインに重複しないIDを振る(連番など。属性テーブルのフィールド演算機で連番をふれます)
2.「差分」を使って、円でラインを分割して円内のラインを取り除く
3.ラインのshpを「マルチパートからシングルパートにする」
4.ラインのshpの属性テーブルを確認して、IDが複数あるものが円を貫通しているライン
(同じIDが2つあれば1つ円を貫通している。3つあれば2つの円を貫通している。)

っていうのはどうでしょう?
あんまり頭よさそうな方法じゃないですけど、手順は簡単です。
ぜんぜんトンチンカンな回答だったらすみません・・・。

メーリングリストって緊張しますねー。



2013年7月9日 21:20 <SGW00412 @ nifty.com>:

> すみません。
> どなたか手がかりをご存じでしたら、ご教授下さい。
>
> 円を串刺しする線の数をカウントしたいのです。
>
> # ランダムに配置した沢山の線を用意し、そこにいくつか円をおきます。
> # このとき円を串刺しにする線が何本あるかをカウントしたいのです。
>
> 最初は、線群と円ポリゴンをインターセクションしたのですが、これだと
> ・串刺しの線 → 円周2点とくっつく線分
> ・円内で途切れる線
> の区別がつきませんでした。
>
> 次に、インターセクションした線と円ポリを、mifにエクスポートして座標をチェックすれ
> ば・・と考えましたが、切断された線分の座標と円ポリゴンの座標は完全一致しないので
> すね・・・挫折。
>
> 最後に、面ポリゴンではなく、ラインの円を用意し、そこに僅かな幅を持たせました(バ
> ッファ)。それと線群をインターセクションして、切り取られた線の長さに着目しました。
> 串刺し線なら → 僅かな幅x2倍
> 円内で途切れるなら → 僅かな幅x1倍
> ・・・うまく行きそうだったのですが、幅に対してごく浅い角度で入る線があると区別で
> きず、挫折。
>
> 私のような素人では万策尽きてしまい、こちらに投稿する次第です。
>
> 島田@調布市
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20130709/2348e16f/attachment-0001.html>


More information about the OSGeoJapan-discuss mailing list