船舶の航法計算をブラウザ上で行える Web アプリケーションです。海技試験(三級海技士など)の学習支援から、実務での天文航法・航海計画まで幅広く対応します。
公開サイト: https://navcalc.serken.tech/
| 計算 | 説明 |
|---|---|
| 針路・航程 | メルカトル航法による針路と航程の計算 |
| 到着点 | 出発位置・針路・航程から到着点を算出 |
| 大圏航法 | 大圏航法による最短距離と初針路の計算 |
| 集成大圏航法 | 制限緯度を持つ複合大圏航路の計算 |
| 到着時刻 | 距離と速力からETA(到着予定時刻)を算出 |
| 計算 | 説明 |
|---|---|
| 実航針路・速力 | 船速と潮流から CMG / SMG を算出 |
| 視針路・対水速力 | 目標針路と潮流から操舵針路を算出 |
| 視針路・実航速力 | 目標針路と潮流から操舵針路と SMG を算出 |
| 流向・流速 | 船速・針路・実航針路から海流を推定 |
| 真風向・風速 | 相対風と船速から真風を算出 |
| 潮高計算 | cos 補間法による任意時刻の潮高計算 |
| 潮流計算 | 潮流の速度と方向の補間計算 |
| 計算 | 説明 |
|---|---|
| 薄明時 | 市民薄明・航海薄明の開始/終了時刻 |
| 索星 | 観測可能な恒星の高度と方位を計算 |
| 天測暦 | 太陽の GHA・赤緯の簡易計算 |
| 位置の線 | 天体観測から LOP(位置の線)を算出 |
| 船位決定 | 複数の LOP から船位を決定 |
| 出没方位角 | Amplitude からジャイロコンパス誤差を算出 |
| 計算 | 説明 |
|---|---|
| 測高度改正 | 器差・眼高差・大気差・視半径等の改正 |
| 物標距離 | 六分儀の角度から物標までの距離を計算 |
| 計算 | 説明 |
|---|---|
| 時間→弧度 | 時分秒を度分秒に変換 |
| 弧度→時間 | 度分秒を時分秒に変換 |
| 時分秒変換 | 10進数 ↔ 時分秒の相互変換 |
| 四則計算 | 時分秒形式での加減乗除 |
| 計算 | 説明 |
|---|---|
| メリパス計算 3N | 午前観測と正中観測から正中時の船位を決定(三級海技士対応) |
インストール不要。以下のURLにアクセスするだけで利用できます。
PWA対応ブラウザではホーム画面に追加してオフラインでも利用可能です。
Releases ページから最新の .exe インストーラーをダウンロードして実行してください。
git clone https://github.com/serkenn/Navigation-calculations.git
cd Navigation-calculations
npm install
npm run electron:build # release/ にインストーラーが生成されます注意: 初回起動時に Windows Defender SmartScreen の警告が表示される場合があります。「詳細情報」→「実行」で起動できます。
Releases ページから .dmg をダウンロードし、NavCalc.app を Applications フォルダにドラッグしてください。
git clone https://github.com/serkenn/Navigation-calculations.git
cd Navigation-calculations
npm install
npm run electron:build:mac # release/ に .dmg が生成されます注意: 署名なしの場合、初回起動時に「開発元が未確認」と表示されます。システム設定 → プライバシーとセキュリティ から「このまま開く」を選択してください。
App Store では未公開のため、Xcode 経由でインストールします。
- macOS + Xcode(最新版推奨)
- Apple ID(無料の開発者アカウントで可)
git clone https://github.com/serkenn/Navigation-calculations.git
cd Navigation-calculations
npm install
npm run build
npx cap sync iosios/App/App.xcodeprojを Xcode で開く- Signing & Capabilities で自分の Apple ID を Team に設定
- iPhone / iPad を接続してビルド・実行(
Cmd + R)
注意: 初回起動時に「信頼されていないデベロッパ」と表示されます。端末の 設定 → 一般 → VPN とデバイス管理 から該当の開発者証明書を信頼してください。
Releases ページから .apk をダウンロードし、端末にインストールしてください。
注意: 「提供元不明のアプリ」のインストールを許可する必要があります。
git clone https://github.com/serkenn/Navigation-calculations.git
cd Navigation-calculations
npm install
npm run cap:build # android/app/build/outputs/apk/release/ に APK が生成されますAndroid Studio で android/ フォルダを開いてビルド・実行することも可能です。
- フレームワーク: SvelteKit 2 + Svelte 5 + TypeScript
- ビルドツール: Vite 6
- スタイリング: Tailwind CSS v4(ダークモード対応)
- アイコン: Lucide Svelte
- ホスティング: Cloudflare Pages(adapter-static)
- CI/CD: GitHub Actions(
v*タグで自動リリース)
各計算機能の詳細な解説は docs/ ディレクトリにあります。
| ドキュメント | 内容 |
|---|---|
| 航海計画 (Pilot 1) | メルカトル航法・大圏航法・推測航法 |
| その他の航法 (Pilot 2) | 潮流・風向・潮汐計算 |
| 天文航法 (Celestial) | 薄明時・位置の線・船位決定 |
| 六分儀 (Sextant) | 測高度改正・物標距離 |
| 時間・弧度変換 | 時間⇔弧度変換・四則計算 |
| 海技試験 (Exam) | メリパス計算 3N |
# リポジトリのクローン
git clone https://github.com/serkenn/Navigation-calculations.git
cd Navigation-calculations
# 依存関係のインストール
npm install
# 開発サーバーの起動
npm run dev
# ビルド
npm run build
# プロダクションビルドのプレビュー
npm run previewsrc/
├── routes/
│ ├── +layout.svelte # アプリ全体のレイアウト
│ ├── +page.ts # トップページ
│ ├── calc/[id]/ # 各計算ページ(動的ルート)
│ ├── guide/ # 使い方ガイド
│ └── theory/ # 理論解説
├── lib/
│ ├── components/
│ │ ├── calculators/ # 各計算機能のコンポーネント
│ │ │ ├── pilot1/ # 航海計画系
│ │ │ ├── pilot2/ # 潮流・風向など
│ │ │ ├── astro/ # 天文航法系
│ │ │ ├── sextant/ # 六分儀系
│ │ │ ├── timeArc/ # 時間⇔弧度変換
│ │ │ ├── timeCalc/ # 四則計算
│ │ │ └── exam/ # 海技試験
│ │ ├── layout/ # Sidebar, MobileHeader
│ │ └── shared/ # 共通UI部品 (DMSInput, SectionCard, etc.)
│ ├── data/
│ │ ├── calculatorRegistry.ts # 全計算機能の定義・ルーティング
│ │ └── stars.ts # 恒星データ
│ ├── stores/
│ │ └── theme.svelte.ts # ダークモード制御(Svelte 5 runes)
│ ├── types/ # TypeScript 型定義
│ └── utils/ # 航法計算ロジック
│ ├── navigationMath.ts # メリパス・高度改正・Sight Reduction
│ ├── mercatorSailing.ts # メルカトル航法
│ ├── greatCircle.ts # 大圏航法
│ ├── astronomy.ts # 天文計算
│ ├── ephemeris.ts # 天体暦
│ ├── sextant.ts # 六分儀計算
│ ├── currentVector.ts # 潮流ベクトル
│ ├── wind.ts # 風向計算
│ ├── tide.ts # 潮汐計算
│ └── timeConversion.ts # 時間変換
├── app.css # Tailwind CSS エントリーポイント
└── app.html # HTML テンプレート
docs/ # 各計算機能の詳細ドキュメント
Unlicense — パブリックドメイン。自由にご利用ください。