地理空間分析アーキテクチャ

Last reviewed 2021-10-18 UTC

このドキュメントでは、Google Cloud の地理空間機能と、これらの機能を地理空間分析アプリケーションで使用する方法について説明します。このドキュメントは、Google Cloud で利用可能なプロダクトとサービスを使用して、地理空間の分析情報をビジネス関係者に提供する方法について把握することを必要とする地理情報システム(GIS)の専門家、データ サイエンティスト、アプリケーション デベロッパーを対象としています。

概要

Google Cloud には、地理空間分析と機械学習に関する一連の包括的な機能が用意されています。これにより、世界、環境、ビジネスをより深く理解するための分析情報を得ることができます。これらの Google Cloud の機能から得られる地理空間分析情報は、従来の GIS インフラストラクチャの管理の複雑さと費用なしで、より正確で持続可能なビジネス上の意思決定を行うのに役立ちます。

地理空間分析のユースケース

多くの重要なビジネス上の決定は、位置情報を中心に行われます。地理空間分析から得られた分析情報は、次の例で説明するように、複数の業界、ビジネス、市場に対して有効です。

  • 環境リスクの評価。洪水や山火事などの自然災害を予測することで環境条件によるリスクを理解し、リスクをより効果的に予測して計画を立てることができます。
  • サイト選択の最適化。独自のサイト指標をトラフィック パターンや地理的モビリティなどの公開されているデータと結合して地理空間分析を使用し、ビジネスに最適な場所を特定して財務成果を予測できます。
  • 物流や運輸の計画。地理空間データをビジネス上の意思決定に組み込むことで、ラストマイル ロジスティクスなどのフリート オペレーションの管理、自律走行車両からのデータの分析、精度の高い列車の管理、モビリティ計画の改善を行うことができます。
  • 土壌の健全性と生産量の把握と改善。数百万エーカーの土地を分析して土壌の特性を把握し、作物の生産に影響する変数の相互作用を農家が分析できるようにします。
  • 持続可能な開発の管理。経済的、環境的、社会的な状態をマッピングし、環境の保護と維持のための重点領域を決定します。

地理空間クラウド ビルディング ブロック

地理空間分析アーキテクチャは、ユースケースと要件に応じて、1 つ以上の地理空間クラウド コンポーネントで構成されます。各コンポーネントはさまざまな機能を提供します。これらのコンポーネントは連携して、一元化されたスケーラブルな地理空間クラウド分析アーキテクチャを形成します。

データは、地理空間の分析情報を得るための素材となります。品質地理空間データは、多数の公開ソースや専有ソースから入手できます。一般公開データソースには、BigQuery 一般公開データセットEarth Engine カタログ米国地質調査所(USGS)などがあります。独自のデータソースとしては、SAP や Oracle などの内部システムと、Esri ArcGIS Server、Carto、QGIS などの内部 GIS ツールがあります。在庫管理、マーケティング分析、サプライ チェーン ロジスティクスなどの複数のビジネス システムからデータを集約して、そのデータを地理空間ソースデータと組み合わせると、地理空間データ ウェアハウスに結果を送信できます。

ソースのデータ型と宛先によっては、地理空間データソースを分析データ ウェアハウスに直接読み込むことができます。たとえば、BigQuery には改行区切りの GeoJSON ファイルを読み込むための組み込みサポート、また Earth Engine の統合データカタログには、分析用データセットの包括的なコレクションが含まれています。地理空間データを前処理し、Google Cloud のエンタープライズ データ ウェアハウスに読み込む地理空間データ パイプラインを使用して、他の形式でデータを読み込むことができます。Dataflow を使用して本番環境に対応したデータ パイプラインを構築できます。また、FME 空間 ETL などのパートナー ソリューションを使用することもできます。

エンタープライズ データ ウェアハウスは、地理空間分析プラットフォームの中核部分です。地理空間データがデータ ウェアハウスに読み込まれたら、次のいずれかの機能を使用して、地理空間アプリケーションと分析情報の構築を開始できます。

このアーキテクチャは、大規模なデータの保存、処理、管理に使用できる単一のシステムとして機能します。このアーキテクチャでは、高度な分析ソリューションを構築してデプロイすることもできます。これにより、これらの機能を含まないシステムでは不可能な分析情報を生成できるようになります。

地理空間のデータ型、形式、座標系

地理空間データを BigQuery などのデータ ウェアハウスに集約するには、内部システムや公開ソースから得られる可能性が高い地理空間データ形式を理解する必要があります。

データ型

地理空間データ型は、ベクトルとラスターの 2 つのカテゴリに分類されます。

次の図に示すように、ベクトルデータは頂点と線分で構成されます。

ベクター画像の例(ポイント、ラインストリング、ポリゴン、マルチポリゴン、コレクション)。

