【ITニュース解説】【ServiceNow】Mapレポートで市区町村レベルまで可視化する(データ作成編)
2025年09月30日に「Qiita」が公開したITニュース「【ServiceNow】Mapレポートで市区町村レベルまで可視化する(データ作成編)」について初心者にもわかりやすく解説しています。
ITニュース概要
ServiceNowのMapレポート機能は、データを地図上に可視化する。地理的なヒートマップや緯度経度に基づきデータポイントを表示でき、市区町村レベルまで詳細に分析可能だ。システム開発や運用で地理情報を活用する際に役立つ。
ITニュース解説
ServiceNowのMapレポート機能は、企業が保有する様々なデータを地図上に可視化するための強力なツールである。例えば、顧客からの問い合わせが多い地域をヒートマップで表示したり、特定の場所に設置されたIT資産の位置をピンで示したりすることが可能となる。しかし、このMapレポートが標準で提供する地図情報には限界がある。具体的には、国や都道府県レベルでのデータ表示はできるものの、日本の市区町村といった、より詳細な地域レベルでの可視化は直接サポートされていない。これは、多くの企業が地域ごとのきめ細かい分析を行いたい場合に課題となる点だ。
この課題を解決するためには、ServiceNowの標準機能に頼るのではなく、カスタムマップという形で独自の地図情報を追加する必要がある。この「カスタムマップ」の核となるのが、GeoJSONというデータ形式だ。GeoJSONは、地理的な情報、例えばある地域の境界線(ポリゴン)や特定の地点(ポイント)、道路(ライン)などを、テキストベースで表現するための標準的なフォーマットである。地図上の「形」と、その形が持つ「情報」(例えば、それがどの市区町村かという名前)をセットで記述できるため、ServiceNowが理解できる形で独自の地図データを定義する際に非常に役立つ。
市区町村レベルでデータを可視化するためには、まず日本の各市区町村の地理情報がGeoJSON形式で手元にあることが必須となる。このような地理データは、国の機関、例えば国土交通省が提供している「国土数値情報ダウンロードサービス」から入手できる。ここでは行政区域に関するデータが提供されており、これを基にGeoJSONデータを作成する。ただし、ダウンロードしたデータはそのままServiceNowで利用できるGeoJSON形式ではない場合が多い。例えば、「シェープファイル」という別の形式で提供されることが多いため、QGISのような地理情報システム(GIS)ソフトウェアを使ってGeoJSON形式に変換する必要がある。
GeoJSONに変換した後も、データにはServiceNowで利用する上で不要な情報が含まれていたり、必要な情報が不足していたりすることがある。そこで、GeoJSONファイルをテキストエディタなどで開き、加工を行う。具体的には、ServiceNowのレポートで利用する「市区町村名」と、その市区町村を地図上に表示するための「中心座標」(緯度経度)という二つの情報が重要となる。元のGeoJSONデータには、市区町村の境界線を表すポリゴン情報が含まれるが、その中心点の緯度経度が直接含まれていない場合が多い。そのため、別途中心座標を計算し、GeoJSONファイルの各市区町村のプロパティとして追加する作業が必要になる。この中心座標は、後でレポートでデータを特定の市区町村に紐づけて表示する際に、その市区町村の代表点として利用されるため、非常に重要だ。また、市区町村名も、例えば「千代田区」だけだと他の都道府県にも同名の区が存在する可能性があるため、「東京都千代田区」のように都道府県名と市区町村名を結合して、地域が一意に特定できるよう工夫すると良い。
これらのGeoJSONデータの準備が整ったら、ServiceNow側にそのカスタムマップを認識させるための設定を行う。まず、加工済みのGeoJSONファイルをServiceNowのカスタムマップ設定画面にアップロードする。これにより、ServiceNowはこの新しい地図情報データを利用できるようになる。次に、「地図ソース」を定義する。これは、アップロードしたGeoJSONファイル内のどの情報(例えば、市区町村名)を、ServiceNowのどのデータテーブル(例えば、問い合わせ情報を管理するテーブル)のどの列(例えば、問い合わせ元の市区町村名)と紐づけるかを指定する設定である。この紐づけによって、ServiceNowはレポートで表示したいデータが地図上のどの地域に対応するのかを判断できるようになる。そして最後に、「地図定義」を作成する。これは、具体的なMapレポートがどのような見た目になるか、例えば、データ量に応じて市区町村の色を濃くしたり薄くしたりする(ヒートマップ表示)などの表示ルールを定義する部分だ。
これらの設定を行うには、ServiceNow内部に、加工したGeoJSONデータから抽出した市区町村名と中心座標(緯度経度)を格納するためのテーブルを準備することも大切である。例えば、「u_city_coordinates」のようなカスタムテーブルを作成し、そこに各市区町村の一意な名称(例: 東京都千代田区)と、その中心の緯度経度をインポートする。このテーブルは、ServiceNowの他のデータテーブル(例: 問い合わせ情報テーブル)から市区町村名を使って検索され、対応する緯度経度を取得するために利用される。このようにして、既存の業務データに地理情報を付与し、Mapレポート上で詳細な分析や可視化が可能になるわけだ。これらのステップを経て、標準機能では難しかった市区町村レベルでのデータ可視化がServiceNow上で実現できるようになるのである。