第3回: 基盤の心臓部!『連携層』の仕組み - 地図データを誰もが使える形に変える技術

連載「地理空間データ連携基盤」、第3回をお届けします。

前回は、「データのサイロ化」問題の整理と、地理空間データ連携基盤による解決方法についてお話ししました。

今回は、地理空間データ連携基盤のアーキテクチャ(構造)の心臓部「連携層」の仕組みを解説します。バラバラのデータを「誰もが使える形」に変え、データを提供する人と利用する人をつなぐ、シンプルで強力な仕組みです。

地理空間データ連携基盤の全体像

次の画像は、基盤の3つの層の模式図です。

地理空間データ連携基盤のアーキテクチャ概要図。

データ層、連携層、アプリケーション層からなる。
  1. データ層: 連携元データが存在する層。オープンデータカタログ、庁内のGIS、国のデータサイト、民間企業のデータなど。
  2. 連携層: データを自動で集め、変換し、利用しやすい形で配信します。
  3. アプリケーション層: データを使って、具体的なサービスやアプリケーションを提供します。

連携層の3つの仕事:「収集」「変換」「配信」

「連携層」は、収集、変化、配信を担います。1つずつ見ていきましょう。

1. 収集:バラバラのデータを集めてくる

様々な場所にある地理空間データを、提供元の要請に応じて、適切な方法で集めます。

収集の方法

  • ダウンロード:
    URLにアクセスしてダウンロードできるデータを収集。国や自治体のオープンデータサイトや、一般的なファイルサーバーなどに随時・定期的・自動的にアクセスし、最新のデータを取得します。
  • システム連携:
    オープンデータカタログに掲載しない場合には、システムのベンダーと協力して連携します。
  • 手動アップロード:
    専用端末のGISシステムで管理していてネットワークが繋がらない、更新頻度が低い、容量が大きくアップロードできない場合には、基盤事業者にメールなどでデータを送付して、手動で登録します。

2. 変換:誰もが使える形式へ

集めてきたデータは形式も構造もバラバラで、そのまま組み合わせて使うことはできないので以下のような「変換」をします。

  • フォーマットの統一:
    Shapefile、GeoJSON、CSV、GMLなど、様々な形式のファイルを、ウェブ地図用のフォーマットに変換。高速に動き、機械判読性があり、一般的な形式として、以下の種類がある
    • 地図タイル:
      ウェブブラウザで高速に地図を表示するために、地図を小さな四角い画像やデータに分割したもの。
      • ベクトルタイル:
        地図としての見た目とデジタル情報を併せ持つ
      • データPNG:
        画像でありながらピクセルごとに数値データを持てる
      • ラスタータイル:
        シンプルな画像データ
    • GeoJSON:
      地理空間情報を扱うための標準的なデータフォーマットの一つで、多くのウェブアプリケーションで利用されている
  • 属性情報のマッピング:
    あるデータでは「施設名」、別のデータでは「Name」となっている項目名を「名称」という項目名に統一するなど
  • 座標系の統一:
    投影法や座標系を揃える

変換の結果、出自の異なるバラバラなデータが、同じ土俵で扱える ようになります。

3. 配信:アプリケーションへ届ける

変換されたデータをアプリケーションに向けて送るのが「配信」です。主に、以下の3つの仕組みで実現します。

  • 地図タイルサーバー:
    地図タイルをWebサーバに置いておき、ユーザーが見ている縮尺の、必要な範囲のタイルだけを送信します。あらかじめ作っておいたタイルファイルを送るだけの仕組みで、安く、かつ、高速。
  • API:
    地図をプログラマ、AI、アプリが使いやすい形で配信する仕組みで、以下の2つがある。
    • 地図API:
      地図タイルを地図に読み込んで表示する仕組み
    • 空間ID API:
      特定の地点やエリアの情報をピンポイントで取得する仕組み
  • SDK:
    アプリケーション開発者が、APIを簡単に利用するための便利機能やサンプルコードをまとめた開発キット。地図の表示、デザインの変更、属性の取得、レイヤーの追加など、よく使う機能が揃っている。

「シンプル」で「オープン」な技術

連携層を構成する要素は、既存のオープンなウェブ技術を応用した、シンプルな仕組み です。ダウンロード、変換ツール、ウェブサーバ、API仕様、SDKは、ウェブの世界で普通に使われている技術です。

さまざまな人達が同じものを使っていて、

といった国の機関や、Google マップ、Yahoo! マップといった民間の地図サービスも、基本的に同じ技術やソースコードを使っています。

多くの組織が、今使っている仕組みなので、相互運用性が高く、将来的な拡張や他のシステムとの連携も容易です。参考のため、この記事の一番最後に地理空間データ連携基盤の主要な要素を構成する技術の仕様などへのリンクを掲載しています。

連携層がもたらすメリット

連携層が収集、変換、配信を行うことで、データを提供する側、利用する側、そして自治体全体にとって、多くの具体的なメリットが生まれます。

データを提供する人と利用する人が分離されていて、どちらも楽に仕事をしている図

データ提供者にとっての利点

