データベースのテーブルを使用できるクエリ レイヤー 前編

2694
0
01-28-2021 05:13 PM

データベースのテーブルを使用できるクエリ レイヤー 前編

はじめに

ArcGIS では様々な GIS データや DBMS をサポートしています。ArcGIS で使用する際には変換が必要なものも存在しますが、多くのデータは直接表示や解析を行うことができます。ファイルベースのデータはArcGIS Proのカタログ ウィンドウから直接アクセスすることで使用できますが、データベースに格納されているデータはデータベースに接続してクエリ レイヤーとして使用します。

ここではクエリ レイヤーを使用するための前提となる情報と、クエリ レイヤーと実際に使用する方法について2 回にわたってご紹介します。

1 回目となるこの記事ではジオデータベースとデータベースの違いなど前提となる情報についてご紹介します。

エンタープライズ ジオデータベースとデータベース

ジオデータベースは Esri GIS データを格納するために考案した ArcGIS の標準データフォーマットです。ArcGIS をご利用のほとんどの方はファイル ジオデータベースを使用されていると思いますが、ジオデータベース名のフォルダ下の複数のファイルから構成されているものがファイル ジオデータベースとなり、データベース上に実装したものがエンタープライズ ジオデータベースとなります。

エンタープライズ ジオデータベースは [エンタープライズジオデータベースの作成] ジオプロセッシングツール等を使用して PostgreSQL 等のデータベースにジオデータベースを作成し、データベース コネクションを介して接続します。

一方でRDBMS に直接接続する場合もエンタープライズ ジオデータベースと同様にデータベース コネクションを介して接続することができます。

下記は ArcGIS Pro から新規にデータベースコネクションを作成する画面ですが、このように ArcGIS からのジオデータベースとデータベースには同じ操作で接続することができます。

2021-01-21_12h58_05.png

 

 

同じように接続できるエンタープライズ ジオデータベースとデータベースの違いは、[エンタープライズジオデータベースの作成] ジオプロセッシングツールにあります。このツールではデータベースをジオデータベースとして使用できるようにするための設定(管理テーブル、ストアドプロシージャ等の作成)を行います。ArcGIS はデータベースに接続したときに、ジオデータベースの設定の有無をチェックして設定が行われていれば接続先のデータベースをジオデータベースとして認識します。

ArcGIS Pro ではデータベース コネクションを右クリックして [プロパティ] をクリックすることで [データベース プロパティ] ダイアログが表示され、[一般] [タイプ] で接続しているデータベースが種類を確認することができます。ジオデータベースの場合は接続している RDBMS 名に続いて「エンタープライズ ジオデータベース」と表示されます。

ql01.png

 ql02.png

 

 

 

 ジオデータベース テーブルとテーブル

前のセクションではジオデータベースとデータベースの違いについて簡単に説明しました。ここからはジオデータベース テーブル(フィーチャクラス)とデータベースのテーブルについて説明します。

まず、データベースのテーブルは DDL を実行して作成されたデータベースのテーブルです。空間列(SQL Server geometry 型や geography 型の列)を含むテーブルをレイヤーや空間テーブルと呼ぶ場合があります。

一方でジオデータベースのテーブルは ArcGIS 製品を使用して作成されたテーブルです。[フィーチャクラスの作成] ジオプロセシング ツール等を使用して作成した、空間情報(空間列)を持つテーブルは ArcGIS ではフィーチャクラスとなります。

データベースのテーブルとジオデータベースのテーブル(フィーチャクラス)は、ジオデータベースにそのテーブルの設定情報が格納されているかどうかで区別されます。これらの区別は設定の有無、もしくは概念的なもののため下記のArcGIS ProPostgreSQLデータベース(geodb)に接続したカタログウィンドのように、同じデータベースユーザー(gisuser)に、ジオデータベースのフィーチャクラス(japanjapan_1)とデータベースのテーブルと空間テーブル(それぞれsampledatamunipt)が存在する状態もあります。

ql03.png 

エンタープライズ ジオデータベースではないデータベースのテーブルはデータベーステーブルです。ジオデータベースのテーブルは ArcGIS を使用して作成された場合は、ArcGIS が自動的にジオデータベースに設定情報を登録するためジオデータベース テーブルとなります。ジオデータベースとして使用しているデータベースに DBMS SQL クライアントでログインして DDL を実行して作成されたテーブルは、ジオデータベースに設定情報が登録されていないためデータベースのテーブルとなります

作成方法

ArcGIS を使用して作成

SQL を使用して作成

名称(空間列なし)

ジオデータベース テーブル

データベース テーブル

名称(空間列あり)

フィーチャクラス

レイヤー/空間テーブル

 

これらの違いについては下記のヘルプをご参照ください。

ジオデータベースに登録されていないテーブルで使用できる ArcGIS の機能

ジオデータベースへのテーブルまたはビューの登録

 

 まとめ

本記事ではクエリ レイヤーを使用する前に、フィーチャクラスや空間テーブルの概要を説明しました。次回の記事ではクエリ レイヤーがどういうものであるのか、どのように使用するのかをご説明します。

 

参考情報

ジオデータベースとは
データベースへの接続

ArcGIS Enterprise 10.8.1 動作環境

Version history
Last update:
‎01-28-2021 05:13 PM
Updated by:
Contributors