SUMO SUMO Wiki

Wiki カテゴリ&ファイル

目次

dynamita.tool.py ドキュメンテーション

このモジュールは、SUMO 用に書かれたスクリプトで利用できる各種のユーティリティを提供します。

インポート方法

セットアップ

次のいずれかになっていることを確認してください:

  • Dynamita の Python モジュールがお使いの Python にインストールされている または
  • Dynamita の Python モジュールを含む dynamita フォルダがプロジェクトディレクトリ内にコピーされている
コード
import dynamita.tool.py as dtool

定数

注意 Python では定数に新しい値を代入することを妨げませんが、そうすると予期しないバグをいくつも引き起こす可能性があります。
dtool.msec シミュレーション時間の1ミリ秒
dtool.sec シミュレーション時間の1秒
dtool.minute シミュレーション時間の1分
dtool.hour シミュレーション時間の1時間
dtool.day シミュレーション時間の1日
dtool.week シミュレーション時間の1週間

構造

VariableEntry

sumo_name 完全に名前空間を付与した変数名
sumo_type 変数の型。REAL、INT、STRING、BOOL、REALARRAY のいずれかです。
dimensions 変数の次元。変数がスカラの場合は空です。
value 変数の値。この値に対して convert_to_data を呼び出す必要はありません。

関数

convert_to_data

関数
def convert_to_data(s: str):
説明

文字列を SUMO の標準に従って適切なデータ型に変換します。

引数
s データを含む文字列
返り値

変換されたデータを格納した整数、浮動小数点数、文字列または配列

例
print(dtool.convert_to_data("4.0;3.2;8.0"))
# [4.0, 3.2, 8.0] を出力します
print(dtool.convert_to_data("5.1"))
# 5.1 を出力します

read_sumocore_xml

関数
def read_sumocore_xml(file_name: str) -> dict:
説明

SumoCore の「save」コマンドによって生成された xml 状態を読み取ります。

引数
file_name 読み込むファイルのフルパス
返り値

string -> VariableEntry の辞書。キーは変数名です。


write_sumocore_xml

関数
def write_sumocore_xml(file_name: str, data: dict):
説明

SumoCore の「load」コマンドで読み込める xml 状態を書き込みます。この関数を使用する場合は、read_sumocore_xml で既存の状態を読み取り、それを修正してから書き戻すようにしてください。こうすることで、モデルに存在するすべての変数が確実に含まれるようになります。

引数
file_name 保存するファイルのフルパス
data string -> VariableEntry の辞書。キーは変数名です。
返り値

なし


write_sumocore_script

関数
def write_sumocore_script(file_name: str, data: dict):
説明

SumoCore で「execute」コマンドを使って実行できる SumoCore スクリプト(.*scs)を書き込みます。

引数
file_name 保存するファイルのフルパス
data string -> value の辞書。キーは変数名です。
返り値

なし


create_array

関数
def create_array(begin, end = None, step = None, count = None, includeEnd = True)
説明

指定された引数に基づいて配列を生成します。begin を指定し、他の 3 つの制御用引数(end、step、count)のうち 2 つを指定する必要があります。

引数
begin 配列の最初の要素
end 配列の終了値。includeEnd が true の場合はこの値が含まれ、そうでない場合は除外されます。
step 連続する 2 つの要素間の差
count 配列の要素数
includeEnd end を配列に含めるかどうかを指定します。end が指定されていない場合、この引数は意味を持ちません。
返り値

生成された配列

例
dtool.create_array(begin = 1, end = 3, step = 1, includeEnd = True)

[1,2,3]

dtool.create_array(begin = 1, end = 3, count = 2, includeEnd = False)

[1,2]

dtool.create_array(begin = 1, end = 3, count = 2, includeEnd = True)

[1,3]

dtool.create_array(begin = 1, step = 2, count = 3, includeEnd = False)

[1,3,5]


extract_dll_from_project

関数
def extract_dll_from_project(project : str, path_to : str):
説明

.sumo プロジェクトから dll ファイルを抽出します。この dll は SumoCore に読み込んでシミュレーションを実行するために使用できます。

引数
project .sumo ファイルへのパス(ファイル名と拡張子を含む)
path_to 出力 dll ファイルへのパス(ファイル名と拡張子を含む)
返り値

なし


extract_misc_from_project

関数
def extract_misc_from_project(project : str, what : str, path_to : str):
説明

.sumo プロジェクトから任意のファイルを抽出します。この関数を使用して、プロジェクトに保存された state.xml ファイルを抽出できます。

引数
project .sumo ファイルへのパス(ファイル名と拡張子を含む)
what 抽出するファイルの名前
path_to 出力ファイルへのパス(ファイル名と拡張子を含む)
返り値

なし


extract_parameters_from_project

関数
def extract_parameters_from_project(project : str, tsvdir : str, script_to : str, scenario : str = "") -> bool:
説明

プロジェクトから、SUMO GUI に表示されるとおりにパラメータを設定するスクリプトを抽出します。動的テーブルも含まれます。このスクリプトは SumoCore で「execute」コマンドを使って実行できます。

引数
project .sumo ファイルへのパス(ファイル名と拡張子を含む)
tsvdir モジュールが追加ファイルを保存するために使用できるフォルダへのパス
script_to 出力スクリプトファイルへのパス(ファイル名と拡張子を含む)
scenario 読み込むシナリオ。省略または不正な場合、モジュールは入力設定値のみを考慮します。
返り値

bool(関数の定義による。原文には説明がありません)


create_temp_folder

関数
def create_temp_folder(base : str):
説明

ランダムな 8 文字のフォルダを作成します。プロジェクトの dll や初期化スクリプトなど、抽出した SUMO プロジェクトのアーティファクトを保存するのに利用できます。これらのフォルダは、Python アプリケーションフォルダを整理するために安全に削除できます。

引数
base ランダムな名前のフォルダが作成される親フォルダ。通常は「.」で、現在のフォルダを意味します。
返り値

作成したフォルダ名。