MAS コミュニティ
artisoc質問用掲示板(アーカイブ)
  
質問掲示板は移転しました。新掲示板はこちら

質問 (解決済み)

[artisocモデル] csvの反映方法
質問者: おすしさん , 質問日時: 2021/01/06 17:53
大雨による河川の氾濫時の避難行動シミュレーションを作成しています。
iRICという氾濫解析ソフトウェアで出た計算結果をcsv形式でエクスポートし、それをartisocに反映させたいのですが、ルール作成がわかりません。

現在のartisocで作成しているシミュレーションのへおおまかな構成は、UniverseからMapという空間を作り、Mapの中にPointとPersonとBlockというエージェントを作成し、PointとLinkで経路を作成し、ダイクストラ法を使用している形です。

iRICで得た計算結果のcsvをartisocでエージェントとして反映させるルールを教えていただきたいです。



▼解決した回答


iRICでエクスポートした縦横のサイズと、空間Mapで作成した縦横のサイズが同じであれば、以下のルールで読み込めます。(Mapの下に変数Valueを追加してます)

Dim w As Integer, h As Integer
Dim s_data As String
Dim i As Integer, j As Integer

w = GetWidthSpace(Universe.Map)
h = GetHeightSpace(Universe.Map)

OpenFileCSV("test.csv",1,1)

For j=0 To h - 1
For i=0 To w - 1
Universe.Map.Value(i, j ,0) = CDbl(ReadFileCSV(1))
printLn(Universe.Map.Value(i, j ,0))
Next i
Next j

//ファイルを閉じる
CloseFileCSV(1)

回答者: m.tamada さん , 回答日時: 2021/01/06 18:51

▼ 全ての回答


iRICでエクスポートした縦横のサイズと、空間Mapで作成した縦横のサイズが同じであれば、以下のルールで読み込めます。(Mapの下に変数Valueを追加してます)

Dim w As Integer, h As Integer
Dim s_data As String
Dim i As Integer, j As Integer

w = GetWidthSpace(Universe.Map)
h = GetHeightSpace(Universe.Map)

OpenFileCSV("test.csv",1,1)

For j=0 To h - 1
For i=0 To w - 1
Universe.Map.Value(i, j ,0) = CDbl(ReadFileCSV(1))
printLn(Universe.Map.Value(i, j ,0))
Next i
Next j

//ファイルを閉じる
CloseFileCSV(1)

回答者: m.tamada さん , 回答日時: 2021/01/06 18:51



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