ベクトルデータの例としては、荷物の境界線、公共の道路(道路)、アセットの場所などがあります。ベクトルデータは表(行と列)形式で格納できるため、BigQuery や Cloud SQL の PostGIS などの地理空間データベースは、ベクトルデータの保存、インデックス登録、分析に優れています。

ラスターデータは、ピクセルのグリッドで構成されます。ラスターデータの例としては、次の例に示すように、大気測定と衛星画像があります。

地理的エリアの航空写真を示すラスター画像の例。

Earth Engine はラスターデータの地球規模の保存と分析用に設計されています。Earth Engine には、ラスターのベクトル化機能が備わっています。これにより、リージョンを分類して、ラスターデータのパターンを把握できます。たとえば、雰囲気ラスターデータを時間の経過とともに分析することで、一般的な風流を表すベクトルを抽出できます。それぞれのラスター ピクセルを BigQuery に読み込むには、ポリゴン化プロセスを使用します。このプロセスでは、各ピクセルがベクトル形状に直接変換されます。

多くの場合、地理空間クラウド アプリケーションは、各カテゴリのデータソースの長所を活用して包括的な分析情報を生成します。たとえば、新しい開発サイトの特定に役立つ不動産アプリケーションでは、荷物の境界などのベクトルデータと、水のリスクや保険費用を最小限に抑えるための海抜データのラスターデータを組み合わせることができます。

データ形式

次の表は、一般的な地理空間データ形式と、それを分析プラットフォームで使用できる方法を示しています。

