MAS コミュニティ
artisoc質問用掲示板

質問 (解決済み)

[artisocモデル] csvファイル出力について
質問者: sa-keiさん , 質問日時: 2017/01/13 17:05
artisoc4.0を使用し、人の歩行モデルを作成しているのですが、1点どうしてもわからないことがある為質問させていただきます。
csvファイルに、(人のID,ステップ数、X座標、Y座標)を出力したいのですが、どのようにやれば良いのかがわかりません。下に出力したいものの例を示します。

例)歩行者が3人が通路を横に進んでいる場合
ID,step,X,Y
0,0,0,1
0,1,1,1
0,2,2,1
  ・
  ・
  ・
3,98, 50, 1
3, 99, 51, 1
3, 100, 52, 1

よろしくお願いいたします。



▼解決した回答


下記のように、UniverseのルールにOpenFile関数を使ってまとめて書いてはいかがですか?
-----------------------------------------------
Univ_Init{
// ファイルを開く
OpenFile("log.csv", 11, 2)
// ヘッダー行を追加
WriteFile(11, "agent_id,step,x,y\n")
}

Univ_Step_Begin{
}

Univ_Step_End{
dim a_set as AgtSet
dim tmp as Agt
// 出力対象エージェントを集める
MakeAgtSet(a_set, Universe.kukan.dare)
// 集めたエージェントのデータを1行ずつ出力
for each tmp in a_set
WriteFile(11, tmp.id & "," & getCountStep() & "," & tmp.x & "," & tmp.y & "\n")
Next tmp
}

Univ_Finish{
// ファイルを閉じる
CloseFile(11)
}

回答者: tohmas さん , 回答日時: 2017/01/13 17:38

▼ 全ての回答


下記のように、UniverseのルールにOpenFile関数を使ってまとめて書いてはいかがですか?
-----------------------------------------------
Univ_Init{
// ファイルを開く
OpenFile("log.csv", 11, 2)
// ヘッダー行を追加
WriteFile(11, "agent_id,step,x,y\n")
}

Univ_Step_Begin{
}

Univ_Step_End{
dim a_set as AgtSet
dim tmp as Agt
// 出力対象エージェントを集める
MakeAgtSet(a_set, Universe.kukan.dare)
// 集めたエージェントのデータを1行ずつ出力
for each tmp in a_set
WriteFile(11, tmp.id & "," & getCountStep() & "," & tmp.x & "," & tmp.y & "\n")
Next tmp
}

Univ_Finish{
// ファイルを閉じる
CloseFile(11)
}

回答者: tohmas さん , 回答日時: 2017/01/13 17:38

MASコミュニティ
掲示板TOP







Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )