このページの本文へ

ここから本文

2023年度 三菱電機ソフトウエア技術レポート

防衛分野向け多種多様な情報表示機能を備えた地図表示ライブラリーの開発

【執筆者】

電子システム事業統括部 通信機事業所 第四技術部 第二課
穴山 涼一
高橋 雄大
森本 清孝
小西 陽介
嶋田 康平

【概要】

防衛分野のソフトウエアにおいて、地図表示機能は中核の機能であり、多くのシステムで各顧客の要望に応えながら開発している。地図表示機能は、各システムで独自に開発しているため、システム間の互換性が低く、それぞれで開発及びメンテナンスのノウハウが異なっており、保守要員の確保(属人化)及び開発効率の向上に関して課題があった。そのため、近年防衛分野においても、需要が高くなっているGIS(Geographic Information System)をベースとした地図表示機能をライブラリー化することで、複数のシステムで共通利用を可能とし、開発効率の向上を図った。本書では開発した地図表示ライブラリーに関する概要を述べる。

1.まえがき

防衛分野のソフトウエアにおいて、地図表示は中核の機能であり、多くのシステムで各顧客の要望に応えながら開発している。地図表示機能は、各システムで独自に開発しているため、システム間の互換性が低く、それぞれで開発及びメンテナンスのノウハウが異なっている。そのため、保守要員の確保(属人化)及び開発効率の向上が課題であった。その課題を解決するため、地図表示機能をライブラリー化することで、複数のシステムで共通利用を可能とすることを検討した。

2.GISの選定

近年、防衛事業においても、地図表示にGIS(Geographic Information System)の技術を要求される機会が増えてきている。そのため、GISをベースにライブラリーを開発する方針とした。

現状GISのプラットフォームとなる製品が複数存在しているが、今回は防衛事業分野で使用が増えており、過去に小規模であるが適用した実績があるArcGISを採用することとした。

3.地図表示ライブラリーの開発

3.1 ArcGIS導入時の課題と開発方針

表 1 ArcGISのメリットとデメリット

項目 内容
メリット 多種多様な機能を有している。
複数の環境(Web/.NET等)に対応したプラットフォームである。
導入実績が豊富なため品質が安定している。
有償ではあるが日本法人によるサポート体制が整っている。
デメリット 実現方式が複数提供されているため、トレードオフが必要である。
SDKを導入するために、初期の学習コストが必要となる。
ArcGISを導入するために制約事項があり、アプリケーション側で対応する必要がある。

ArcGISを導入するにあたり、課題を検討することから着手した。ArcGISに関するメリットとデメリットを纏めた結果を表1に示す。

表1のメリットに記載した内容により、顧客の要求/環境に合わせて、視覚的なストレスを軽減した上で、多種多様な情報を重ね合せて表示する機能を開発することが可能であると判断した。また、今回は、ArcGIS Maps SDK for .NET(1)を利用して、当社の開発要件として大部分を占めるネイティブアプリケーション向けのライブラリー開発を対象とした。

しかし、デメリットに記載した内容により、安易に導入すると開発コストが増加する。多数のプロジェクトに適用するために、開発コスト(学習コスト)を低減させる必要があることがわかった。

そこで、デメリットの内容を課題と捉え、開発するライブラリーで補完する方針とした。

3.2 実装方法について

ArcGISは1つの機能に対して、複数の実現手段が提供されている。

そのため、以下のケースに応じてプロジェクトごとに最適な手段の事前検証及び取捨選択の判断が必要であり、ArcGISを使用する上で最も労力が必要な作業となっている。(誤った使い方を採用すると処理速度の低下につながり、客先要求に応えることができない場合がある。)

(a) インプットの種類(オブジェクト、ファイル、DB、Webサービス等)
(b) アウトプットの方法(地図表示の表現方法、表示状態の保存、外部サービスとの同期等)
(c) 性能のバランス(表示速度、メモリー消費量、CPU/GPUの負荷)

対策として、過去複数の地図表示機能を有するシステムを開発してきた知見を基に防衛案件で一般的な機能要件と性能要件を抽出した。そして、要件を満たす最適な実現手段をライブラリーとして提供することとした。

その結果、新規にArcGISを導入する場合でも、機能調査や検証作業を不要とし、誤った使い方を採用するリスクを回避した。

3.3 S/W構造について

ネイティブアプリケーションにArcGISを組み込む場合、WPF(Windows Presentation Foundation)のUIフレームワークを組み込むことが必須となっている。WPFはMVVM(Model-View-ViewModel)パターンを導入するためのフレームワークであるが、ArcGISとしてMVVMパターンに準拠した作りになっていない。一例として、ArcGISは地図に表示するデータ(Model)ではなく、地図そのもの(View)をViewModelに管理させる設計になっており、View(UI)とViewModel(データ[ロジック])の分離ができない構造になっている。

この問題を各システムで解決させることは高いハードルとなる。そのため、開発するライブラリーにMVVMフレームワークを組み込むことで、地図(View)を隠蔽し、ViewModelがデータ[ロジック]のみを扱うことを可能とする(MVVMパターンに従うことを可能としている)S/W構成とした。そうすることで誤った使い方を抑制し、各システムでArcGISを導入する際の開発コスト低減を可能とした。

図 1 本ライブラリーを含むS/W構成

図 1 本ライブラリーを含むS/W構成

具体的には、図1に示すとおりMVVMフレームワークとArcGISライブラリーを含めて本ライブラリーとすることで、開発対象のアプリケーションが容易にArcGISの機能を組み込むことができるようにした。さらに、詳細は3.6節で示しているが、パフォーマンス向上を目的として、非GISデータからGISデータへの変換処理のように演算能力を必要とする箇所は、ArcGISとは別にGDAL(OSS)を活用するようにした。

また、本ライブラリーを含むS/W一覧を表2に、ArcGISライブラリーとMVVMフレームワークの位置づけを図2に示す。

表 2 本ライブラリーを含むS/W一覧

No 階層名 説明
1 アプリケーション 個別案件に対応した地図アプリケーションである。
ArcGISを使用する制約上、WPFアプリケーションとして作成しなければならない。
2 ArcGIS
ライブラリー
アプリケーション層が操作するインタフェースを集約したライブラリーである。
地図(ArcGIS)操作に関わる共通処理をまとめており、アプリケーション層は、地図操作を行う際、本ライブラリーを使用することで、地図表示機能を実現する。
3 MVVM
フレームワーク
WPFアプリケーションにMVVMパターンを適用するためのフレームワークである。
4 ArcGIS ESRI社により提供されているGISソフトウエア本ライブラリーでは、ArcGIS Maps SDK for .NETを利用
5 GDAL OSGeo財団がX/MITライセンスにより提供しているラスター及びベクター地理空間情報データフォーマットのための変換用ライブラリー
6 WPF .NET Frameworkに含まれるUIサブシステム
7 .NET Framework .NETアプリケーションの実行環境である。
8 OS Windows 10 Pro/Windows 11 Pro
  • 地図表示ライブラリー
  • 既製品
図 2 ArcGISライブラリーとMVVMフレームワークの位置づけ

図 2 ArcGISライブラリーとMVVMフレームワークの位置づけ

3.4 本ライブラリーの機能

当社で開発したプロジェクトを分析し、地図表示に関する機能・操作・非機能要求等から共通/可変部分を抽出し、本ライブラリーの主要機能として表3のとおり定義した。

表 3 主要機能一覧

No 機能 概要
1 地図表示 ・指定地図データを表示する。
・指定高度データ(DEMデータ)を表示する。
・地図の表示スケールを変更する。
2 地図状態取得 ・地図のマウス座標、高度を取得する。
・地図の表示中心座標を取得する。
・地図の表示範囲を取得する。
3 表示物描画 ・緯度経度線等のグリッド線を表示する。
・各種情報を基にした任意の表示物を地図に追加、変更、削除する。
・表示物の重なりを判定する。
・表示物の属性を吹き出し表示する。
4 表示フィルタ ・レイヤ・表示物の表示/非表示を変更する。(レイヤの表示順も変更可能)
5 作図機能 以下の図形を作図する。
・折れ線(直線含む)
・多角形
・自由線
・円
・扇形
6 表示物編集 ・選択(フック)中の表示物をクリック操作及びドラッグ操作により編集する。
・選択(フック)中の表示物をクリック操作又はドラッグ操作により移動する。
7 表示物選択 ・表示物を選択(フック)する。
・表示物の選択(フック)可否を設定する。
・表示物の選択(フック)を通知する。
8 地図計測 地図上の2点間の距離・方位を計測する。

3.5 インタフェースの定義

アプリケーション層と本ライブラリー間のインタフェースは、ArcGIS及び防衛業務及び地図表示の実装経験に依存したものではなく、一般的な地図表示機能をイメージして直観的に使用できる定義とした。

また、防衛事業は長期運用をおこなうシステムが多いため、数年間隔で換装事業を実施している。その換装の際に、ArcGIS以外のGISを採用したとしても、アプリケーション層への影響を限定し、換装事業の開発コストが抑制できることを想定したつくりとした。

インタフェース定義で工夫した内容を以下に示す。

(1) ArcGISは1つの機能に対して、複数の実現手段を提供している。その実現手段が最適でない場合、想定した性能で動作しないことがある。そのため、動作検証・性能検証で確立した最適化した実現手段をライブラリー内に隠蔽し、アプリケーション層の開発効率を向上した。
(2) 性能面を考慮した表示フィルタ機能の強化、ArcGISに標準搭載されていない作図・表示物編集・地図計測機能を追加整備し、ArcGISのデメリット部分を補完した。
(3) 案件によって細部要件が異なる機能は、ベースとなる機能を提供しつつ、カスタマイズ可能な設計とすることで、アプリケーションでの拡張性を担保した。

3.6 性能問題への対応

地図表示機能では、描画性能に関する問題が多々発生する。そこで、開発した地図表示ライブラリーに対して性能評価を実施した。

その評価結果から、ArcGISを用いた表示性能は「シンボル表示数」、「シンボル表示サイズ」、「CPU性能」により大きく変化することが確認できた。その観点は、搭載するシステム環境に依存するものであるため、システム環境に適した仕様提案に活用していく。

一例として、最大表示件数(フィルタ機能の活用)、縮尺に応じたシンボルの汎化表示(地図の縮尺に応じたシンボル表示表現)、更新間隔、更新対象に関する提案となる。

また、多種多様なデータを重畳表示するケースにおいて、インプットデータによっては表示可能な形式に変換した上で地図表示を行う必要がある。そのような場合に、ArcGISに搭載されているデータ変換の機能を利用すると期待する性能を満たすことができていないことがあった。

その対策として、地図表示ライブラリーでは、非GISデータからGISデータに変換するような演算処理に関して、GDALを活用して、表示処理と並行して雨雲レーダのような強度分布画像(GeoTIFFファイル)を出力するようにした。そして、不必要なデータ変換の削減及びデータ変換の必要回数を最小限に抑える仕組みを組み込んだ。

    GeoTIFFファイル:地理参照情報が埋め込まれたイメージファイル

3.7 地図表示ライブラリーの成果

開発した地図表示ライブラリーを、実際に複数の開発中のプロジェクトへ適用した。一部開発中のプロジェクトは存在するが、その成果は以下のとおりである。

(1) 複数のシステム(案件)に実際に適用して、共通化できていることが検証できた。
(2) 防衛分野に初めて従事した若手でも、大きな混乱なく地図表示機能の開発を完遂した。
(3) 共通した操作性を持つ地図表示機能を提供できたことで、UIや非機能要件に対する認識齟齬が軽減し、顧客満足度が向上した。
(4) 開発したライブラリーの性能特性を把握でき、性能に関する課題を明確にすることができた。

開発した地図表示ライブラリーを用いて描画した地図表示画面の例を図3に示す。図3は、以下の機能を使用した表示例である。

(a) 複数のシンボルを重畳表示
(b) 任意の2点間の距離表示
(c) 地図上に任意の図形を作図
(d) 選択した表示物の詳細を吹き出しで表示
(e) 任意の場所に強度分布画像を表示

図 3 本ライブラリー使用時の画面例

図 3 本ライブラリー使用時の画面例

4.今後の取組み

地図表示ライブラリーに関する今後の取り組みを以下に示す。

(1) 今回は開発中のプロジェクトや直近で適用ターゲットが見えているプロジェクトをベースにネイティブアプリケーションへの適用としたが、今後はWebアプリ―ケーション、関係部署間でのオンプレミス運用を検討する。

(2) 現状のArcGISはデータ解析、ジオプロセシング等、多くの主要な操作は主にCPUベースの処理となっているため、3D表示機能以外でGPUの恩恵は受けにくい作りとなっている。しかし、販売元のESRI Japanと打ち合わせした際に、今後はGPUを活用したデータ解析やジオプロセシング等の高速化も検討していく方針であることを伺った。動向を注視しながらライブラリーの拡張(GPUへの対応)を進めていくようにする。

(3) ArcGIS Dashboards、Microsoft Power BIやOSS等も活用しながら、地図表示だけに特化したライブラリーではなく、戦術・戦略機能へ拡張可能なライブラリーにしていく。

5.むすび

今回のライブラリー開発によって、システム間で共通の操作性、及び属人性の排除(開発要員・保守要員の共通化)を進めることができた。また、開発した地図表示ライブラリーを適用することで、要求分析時において、顧客の要望に対して、実現可能な機能及び性能値を高い確度で示すことが可能となった。そのため、より顧客満足度が高い提案活動を進めていけるベース構築ができたと考えている。

そして、本ライブラリーを用いた事業拡大はもちろんのこと、既にArcGISを適用している部門・プロジェクトと連携した事業活動ができるよう進めていきたい。

最後に、貴重な改善情報をフィードバックしていただいたお客様、当社での実践者の皆様に感謝申し上げます。

商標

ArcGISは、ESRI(Environmental Systems Research Institute、 Inc.)の登録商標です。

GDAL(Geospatial Data Abstraction Library)は、OSGeo財団がX/MITライセンスにより提供しているOSSです。

Windows® の正式名称はMicrosoft® Windows® Operating Systemです。

Microsoft、Windows、Windows 10 Pro、11 Pro、WPF、Visual Studio及びMicrosoft .NET Frameworkは、Microsoft Corporationの登録商標です。

その他記載の会社名、製品名はそれぞれの会社の商標もしくは登録商標です。

参考文献

(1) Environmental Systems Research Institute、 Inc.:ArcGIS Maps SDK for .NET | ArcGIS Developers
https://developers.arcgis.com/net/

筆者紹介

  • ■ 穴山 涼一(アナヤマ リョウイチ)

    2022年入社。電子戦システムのソフトウエア開発に従事。現在、電子システム事業統括部 通信機事業所 第四技術部 第二課に所属

  • ■ 高橋 雄大(タカハシ ユウタ)

    2014年入社。電子戦システムのソフトウエア開発に従事。現在、電子システム事業統括部 通信機事業所 第四技術部 第二課に所属

  • ■ 森本 清孝(モリモト キヨタカ)

    2004年入社。電子戦システムのソフトウエア開発に従事。現在、電子システム事業統括部 通信機事業所 第四技術部 第二課に所属

  • ■ 小西 陽介(コニシ ヨウスケ)

    2003年入社。電子戦システムのソフトウエア開発に従事。現在、電子システム事業統括部 通信機事業所 第四技術部 第二課に所属

  • ■ 嶋田 康平(シマダ コウヘイ)

    2002年入社。車載システム・業務システム開発を経て、電子戦システムのソフトウエア開発に従事。現在、電子システム事業統括部 通信機事業所 第四技術部 第二課に所属