graph_1_0 はモジュールからクラスインスタンスを作る形でしたが、クラス内の関数などがエディタ補完機能で、補完されずに使いにくかったので、モジュール対して直に初期化するようにしました(その代わり複数のグラフを同時に作れません)。その他、関数も追加してあります(ネットワーク距離でのクラスタリング、ward, k-means++ など)。
import graph_1_1 as g g.initFromCrv(cvs) print g.nodes print g.edges
座標精度により、カーブの頂点がマッチしていないと、グラフがうまく生成されない、というやっかいな問題ですが、スタジオユーティリティーモジュール
に
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.