式の作成
Vissimで、以下の使用事例では、統合式エディターで式を作成します:
- ユーザー定義属性を定義して、データソースタイプ[Formula]‐[式]を選択する場合(ユーザー定義属性の作成)
- 属性リストで [Formula]‐[式] 列を表示して、列内で
ボタンをクリックする場合 (静的車両経路の属性), (静的歩行者ルートの属性), ([Boarding Passengers]-[乗車する乗客] タブ)
式エディターには、以下の機能があります:
[Button]-[ボタン] | [Description]-[説明] |
---|---|
|
[Add operand (e.g. Attribute)]‐[オペランドを追加します(例:属性)] ボタン:[Object type]‐[オブジェクトタイプ] ボックスで選択したネットワークオブジェクトタイプの属性を示すウィンドウを開き、属性を項として選択します。項は青色で追加されます。 |
[Symbol]-[記号] | [Description]-[説明] |
---|---|
|
[Add operator (e.g. +, -, *, /)]-[演算子(e.g. +、-、*、/)を追加します]:それぞれの項同士を結び付ける演算子を選択します。演算子は黒色で追加されます。 |
[Symbol]-[記号] | [Description]-[説明] |
---|---|
|
[Insert function (e.g. min, max, exp)]-[関数(min、max、expなど)の挿入]:[Insert function]‐[関数の挿入] 開き、その式の関数を選択します。関数は水色で追加されます。 |
[Possible functions:]-[使用できる関数:] |
|
Floor (x) |
Floor (x):x以下の最も大きい整数を指定します。カーソル位置にFLOOR()が挿入されます。 |
Abs (x) |
xの絶対値 |
Truncate (x) |
Truncate (x):xの小数点以下を切り捨てます。カーソル位置にTRUNCATE()が挿入されます。 |
ArcSin (x) |
xのアークサイン |
ArcCos (x) |
xのアークコサイン |
ArcTan (x) |
xのアークタンジェント |
Ceil (x) |
Ceil (x):x以上の最も小さい整数を指定します。カーソル位置にCeil()が挿入されます。 |
Cosine (x) |
xのコサイン |
Exp (x) |
xの指数関数を形成します。カーソル位置にEXP()が挿入されます。 |
Div (x; y) |
xとyの整数部を形成します。 |
GEH Statistic (x; y) |
GEH Statistic (x、y):xとyのGEH統計量を計算します。カーソル位置にGEH(;)が挿入されます。GEH統計は、交通モデリングの値の分析に広く利用されている実験的公式です。公式は次のとおりです。
ここで: M:モデリングされた値 C:カウントされた値 |
Reciprocal (x) |
1/xに対応します。カーソル位置にRECIPROCAL()が挿入されます。 |
Log (x) |
xの自然対数を形成します。カーソル位置にLN()が挿入されます。 |
Max (x; y) |
Max (x; y):xとyの最大値を形成します。 |
Min (x; y) |
Min (x; y):xとyの最小値を形成します。 |
Mod (x; y) |
xモジュールy |
Power (x; y) |
x^yに対応します。カーソル位置にPOW(;)が挿入されます。 |
Percent (x; y) |
100*x/yに対応します。カーソル位置にPERCENT()が挿入されます。 |
Round (x; p) |
xをp小数点まで端数を丸めます。pはオプションです。カーソル位置にROUND(;)が挿入されます。 |
Sin (x) |
xのサイン |
[Text to number ("x")]-[テキストから数字("x")へ] |
ストリングをフローティングポイント番号に変換します。小数点としてピリオドを入力します。以下の文字はストリングでは有効ではありません:ストリングの先頭と最後のスペース。+、-、e/E以外の非数字。カーソル位置にSTRTONUM()が挿入されます。 |
Tan (x) |
xのタンジェント |
If (b; w; f) |
条件付き分岐。bがtrueであれば、wを出力し、bがfalseであれば、fを出力します。カーソル位置にIF(;;)が挿入されます。 |
Root (x) |
xの平方根を形成します。カーソル位置にSQRT()が挿入されます。 |
数字からテキスト (x) |
NumberInString (x):フローティングポイント番号をストリングに変換します。カーソル位置にNUMTOSTR()が挿入されます。 |
サブストリング("x"、"s"、n)を抽出します |
ストリング"x"から"n"番目のサブストリングをセパレーター"s"を使って抽出します。たとえば、車両経路リンク順序の2番目のリンクの番号を抽出することができます。 |
[Symbol]-[記号] | [Description]-[説明] |
---|---|
|
[Insert TableLookup]‐[TableLookupの挿入]:[Insert TableLookup]‐[TableLookupの挿入] ウィンドウを開き、TableLookupタイプの関数を式に挿入します。ネットワークオブジェクトタイプの属性値を選択し、式内でその編集を続けます。TableLookup関数は水色で追加されます。
ネットワークオブジェクトタイプに加えて、[Network settings]-[ネットワーク設定](NETPARA)など、ユーザー定義値を備えたその他のオブジェクトタイプも選択できます。TableLookupコマンドの条件として別のオブジェクトタイプを選択するには、たとえばTRUEに値1を使用します。
|
TableLookup関数のエントリボックスは、次のスキームに対応している必要があります。 TableLookup(<オブジェクトタイプ> <変数名>;(<条件>);(<結果>) エレメントは次のようになります。 TableLookup([<object type: English Name in capital letters> <entered variable name>; (<condition, for example <entered variable name>[<English attribute short name>]=<property>>);(<result, for example <identifier>[<attribute short name>]>]‐[<オブジェクトタイプ:大文字の英語名> <入力した変数名>; (<状態、例、<入力した変数名>[<英語属性短縮名>]=<プロパティ>>);(<結果、例、<識別子>[<属性短縮名>]>)]) (ユーザー定義属性の例)を参照してください。 |
[Symbol]-[記号] | [Description]-[説明] |
---|---|
|
[Insert brackets]‐[角かっこの挿入]:開く角かっこと閉じる角かっこを挿入します:
|
シミュレーションを実行すると式ベースのデータに影響があることがあります
式に対して選択された属性が、シミュレーション実行中に変化する可能性のある動的データに基づいている場合、結果または属性リストに表示されるユーザー定義属性の値も、シミュレーション実行中に変化する場合があります。
無関係のマークが付けられたフィールドの式の編集
無関係属性が、シミュレーション実行の間にたとえばCOM機能を介して、関係付けられることがあります。無関係フィールドも編集するのは、そのためです。
[Insert line break]-[改行を挿入]
- ► ストリング内で、目的の位置に\\nを挿入します。
- ► 文字ストリングの外側の希望する位置で、Enterキーを押します。
構文エラーは赤色でハイライト表示
Vissimでは、式の構文エラーは赤色でハイライト表示されます。式のエントリボックスの下に、構文エラーの考えられる原因についての情報を示すメッセージが表示されます。
[Behavior regarding successive comparisons in formulas]-[式内の連続比較に関する挙動]
連続した比較を備えた式を作成するとき、ブール代数では、連続した比較は結合されず、2つのグループにまとめられ、評価されることに注意してください:
例:
1 < 4 < 2は、(1 < 4) < 2としてまとめられ、評価されます:
ここで、(1 < 4) = true
true = 1
式では、以下の関係を適用します:
1 < 2
[Different data type in formula and attribute]-[式と属性で、異なるデータタイプ]
式で数字が得られて、目標属性がストリングであった場合、その数字はVissimによってストリングに変換されます。