本事例では、海運プロジェクト向けの船舶管理システムの開発を行いました。本システムは、海岸付近に設置されたAIS受信局からリアルタイムでデータを取得し、船舶の位置や航行状況をマップ上で可視化するWebアプリケーションです。

AIS(Automatic Identification System)メッセージには、船舶の位置情報(経度・緯度)、速度、進行方向、船名などが含まれており、本システムではそれらのデータを収集・解析し、オペレーターが船舶の動向をリアルタイムで把握できるようにしました。

また、設定された航行エリアからの逸脱や、通信途絶などの異常を検知し、即時に警告を通知する機能も実装しています。


主な機能

  • AIS受信局からのデータ収集(TCP/IP通信)
  • 海図上での船舶のリアルタイム表示
  • 船舶の航行履歴の可視化およびリプレイ機能
  • 浚渫プロジェクトの管理(ポリゴンによるエリア設定)
  • ユーザー管理(権限管理付き)
  • AIS受信局の接続設定管理
  • 異常検知およびアラート通知

技術的課題と解決策

1. 大量データ処理(1日50万件以上)

AISデータは1日あたり約50万件に達し、リアルタイム処理とデータロス防止が課題となりました。

👉 解決策:
分散型ストリーミングプラットフォーム「Apache Kafka」を採用し、大量データの安定処理を実現しました。


2. AISメッセージ解析の難易度

AISメッセージは国際標準に基づいており、仕様理解が困難でした。

👉 解決策:
オープンソース(AisLib)を活用しつつ、独自にカスタマイズを行い、二重メッセージ処理などを実装。結果として100%のデータ解析を実現しました。


3. テスト環境不足(実機不足)

最大30台のAIS受信局を想定する一方で、実際のテスト環境は1〜2台のみでした。

👉 解決策:
UDP/TCPベースのAISシミュレーターを開発し、仮想環境でリアルに近いデータを生成。十分な負荷テストを可能にしました。


開発成果

  • 開発期間:3.5ヶ月(当初予定より0.5ヶ月延長)
  • 実環境(15局)で安定稼働を確認
  • 顧客より高評価を獲得し、次フェーズ(モバイルアプリ)を受注
  • Agile開発により柔軟な要件変更対応を実現

教訓

  • 専門分野(海事・AIS)の深い理解が成功の鍵
  • 実機不足はシミュレーションで補完可能
  • 要件管理は必ず標準化・ドキュメント化することが重要

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です