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

Igarashi, Jin igarashi.jin @ jp.fujitsu.com
2013年 7月 9日 (火) 17:27:35 PDT


島田さま

五十嵐と申します。
考えてみたのですが、円をラインに変換したものを用意できるということですので、

円のラインと、串刺しにするラインの二つをintersectionすればよいのではないでしょうか。
Intersectionは二つのジオメトリの共有部分を求められます。

LineString同士のintersectionの場合は、結果として互いに交差している
PointまたはMultiPoint(交差していない場合は空のオブジェクト)が
求められると思います。

ですので、その要素数が2かどうかで判断すれば線が円を串刺しにしているかを
判定できると思います。

ご参考になれば幸いです。


--------------------------------------------------------------
五十嵐 仁(Jin Igarashi)
igarashi.jin @ jp.fujitsu.com



-----Original Message-----
From: osgeojapan-discuss-bounces @ lists.osgeo.org [mailto:osgeojapan-discuss-bounces @ lists.osgeo.org] On Behalf Of SGW00412 @ nifty.com
Sent: Tuesday, July 09, 2013 9:21 PM
To: OSgeoJapan
Subject: [OSGeoJapan-discuss] 【教えて下さい】円を串刺しする線をカウントしたい

すみません。
どなたか手がかりをご存じでしたら、ご教授下さい。

円を串刺しする線の数をカウントしたいのです。

# ランダムに配置した沢山の線を用意し、そこにいくつか円をおきます。
# このとき円を串刺しにする線が何本あるかをカウントしたいのです。

最初は、線群と円ポリゴンをインターセクションしたのですが、これだと
・串刺しの線 → 円周2点とくっつく線分
・円内で途切れる線
の区別がつきませんでした。

次に、インターセクションした線と円ポリを、mifにエクスポートして座標をチェックすれ
ば・・と考えましたが、切断された線分の座標と円ポリゴンの座標は完全一致しないので
すね・・・挫折。

最後に、面ポリゴンではなく、ラインの円を用意し、そこに僅かな幅を持たせました(バ
ッファ)。それと線群をインターセクションして、切り取られた線の長さに着目しました。
串刺し線なら → 僅かな幅x2倍
円内で途切れるなら → 僅かな幅x1倍
・・・うまく行きそうだったのですが、幅に対してごく浅い角度で入る線があると区別で
きず、挫折。

私のような素人では万策尽きてしまい、こちらに投稿する次第です。

島田@調布市
_______________________________________________
OSGeoJapan-discuss mailing list
OSGeoJapan-discuss @ lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss


More information about the OSGeoJapan-discuss mailing list