データを提供する人にとっては、フォーマット変換にともなう手作業、システムの追加開発、データ更新時の連絡等から解放され、普段の業務に集中できます。

視点現状基盤利用
変換作業データを手作業で変換する。データの変換が不要になる。
システム改修データを変換するためのシステムの改修を行う。シェープファイル、GeoJSON、CSV等をそのまま利用する。
共有作業データを連携するためにメールやハードディスクの郵送で事業者に送付する。オープンデータカタログ等、URLでアクセスできる場所にファイルを配置する。
自動連携データ連携の自動化のために専用のAPI仕様を設計、開発を行う。(高コスト)オープンデータカタログ等、URLでアクセスできる場所にファイルを配置する開発を行う。(低コスト)
更新の反映データを更新したら、すべてのデータ利用者に、個別の連絡を行う。データ更新は、アプリケーションに自動反映される。

データ利用者にとっての利点

データを実際に使う人は、事前準備にかかる時間とコストやデータ更新への追随業務から解放されます。高度な地理空間情報技術や専門的な地図ソフトウェアがなくても、データを使ったアプリケーション開発ができます。

視点現状基盤利用
開発期間とコスト位置情報ファイルをダウンロード、加工、地図タイルし、
データ配信サーバーとAPIを構築してから開発に着手する。
APIとSDKを利用し、初日からアプリケーションに地図を表示し開発を始められる
専門性GISの専門知識と専門のソフトウェアを使える人や外注先が必要ウェブアプリケーションの開発の専門性で勝負する
運用データ提供者からの更新通知を受け取ったら、手動でデータを更新するデータ更新は、アプリケーションに自動反映される。

自治体にとっての利点

自治体は、データの「提供者」であり「利用者」なので、上記のすべてのメリットを享受できます。それに加えて、以下のような調達やサービスの品質、デジタル化推進、地域振興におけるメリットがあります。

視点従来基盤利用
調達プロジェクトごとに、データの整備、地図サーバー構築等を調達する。基盤を前提に、サービスの企画・開発・運用を調達する。
すべての地図やデータを使うプロジェクトに、基盤を使う。
競争データや地図変換・配信は専門性が高く、特定のベンダーに依存し、価格競争が起きにくい。地域のIT企業、UI/UXデザイン会社、スタートアップの参加が可能になる。
UI/UX地図やデータの会社に、UI/UXデザインの開発を発注する。UI/UXデザインが得意な会社に、UI/UXデザインの開発を発注する。
機運オープンデータが利用されないと、職員に徒労感が生まれてしまう。データが住民サービスや業務改善に繋がり、継続的なデータ更新やさらなるデータ公開への意欲が生まれる。
地域振興地域企業への発注機会は限られる。データの提供企業・利用企業、デザイン開発会社など、地元に新たな機会を提供する。

連携層は、多様なデータと多様なアプリケーションを繋ぐ「交通整理役」 です。データを提供する人と利用する人それぞれの作業を分離・簡素化できるため、関係者の負担は下がり、効果が上がりやすくなります。

まとめ:データ活用の「エンジン」となる連携層

地理空間データ連携基盤の心臓部である「連携層」の「収集」「変換」「配信」という3つの仕事と、それがもたらす利点を中心に解説しました。データを提供する人と利用する人の双方が便利になる仕組みなので、バラバラだったデータが繋がり、アプリケーションで活用され、スマートシティの実現に向けた具体的なサービスが生まれます。

次回予告

次回は、第4回「データはどこから?『データ層』の役割と多様なデータソース」 をお届けします。連携基盤が扱うデータの「源泉」であるデータ層に焦点を当て、庁内データ、国のオープンデータ、民間データなど、具体的にどのようなデータがあるのか解説します。

---

参考: 主な技術要素の仕様へのリンク

この連載で触れた要素の技術仕様やライブラリについて、簡単な説明と関連リンクを以下に示します。

  • ベクトルタイル (Vector Tiles): 地図の地理情報(点、線、面)と属性情報をベクトル形式で格納し、タイル状に分割して配信する仕様。軽量で、クライアント側での動的なスタイル変更や情報の利用が可能です。
  • データPNG (Data PNG): PNG画像のピクセル色情報(RGB値など)に数値データをエンコードする手法。主に標高データや地質データなど、連続的な数値をタイル形式で扱う際に利用されます。(産業技術総合研究所 地質調査総合センターによる解説)
  • GeoJSON: 地理空間情報をJSON形式で記述するための標準フォーマット。ウェブAPIなどで広く利用されています。
  • MapLibre GL JS: ベクトルタイルやGeoJSONなどのデータをウェブブラウザ上にインタラクティブな地図として表示するための、オープンソースのJavaScriptライブラリ。
  • 空間ID (Spatial ID): 3次元空間を含む現実世界の特定の位置や範囲を一意に示すための識別子。ZFXY形式などが提案されています。
  • ウラノス時空間情報交換ライブラリ (Ouranos GEX Lib): 空間IDやその他の地理空間情報を扱うためのJavaScriptライブラリ。空間IDの生成や変換、時空間データモデルの操作などをサポートします。(開発中のプロジェクト)