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 を呼び出す必要はありません。


関数

関数
def convert_to_data(s: str):
説明 文字列を Sumo の標準に従って適切なデータ型に変換します。
引数
sデータを含む文字列
returns変換されたデータを格納した整数、浮動小数点数、文字列または配列
例``` 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 を出力します


 ---

---

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

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

file_name読み込むファイルのフルパス
returnsstring -> VariableEntry の辞書。キーは変数名です。
---


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


  説明 SumoCore の「load」コマンドで読み込める xml 状態を書き込みます。この関数を使用する場合は、read_sumocore_xml で既存の状態を読み取り、それを修正してから書き戻すようにしてください。こうすることで、モデルに存在するすべての変数が確実に含まれるようになります。  引数 
file_name保存するファイルのフルパス
datastring -> VariableEntry の辞書。キーは変数名です。
returns-
--- --- 関数 ``` write_sumocore_script(file_name: str, data: dict):

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

file_name保存するファイルのフルパス
datastring -> value の辞書。キーは変数名です。
returns-
---


関数 ``` 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配列の要素数
includeEndend を配列に含めるかどうかを指定します。end が指定されていない場合、この引数は意味を持ちません。
returns生成された配列
例``` 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(project : str, path_to : str):

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

project.sumo ファイルへのパス(ファイル名と拡張子を含む)
path_to出力 dll ファイルへのパス(ファイル名と拡張子を含む)
returns-
---


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


  説明 .sumo プロジェクトから任意のファイルを抽出します。この関数を使用して、プロジェクトに保存された state.xml ファイルを抽出できます。  引数 
project.sumo ファイルへのパス(ファイル名と拡張子を含む)
what抽出するファイルの名前
path_to出力ファイルへのパス(ファイル名と拡張子を含む)
returns-
--- --- 関数 ``` 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読み込むシナリオ。省略または不正な場合、モジュールは入力設定値のみを考慮します。
returns-
---


関数 ``` def create_temp_folder(base : str):



  説明 ランダムな 8 文字のフォルダを作成します。プロジェクトの dll や初期化スクリプトなど、抽出した Sumo プロジェクトのアーティファクトを保存するのに利用できます。これらのフォルダは、Python アプリケーションフォルダを整理するために安全に削除できます。  引数 
baseランダムな名前のフォルダが作成される親フォルダ。通常は「.」で、現在のフォルダを意味します。
returns作成したフォルダ名。
--- ---