0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Harmoware-VIS】移動体データに移動体以外のデータを設定

Posted at

#Harmoware-VIS とは

#移動体データに移動体以外のデータを設定

Harmoware-VIS では移動体データ(movesbase)より、時間経過に沿った移動をシミュレーションしますが、移動処理対象としないが時間経過によって表示を更新するためのデータを設定することが出来ます。

利用用途はいろいろありますが、例えば3Dポリゴンを時間経過でレイヤー表示することで、ビルがどんどん増えていく表現とか、建築進捗の表現とか、2Ⅾ範囲を時間経過でレイヤー表示することで、地区ごとの電力消費量の変化とか、何かの影響が時間経過により拡散する様子を表現したり出来ると思います。

[ //移動体データの配列
    //移動処理対象のデータ
    {"operation": [ //移動経路データ配列
            {"elapsedtime": 99999,
            "position": [999.9999, 999.9999, 999.9999], //positionが定義されると移動処理対象
            ・・・ //その他の情報
            },・・・
        ]
    },
    {"operation": [ //移動経路データ配列
            {"elapsedtime": 99999, //必須
            "polygon": [[999.9999, 999.9999, 999.9999],
                        [999.9999, 999.9999, 999.9999],
                        [999.9999, 999.9999, 999.9999], ・・・ ],
            ・・・ //positionが定義されないと移動処理対象外
            },・・・
        ]
    },・・・・・・
]

Harmoware-VIS のプロパティに含まれる movedData には、シミュレーション中の時間における移動対象データと移動対象外のデータが抽出されています。
MovesLayer は position が含まれない movedData は無視しますので、 movedData より position 以外で必要なデータを抽出してレイヤーで表示してください。

以下に移動体データへ polygon を追加した場合のコードのサンプルを示します。(細かい部分は省略)

  render() {
    const { movedData } = this.props;
    const polygonData = movedData.filter((x:any)=>x.polygon);
    return (
      <div>
          <HarmoVisLayers
              ・・・ //省略
            layers={
              new MovesLayer({ //こちらは移動処理対象のデータを表示
                movedData,
                ・・・ //省略
              }),
              polygonData.length > 0  ?
              new PolygonLayer({ //PolygonLayerはdeck.glの提供レイヤー
                id: 'PolygonLayer',
                data: polygonData, //movedDataから抽出したデータ
                getPolygon: (x: any) => x.polygon,
                getFillColor: (x: any) => x.color || [255,255,255,255],
                getElevation: (x: any) => x.elevation || 1,
              }):null
            )}
          />
      </div>
    );
  }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?