An open API service indexing awesome lists of open source software.

https://github.com/hideack/health_data_summary


https://github.com/hideack/health_data_summary

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

# GPXファイル解析スクリプト

このスクリプトは、指定した年のGPXファイルを解析し、年間の運動記録を以下の指標で出力します:

- **運動日数**: 指定年に運動を行った日数
- **年間累計移動距離**: 運動による総移動距離 (km 単位)
- **年間累計運動時間**: 運動に費やした総時間 (時間単位)

## 必要要件

- **Ruby 3.x**
- **nokogiri** ライブラリ

Nokogiriがインストールされていない場合は以下のコマンドでインストールしてください:
```bash
gem install nokogiri
```

## 使用方法

1. **GPXファイルの準備**
- `workout-routes`ディレクトリ内に`route_YYYY-MM-DD_HH.mm(am|pm).gpx`形式のファイルを配置してください。
- ファイル名の例:
- `route_2024-01-02_7.46am.gpx`
- `route_2024-12-31_9.31am.gpx`

2. **スクリプトの実行**
以下のコマンドでスクリプトを実行します:

```bash
ruby health_data_summary.rb --year 2024
```

3. **出力結果**
スクリプトは指定年の運動記録を以下の形式で出力します:

```
Results for the year 2024:
運動日数: 150
年間累計移動距離: 871.24 km
年間累計運動時間: 120.45 hours
```

## ファイル構造の例

以下はスクリプトが期待するディレクトリ構造の例です:

```
.
├── health_data_summary.rb
├── workout-routes/
│ ├── route_2024-01-02_7.46am.gpx
│ ├── route_2024-12-31_9.31am.gpx
│ └── ...
```

## スクリプトの仕組み

1. `workout-routes`ディレクトリ内のGPXファイルを走査し、指定した年のファイルを抽出します。
2. 各GPXファイル内のトラックポイント (``) を解析し、以下を計算します:
- トラックポイント間の移動距離(ハバースインの公式を使用)
- トラックポイント間の経過時間
3. 結果を集計し、運動日数、総移動距離、総運動時間を出力します。

## 注意事項

- GPXファイルは``要素を含む必要があります。
- ディレクトリ名およびファイル名の形式を正しく指定してください。
- 緯度・経度が不正確な場合、計算結果が正確でない可能性があります。

## 問題が発生した場合

- GPXファイルの形式や内容を確認してください。
- 必要に応じて`health_data_summary.rb`内のデバッグログを有効にし、詳細な処理状況を確認してください。

## ライセンス

このスクリプトは自由に利用・改変可能です。ただし、使用に際して発生した問題については責任を負いません。