添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

具体的には下記5項目に分けて説明しようと思います。
1、アップルウォッチのデータをMATLABで読み込む
2、緯度経度情報をメートル座標系に変換する
3、速度に応じて色分けした軌跡を表示する
4、スライダーを設置して値の更新を確認する
5、矢印を用いて走行時の向きと速度を可視化する

1、アップルウォッチのデータをMATLABで読み込む

アップルウォッチのワークアウトアプリで記録したデータは、接続しているiPhoneのヘルスケアアプリで書き出すことができます。ワークアウトデータの書き出し方法は下記のとおりです。

Dy = deg2rad(Pos2( 1 ) - Pos1( 1 )); Dx = deg2rad(Pos2( 2 ) - Pos1( 2 )); P = deg2rad(mean([Pos1( 1 ) Pos2( 1 )])); Rx = 6378137.0 ; %[m] Ry = 6356752.314245 ; %[m] E2 = (Rx^2 - Ry^2)/Rx^2; W = sqrt( 1 -E2 * sin(P)^2); N = Rx/W; M = Rx*( 1 -E2) / W^3; if Dx== 0 && Dy<0 d = -sqrt((Dy*M)^2 + (Dx*N*cos(P))^2); elseif Dx<0 && Dy== 0 d = -sqrt((Dy*M)^2 + (Dx*N*cos(P))^2); d = sqrt((Dy*M)^2 + (Dx*N*cos(P))^2);

上記の関数を別ファイルで保存するか、スクリプトファイルの最後尾に記述します。関数の作成方法がわからない場合 関数の作成 | MATLAB基礎18 を参考にしてください。

スクリプトファイルに下記の記述を追加します。

MATLAB
len = length(tbl.latAttribute);
Lat = zeros(len,1);
Lon = zeros(len,1);
Dist = zeros(len,1);
for i=1:len
    Lat(i) = hubeny([tbl.latAttribute(1) tbl.lonAttribute(1)],[tbl.latAttribute(i) tbl.lonAttribute(1)]);
    Lon(i) = hubeny([tbl.latAttribute(1) tbl.lonAttribute(1)],[tbl.latAttribute(1) tbl.lonAttribute(i)]);
    if i>1
        Dist(i) = hubeny([tbl.latAttribute(i-1) tbl.lonAttribute(i-1)],[tbl.latAttribute(i) tbl.lonAttribute(i)]);

そして、下記コードでグラフを作成し結果を確認します。

MATLAB
plot(Lon,Lat)