データソース形式 説明
シェイプファイル Esri によって開発されたベクターデータ形式。ジオメトリ ロケーションを保存して、属性を関連付けることができます。 国勢統計区ジオメトリ、フットプリントの構築
WKT OGC で公開されている、人が読める形式のベクターデータ形式。この形式のサポートは BigQuery に組み込まれています CSV ファイルのジオメトリの表現
WKB WKT と同等のストレージ効率の高いバイナリ。この形式のサポートは BigQuery に組み込まれています CSV ファイルとデータベースでのジオメトリの表現
KML Google Earth や他のデスクトップ ツールで使用される XML 互換のベクター形式。OGC が公開している形式です。 建物の 3D の形状、道路、地形
Geojson JSON に基づくオープンなベクターデータ形式。 ウェブブラウザとモバイル アプリケーションの機能
GeoTIFF 広く使用されているラスターデータ形式。この形式を使用すると、TIFF 画像内のピクセルを地理座標にマッピングできます。 デジタル高度モデル(Landsat

座標参照系

すべての地理空間データには、型と形式に関係なく、座標参照系が含まれています。このシステムにより、BigQuery や Earth Engine などの地理空間分析ツールで、座標を地球表面の物理的な位置情報と関連付けることができます。座標参照系には、測地線と平面の 2 つの基本的なタイプがあります。

測地線データは地球の曲線を考慮に入れ、地理座標(経度と緯度)に基づく座標システムを使用します。測地線形態は、一般的に地域と呼ばれます。BigQuery で使用される WGS 84 座標系は、測地座標系です。

平面データは、地理座標を 2 次元の平面にマッピングするメルカトル図法などの地図投影に基づいています。平面データを BigQuery に読み込むには、平面データを WGS 84 座標系に再投影する必要があります。この再投影は、既存の GIS ツールを使用するか、地理空間クラウドデータ パイプライン(次のセクションを参照)を使用して手動で行うことができます。

地理空間クラウドデータ パイプラインの構築に関する考慮事項

前述のように、一部の地理空間データは、データ型に応じて BigQuery と Earth Engine に直接読み込むことができます。データが WGS 84 参照システムを使用している場合は、BigQuery で WKT、WKB、GeoJSON ファイル形式のベクトルデータを読み込むことができます。Earth Engine は、Earth Engine カタログから取得したデータと直接統合され、GeoTIFF ファイル形式でラスター画像を直接読み込む機能をサポートします。

他の形式で保存されていて、BigQuery に直接読み込めない地理空間データが見つかることがあります。また、データが座標参照系にある場合は、最初に WGS 84 参照システムに再投影する必要があります。同様に、データの前処理と簡素化、修正が必要なデータもあります。

Dataflow を使用して地理空間データ パイプラインを構築することで、前処理された地理空間データを BigQuery に読み込むことができます。Dataflow は、大規模なデータのストリーミングとバッチ処理をサポートするマネージド分析サービスです。

Apache Beam を拡張し、Dataflow に地理空間処理機能を追加する geobeam Python ライブラリを使用できます。このライブラリを使用すると、さまざまなソースから地理空間データを読み取ることができます。このライブラリは、データを処理して変換し、BigQuery に読み込んで、地理空間クラウド データ ウェアハウスとして使用することもできます。geobeam ライブラリはオープンソースであるため、追加の形式や前処理タスクをサポートするために変更、拡張できます。

Dataflow と geobeam ライブラリを使用すると、大量の地理空間データを並行して取り込み、分析できます。geobeam ライブラリは、カスタム I/O コネクタを実装することで動作します。geobeam ライブラリには、地理空間データを簡単に処理できるように、GDALPROJ などの関連ライブラリが含まれています。たとえば、geobeam は、すべての入力ジオメトリを BigQuery が使用する WGS84 座標系に再投影し、空間データの保存、クラスタリング、処理を行います。

geobeam ライブラリは Apache Beam の設計パターンに従っているため、空間パイプラインは非空間パイプラインと同様に機能します。違いは、geobeam カスタム FileBasedSource クラスを使用して空間ソースファイルを読み取ることです。組み込みの geobeam 変換関数を使用して空間データを処理し、独自の関数を実装することもできます。

次の例は、ラスター ファイルを読み取り、ラスターをポリゴン化して WGS 84 に再投影し、ポリゴンを BigQuery に書き込むパイプラインを作成する方法を示しています。

with beam.Pipeline(options=pipeline_options) as p:
  (p
   | beam.io.Read(GeotiffSource(known_args.gcs_url))
   | 'MakeValid' >> beam.Map(geobeam.fn.make_valid)
   | 'FilterInvalid' >> beam.Filter(geobeam.fn.filter_invalid)
   | 'FormatRecords' >> beam.Map(geobeam.fn.format_record,
       known_args.band_column, known_args.band_type)
   | 'WriteToBigQuery' >> beam.io.WriteToBigQuery('DATASET.TABLE'))

BigQuery での地理空間データ分析

データが BigQuery にある場合は、データの変換、分析、モデル化を行うことができます。たとえば、対象の地域の交差を計算し、標準 SQL を使用してテーブルを結合することによって土地の区画の平均標高をクエリできます。BigQuery には、新しい GEOGRAPHY 値の作成、地理測定の値の計算、2 つの地理表現間の関係性の確認などを可能にする関数が多数用意されています。BigQuery の S2 関数を使用して、S2 グリッドセルを含む階層型地理空間インデックスを作成できます。さらに、BigQuery ML の機械学習機能を使用して、パターンで地理空間データをクラスタ化するための K 平均法機械学習モデルの作成など、データのパターンを識別することもできます。

地理空間データの可視化、レポート、デプロイ

Google Cloud には、空間データと分析情報を可視化して報告し、ユーザーとアプリケーションに配信するためのオプションがいくつか用意されています。空間分析情報を表す方法は、ビジネス要件と目標によって異なります。すべての空間分析情報がグラフィカルに表示されるわけではありません。多くの分析情報は、Apigee などの API サービスを介して、または Firestore などのアプリケーション データベースに保存することで最適に配信されます。その結果、分析情報によりユーザー向けアプリケーションの機能を強化できます。

地理空間分析のテストとプロトタイピングを行っている場合は、BigQuery GeoViz を使用して、クエリを検証し、BigQuery から視覚的な出力を生成できます。ビジネス インテリジェンス レポートの場合は、Looker Studio または Looker を使用して BigQuery に接続し、地理空間の可視化を他のさまざまなレポートタイプと組み合わせることにより、必要な分析情報の全体像を提示できます。

また、ユーザーが地理空間データや分析情報を操作し、それらの分析情報をビジネス アプリケーションに組み込めるアプリケーションを構築することもできます。たとえば、Google Maps Platform を使用して、地理空間分析、機械学習、Maps API のデータを組み合わせて単一のマップベースのアプリケーションに入力できます。deck.gl などのオープンソース ライブラリを使用すると、高パフォーマンスの可視化とアニメーションを導入して地図ベースのストーリーを示し、データをより的確に表すことができます。

Google には、地理空間の分析情報を最大限に活用できる、堅牢で拡大を続けるパートナー サービスのエコシステムもあります。カルトNGIS気候エンジンをはじめ、業界とビジネスに合わせてカスタマイズできる特別な機能やサービスがあります。

リファレンス アーキテクチャ

次の図は、地理空間クラウド コンポーネントがどのように相互作用するかを示すリファレンス アーキテクチャを示しています。このアーキテクチャには、地理空間データ パイプラインと地理空間分析プラットフォームの 2 つの主要コンポーネントがあります。

データソース(Earth Engine または Cloud Storage)から、Dataflow のパイプライン経由で BigQuery に結果を送信するアーキテクチャ。

図に示すように、地理空間ソースデータは Cloud Storage と Earth Engine に読み込まれます。これらのプロダクトのどちらからでも、geobeam を使用して Dataflow パイプラインを介してデータを読み込み、特徴検証やジオメトリ再予測などの一般的な前処理オペレーションを実行できます。Dataflow は、パイプライン出力を BigQuery に書き込みます。データが BigQuery にある場合は、BigQuery アナリティクスと ML を使用してその場で分析できます。または、Looker Studio、Looker、Vertex AI、Apigee などの他のサービスからアクセスすることもできます。

次のステップ