graph_1_1 グラフモジュール バージョン1.1

graph_1_0 はモジュールからクラスインスタンスを作る形でしたが、クラス内の関数などがエディタ補完機能で、補完されずに使いにくかったので、モジュール対して直に初期化するようにしました(その代わり複数のグラフを同時に作れません)。その他、関数も追加してあります(ネットワーク距離でのクラスタリング、ward, k-means++ など)。

graph_1_1.py

import graph_1_1 as g

g.initFromCrv(cvs)

print g.nodes
print g.edges

座標精度により、カーブの頂点がマッチしていないと、グラフがうまく生成されない、というやっかいな問題ですが、スタジオユーティリティーモジュール

studio_utility_1_0.py

def roundLineCVs(cvs,position):
    """
    round of Line or Polyline  start and end point coordinate
    cvs:
        list of curve (Line or Polyline)
    position:
        round position

    return:
        rounded curve list
    """

という関数が実装されています。ライン、ポリラインの始点・終点の座標の指定桁を丸める(切り捨てる)関数です。

import graph_1_1 as g
import studio_utility_1_0 as su

cvs = su.roundLineCVs(cvs ,1)
g.initFromCrv(cvs)

これで無理やりライン、ポリラインを変換すると割りとグラフ化できる率があがります。

Comments are closed.