ここに示すデータベース管理システム、データベース ファイル、またはデータ ウェアハウス アプライアンス内のデータには、ArcGIS クライアントから接続して操作することができます。ArcGIS Server でのデータベースの使用方法を確認するには、「データベースと ArcGIS Enterprise」をご参照ください。
各データベース管理システムは、実装方法や提供する機能という点でそれぞれ異なっています。このため、ArcGIS の各データベース タイプを操作するときには、いくつかの注意事項やルールに注意する必要があります。ここでは、それらについて説明します。
Dameng
空間データは、Dameng ジオメトリタイプで格納されます。Dameng の通常のインストールには、空間データが含まれますが、これを使用するには初期化の必要があります。
ArcGIS でサポートされている Dameng のバージョンをご確認ください。
IBM Db2
Db2 は、オペレーティング システムのログインを使用してデータベースへの接続を認証します。ただし、[データベース コネクション] ダイアログ ボックスまたは [データベース コネクションの作成 (Create Database Connection)] ジオプロセシング ツールから Db2 に接続する場合は、[データベース認証] オプションを指定できます。これによりログインの特定のユーザー名とパスワードを保存できます。これはデータベース接続を ArcGIS Server に登録する場合に必要になります。
ArcGIS には、マップのフィーチャをレンダリングする一意の ID フィールドが必要です。ArcGIS では、フィーチャの作成時に一意の ID フィールドに値を挿入するためにデータベースを使用します。Db2 z/OS は、データ タイプも、ID フィールドに値を入力するための組み込み機能も持たないため、データベース テーブルの行を作成する ArcGIS ツールは、Db2 z/OS のデータベースで使用できません。また、ArcGIS から Db2 z/OS テーブルにフィーチャを挿入することはできないため、Db2 z/OS データベースからのデータを含むフィーチャ サービスは公開できません。
ArcGIS でサポートされている Db2 のバージョンをご確認ください。
IBM Informix
Informix は、オペレーティング システムのログインを使用してデータベースへの接続を認証します。ただし、[データベース コネクション] ダイアログ ボックスまたは [データベース コネクションの作成 (Create Database Connection)] ジオプロセシング ツールから Informix に接続する場合は、[データベース認証] オプションを指定できます。これによりログインの特定のユーザー名とパスワードを保存できます。これはデータベース接続を ArcGIS Server に登録する場合に必要になります。
ArcGIS でサポートされている Informix のバージョンをご確認ください。
Microsoft SQL Server
Microsoft では、SQL Server ユーザー アカウントで任意の名前のスキーマにデータを書き込むことができますが、ArcGIS では、テーブル、ビュー、またはデータベース内のその他のオブジェクトを作成するユーザー アカウントには一意のユーザー名とスキーマ名が必要とされます。たとえば、ArcGIS から elmer として接続して、dataowner という名前のスキーマに書き込むことはできません。
ArcGIS でサポートされている SQL Server のバージョンをご確認ください。
Oracle
ArcGIS は Oracle データベースで Oracle SDO_Geometry と Esri ST_Geometry 空間タイプをサポートしています。SDO_Geometry は独立したサードパーティのインストールです。Esri ST_Geometry タイプを使用して空間データを保存するには、ST_Geometry シェープ ライブラリを Oracle コンピューターにコピーして、[空間タイプの作成 (Create Spatial Type)] ジオプロセシング ツールを実行して ST_Geometry タイプ、サブタイプ、関数を作成します。
ArcGIS でサポートされている Oracle のバージョンをご確認ください。
PostgreSQL
ArcGIS は PostGIS データベースで PostgreSQL ジオメトリおよびジオグラフィ タイプと Esri ST_Geometry 空間タイプをサポートしています。PostGIS は独立したサードパーティのインストールです。Esri ST_Geometry タイプを使用して空間データを保存するには、st_geometry ライブラリを PostgreSQL のインストールにコピーして、[空間タイプの作成 (Create Spatial Type)] ジオプロセシング ツールを実行して ST_Geometry タイプ、サブタイプ、ビュー、関数を作成します。
PostgreSQL では、ユーザー アカウントで任意の名前のスキーマにデータを書き込むことができますが、ArcGIS では、テーブル、ビュー、またはデータベース内のその他のオブジェクトを作成するユーザー アカウントには一意のユーザー名とスキーマ名が必要とされます。たとえば、ArcGIS から vlad として接続して、パブリック スキーマに書き込むことはできません。
SAP HANA
SAP HANA を使用する際には、以下の情報に注意してください。
- SAP HANA では、独自のインデックスとして機能する列形式のデータ格納を使用します。そのため、SAP HANA テーブルの空間列には、検索のパフォーマンスを高めるための空間インデックスは必要ありません。
- SAP HANA はユーザー定義のインデックスを使用しません。そのため、SAP HANA では、テーブルに対するインデックスの管理または再構築は行われません。
- SAP HANA にデータを読み込む場合は、そのデータが使用する空間参照が SAP HANA システム テーブルに存在する必要があります。
- SAP HANA では、空間参照系 EPSG ID 4326 を、WGS84 の平面表現から丸い地球の表現へと再定義しました。空間参照系 4326 を使用する SAP HANA の空間データを保存しているテーブルは、ArcGIS で正常に動作しない可能性があります。
SAP HANA の WGS84 (EPSG ID: 4326) の丸い地球の実装には、特定のデータ タイプの操作に適さないという重要な制限事項が含まれます。たとえば、半球の境界を超える、または半球の境界線を横切るグローバル データセットは、矛盾のある結果を返します。ArcGIS がすべてのタイプのデータを正常に操作できるようにするために、ArcGIS を使用して作成したり読み込んだりするデータは、引き続き平面バージョンの WGS84 (EPSG ID 1000004326) 座標系を使用して保存されます。ただし、ArcGIS では、SQL またはサードパーティ製品を使用して SAP HANA で作成された丸い地球の WGS データを読み取ることは可能です。
- SAP HANA は、空間参照系情報を ST_SPATIAL_REFERENCE_SYSTEMS システム ビューに保存します。SAP HANA に読み込む空間データは、NULL の空間参照を持つか、ST_SPATIAL_REFERENCE_SYSTEMS システム ビューに存在する空間参照を使用する必要があります。読み込むデータの空間参照系がこのビューに含まれていない場合は、SAP HANA CREATE SPATIAL REFERENCE SYSTEM ステートメントを使用して、必要な空間参照系にビューを更新します。
ヒント:
詳細については、SAP HANA Spatial Reference ドキュメントの「CREATE SPATIAL REFERENCE SYSTEM」ページをご参照ください。
SAP HANA データベースにインポートまたはコピーする空間データに空間参照が定義されていない場合、SAP HANA はデフォルトの SRID の 0 を割り当てます。これは、2D 平面のデータに対して機能する直交空間参照系です。
ArcGIS でサポートされている SAP HANA のバージョンをご確認ください。
SQLite と OGC GeoPackage
SQLite は、シンプル フィーチャへのアクセスを提供し、1 人の編集者をサポートする自己完結型のデータベース ファイル形式です。OGC GeoPackage ファイルは、SQLite データベース ファイルから作成されます。
自己完結型の SQLite ファイルと GeoPackage ファイルは、ソフトウェア パッケージ間でのデータ交換、またはソフトウェア パッケージへのデータの埋め込みに役立ちます。
これらのファイル タイプはいずれも、ArcGIS がサポートする他のデータベースとは大きく異なります。
- ファイルであるため、そのファイルを格納するフォルダーによってアクセスが制御されます。フォルダーに権限を設定すると、そのコンテンツにアクセスできるユーザーを制限できます。
- SQLite データベースにアクセスするには、ArcGIS では、データベース ファイルの拡張子が *.sqlite である必要があります。Esri ST_Geometry または SpatiaLite を使用して、拡張子が *.sqlite のデータベース ファイルに空間データを格納したりアクセスしたりできます。
- GeoPackage にアクセスするには、ArcGIS では、ファイルの拡張子が *.gpkg である必要があります。
- SQLite データベースごとに 1 つの空間格納タイプしか使用できません。空間格納タイプを既存のデータベースに追加する方法については、「SQLite データベースでの空間対応」をご参照ください。
- フィールド データ タイプ定義は、SQLite または OGC GeoPackage によって適用されません。
- SQLite または GeoPackage ファイルのデータからは、フィーチャ サービスを公開できません。
ST_Geometry または SQLite 格納のいずれか一方を使用する SpatiaLite データベースを作成するか、GeoPackage を作成するには、[SQLite データベースの作成 (Create SQLite Database)] ジオプロセシング ツールを使用します。
データ アクセス
SQLite データベースまたは GeoPackage が保存されているフォルダーに対する権限を制御することによって、SQLite データベースまたは GeoPackage へのアクセスを制御します。他のデータベースとは異なり、データベースによって認証されるユーザーを作成したり、特定のデータベースに対する権限を他のユーザーに付与したりしません。
ArcGIS から SQLite または GeoPackage に接続する場合、フォルダーへの接続を追加します。ArcGIS Server がデータにアクセスできるようにするには、そのフォルダーを ArcGIS Server サイトに登録します。
SQLite と GeoPackage は複数のユーザーが読み取り可能ですが、他のユーザーがデータを編集しているとき、あるいはデータベースを更新しているときに、データベースやその内容を更新しないでください。たとえば、他のユーザーがデータを読み込んでいるとき、あるいはデータベースにテーブルを作成しているときに、既存のテーブルにデータを追加したり、データベースにテーブルを作成したりしないでください。
データ タイプ
SQLite は、フィールドが特定のデータ タイプに割り当てられず、データ タイプの定義が厳密に適用されないという点でも、他のデータベースとは異なっています。その代わり、SQLite は、さまざまなデータ タイプの値を格納できる格納クラスを使用します。
ところが、ArcGIS は、1 つのフィールドにつき 1 つのデータ タイプのみを操作することができ、それらのデータ タイプを厳密に適用します。ArcGIS で SQLite データを表示する場合、データ タイプの適用に関するこの違いを知っておく必要があります。
以下の例では、整数フィールドとテキスト フィールドを含むテーブルを作成しています。
CREATE TABLE mytable (
id INTEGER PRIMARY KEY NOT NULL,
item TEXT,
weight INTEGER,
store TEXT;
weight フィールドが整数として定義されているにもかかわらず、SQLite では、小数を含む数値をこのフィールドに格納できます。このフィールドには、テキストも格納できます。たとえば、以下の各レコードを挿入できます。
INSERT INTO mytable (id, item, weight, store) VALUES( 1, "magnetic dual elliptical trainer with seat", 75, "CardioPlus Equipment"
);
INSERT INTO mytable (id, item, weight, store) VALUES( 2, "superfit treadmill4000", 81.2, "Sports Pit"
);
INSERT INTO mytable (id, item, weight, store) VALUES( 3, "serenity yoga mat", .4588, "Aerobic Angels Sporting Goods"
);
INSERT INTO mytable (id, item, weight, store) VALUES( 4, "swim fins", "two", "The Plunge"
);
一方で、weight フィールドが整数として定義されているため、これらの値は ArcGIS では次のように表示されます。
id | item | ウェイト | 格納 |
---|---|---|---|
1 | magnetic dual elliptical trainer with seat | 75 | CardioPlus Equipment |
2 | superfit treadmill4000 | 81 | Sports Pit |
3 | serenity yoga mat | 0 | Aerobic Angels Sporting Goods |
4 | swim fins | 0 | The Plunge |
どの SQLite データ タイプがどの ArcGIS データ タイプにマッピングされるかの一覧については、「ArcGIS でサポートされている DBMS のデータ タイプ」をご参照ください。
ArcGIS でサポートされている SQLite のバージョンをご確認ください。
Teradata Data Warehouse Appliance
ArcGIS から Teradata Data Warehouse Appliance に接続するには、ArcGIS クライアント コンピューターに、特定の順序で Teradata GSS クライアント、ICU ライブラリ、および ODBC ドライバーをインストールする必要があります。詳細については、「Teradata への接続」をご参照ください。
ArcGIS で Teradata Data Warehouse Appliance を使用するためのガイドラインを以下のリストに示します。
- テーブル内の空間列に「shape」という名前を付けるか、ビュー内で「shape」というエイリアスを作成する必要があります。
Teradata ST_Geometry の基礎となる格納タイプは、CLOB です。そのため、列に空間データが格納されていることを ArcGIS が識別できるように、「shape」という列名または列のエイリアスを作成する必要があります。
- ArcGIS クライアントから Teradata にテーブルを追加するとき、ArcGIS は常にユーザー独自のデータベースにテーブルを作成します。ArcGIS は、ユーザー独自のデータベース以外のデータベースにテーブルを作成する処理はサポートしていません (ユーザーとデータベースは同じ名前である必要があります)。ArcGIS の外部に追加されたテーブルは、このルールに従う必要はありません。ArcGIS から Teradata に接続されたユーザーは、データを引き続き表示および公開できます。編集可能なフィーチャ サービスを公開する場合、ユーザーはデータを編集できます。
- Teradata ST_Geometry 列に空間インデックスを作成して維持するには、Teradata から提供されるテッセレーション関数を使用する必要があります。
Teradata では、定義済みの対象領域を含むテッセレーション空間インデックスを使用します。そのため、拡大、縮小、画面移動など、動的な入力に基づく ArcGIS の空間処理では、テッセレーション インデックスを使用することはできません。しかし、クエリ レイヤーを定義する SQL ステートメントが明示的にテッセレーション インデックスを使用し、対象領域に基づいてデータのサブセットを検索する場合は、テッセレーション インデックスをクエリ レイヤーで使用できます。
- ArcGIS には、マップのフィーチャをレンダリングし、Web サービスに公開するために一意の ID フィールドが必要です。ArcMap では、マップに空間テーブルを追加するときに、この一意の ID フィールドを指定するように求められます。ArcMap および ArcGIS Pro では、マップに空間テーブルを追加するときに、この一意の ID フィールドを指定するように求められます。
ArcGIS ツールは、データベースの一意の ID フィールドに新しい値を挿入しません。フィールドに値を挿入するには、データベースを使用します。Teradata は、データ タイプも、ID フィールドに値を入力するための組み込み機能も持たないため、データベース テーブルの行を作成する ArcGIS ツールは、Teradata で使用できません。
- Teradata ユーザーであればわかるように、Teradata 14.x ST_Geometry は 2 次元空間データのみをサポートします。そのため、Z 座標または M 座標を含む空間データを Teradata 14.x に貼り付けることはできません。Teradata 15.0 ST_Geometry は Z 座標をサポートしていますが、M 座標はサポートしていません。そのため、M 座標を含む空間データを Teradata 15.0 に貼り付けることはできません。
- 多くの場合、Teradata Data Warehouse Appliance には大量のデータが格納されます。視覚化したり、解析を実行したり、ArcGIS クライアントからデータを公開したりするには、データのサブセットを使用します。使用方法は、データで何をしたいかによって異なります。
- マップ内での表示と解析のためにデータを ArcMap または ArcGIS Pro に追加する場合、クエリ レイヤーを追加して、データのサブセットのみを返すクエリ レイヤー式を定義します。
- マップ サービスを公開するためにデータを ArcMap に追加するか、登録済みのデータを参照するマップ イメージ レイヤーを公開するためにデータを ArcGIS Pro に追加する場合、データのサブセットのみを含むデータベース ビューを定義します。データベース ビューはデータベースに格納されます。ビューの定義には、[データベース ビューの作成 (Create Database View)] ジオプロセシング ツールまたは SQL クライアントを使用できます。
- フィーチャ サービスの公開やポータルへの公開のためにデータを ArcMap に追加する場合は、[新しく追加したレイヤーを自動的に表示] オプションをオフにしてから、データをマップに追加します。次に、[レイヤー プロパティ] を開いて、SQL を使用してデータのサブセットを定義する [フィルター設定] を作成します。マップに表示されるデータの量を制限したら、レイヤーを表示して、公開するマップを準備します。
- 登録済みのデータを参照するフィーチャ レイヤーを公開する、またはポータルに公開するためにデータを ArcGIS Pro に追加する場合は、[新しく追加したレイヤーを自動的に表示] オプションをオフにしてから、データをマップに追加します。次に、SQL を使用してデータのサブセットを定義するレイヤーに対する [フィルター設定] を作成します。マップに表示されるデータの量を制限したら、レイヤーを表示して、公開するマップを準備します。
注意:
データの追加時に自動的に表示するようにマップを設定していない限り、データのサブセットをまだ定義していない場合は、データベース接続からマップにデータを直接ドラッグ アンド ドロップしないでください。データ ウェアハウス アプライアンスに保存されているような非常に大きなデータセットは、マップに表示されるのに非常に長い時間がかかるためです。
- ArcGIS を使用してフィーチャクラスを Teradata データベースに追加した場合、そのフィーチャクラスに対して指定した空間参照が Teradata システム テーブル内に存在しなければ、ArcGIS は、Teradata SPATIAL_REF_SYS テーブルと (結果的に) GEOMETRY_COLUMNS テーブルにレコードを追加します。
これによって、デフォルトで Teradata で提供される空間参照よりも多くの空間参照を使用できるようになります。ただし、Teradata のメジャー リリースにアップグレードすると、これらのテーブルが削除され、デフォルトの値のみを使用して再作成される場合があります。
Teradata をアップグレードする前に、使用しているデータベースを必ずバックアップしてください。Teradata のアップグレード後、必要な場合にテーブルを復元できるように、それらのテーブルのレコードを必ずバックアップに含めてください。データベースのアップグレード操作を行う際に、以下の一般的な手順に従って SPATIAL_REF_SYS レコードと GEOMETRY_COLUMNS レコードをバックアップおよび復元できます。
- データベースのバックアップを作成します。
- SPATIAL_REF_SYS テーブルと GEOMETRY_COLUMNS テーブルのコピーを作成するデータベースに接続します。
この例では、データベース名は mybackupdb です。
database mybackupdb;
- テーブルのバックアップ コピーを作成します。
この例では、コピー元のテーブルは sysspatial データベース内にあります。
CREATE TABLE mybackupdb.spatial_ref_sys AS sysspatial.spatial_ref_sys WITH DATA; CREATE TABLE mybackupdb.geometry_columns AS sysspatial.geometry_columns WITH DATA;
- Teradata ソース データベースをアップグレードします。
- テーブルのコピー先のデータベースに接続します。
- テーブルを、アップグレード済みのデータベースに復元します。
--Restore the geometry columns table. INSERT INTO sysspatial.geometry_columns SELECT * FROM mybackupdb.geometry_columns; --Restore the spatial_ref_sys table. INSERT INTO sysspatial.spatial_ref_sys SELECT * FROM mybackupdb.spatial_ref_sys MINUS SELECT * FROM sysspatial.spatial_ref_sys;
- テーブルの内容が復元されたら、そのテーブルのバックアップ コピーを削除できます。
DROP TABLE mybackupdb.spatial_ref_sys; DROP TABLE mybackupdb.geometry_columns;
- 必要に応じて、これらのテーブルに対する権限を、データベースにデータを作成するユーザーに再度付与してください。
ArcGIS でサポートされている Teradata Data Warehouse Appliance とクライアント ライブラリのバージョンをご確認ください。
サービスとしてのクラウドベースのデータベース
ArcGIS は、Microsoft Azure と Amazon Web Services (AWS) でサービスとしてのクラウドベースのデータベース製品を複数サポートしています。現在サポートされているサービスのリストについては、「クラウド内のデータベースで ArcGIS を使用するための要件」をご参照ください。
ArcGIS クライアントは、常に同じクラウド上の、クラウド データベースと同じ場所 (リージョン) に配置します。
ヒント:
Esri は Microsoft Azure および Amazon Web Services (AWS) を含む ArcGIS Enterprise および ArcGIS Pro のイメージを提供します。詳細については、「ArcGIS Enterprise の Microsoft Azure」および「ArcGIS Enterprise の AWS」をご参照ください。