ArcGIS でサポートされている PostgreSQL のデータ タイプ
データベースにテーブルを作成する、またはテーブルに列を追加すると、それらの列は特定のデータ タイプとして作成されます。データ タイプとは、有効な値、データで実行できる操作、およびその列のデータがデータベースに格納される方法を識別するための分類のことを指します。
ArcGIS からデータベース テーブルにアクセスすると、特定のデータ タイプを操作できます。カタログ ツリーの [Database Connections] ノードや ArcMap のクエリ レイヤからデータベース テーブルにアクセスする場合、ArcGIS はサポートされていないデータ タイプを除外します。データベース テーブルに直接アクセスする場合、サポートされていないデータ タイプは ArcGIS インタフェースには表示されず、ArcGIS からは編集できません。同様に、サポートされていないデータ タイプを含むテーブルを ArcGIS でコピーする場合、サポートされているデータ タイプのみがコピーされます。テーブルを別のデータベースやジオデータベースに貼り付けるときも、サポートされていないデータ タイプの列は対象外となります。
ArcGIS でフィーチャクラスまたはテーブルを作成したり、ArcGIS を使用して既存のテーブルまたはフィーチャクラスに列を追加したりするとき、フィールドに割り当てることのできる ArcGIS データ タイプは 12 種類あります。これらのタイプに対応しないデータベースのデータ タイプは、ArcGIS クライアントアプリケーションでは直接使用できません。
最初の列は ArcGIS データ タイプです。2 番目の列は、データベースに作成される PostgreSQL のデータ タイプです。3 番目の列は、ArcGIS で表示するときに、ArcGIS データ タイプにマップされるその他の PostgreSQL のデータ タイプ(存在する場合)を示しています。
ArcGIS データ タイプ |
作成された PostgreSQL のデータ タイプ |
表示可能なその他の PostgreSQL のデータ タイプ |
注意事項 |
---|---|---|---|
BLOB |
BYTEA |
||
DATE |
TIMESTAMP WITHOUT ZONE |
TIMESTAMP |
|
DOUBLE |
NUMERIC(p) |
BIG SERIAL、DOUBLE PRECISION |
ArcGIS で指定した精度と縮尺が、データベースに作成されるデータ タイプの結果に影響を与える場合があります。詳細は、「ArcGIS フィールド データ タイプ」をご参照ください。 |
FLOAT |
NUMERIC(p) |
ArcGIS で指定した精度と縮尺が、データベースに作成されるデータ タイプの結果に影響を与える場合があります。詳細は、「ArcGIS フィールド データ タイプ」をご参照ください。 |
|
GEOMETRY |
ST_GEOMETRY or GEOMETRY |
ジオデータベースでは、データベースに作成されるデータ タイプは、フィーチャクラスの作成時に使用されるコンフィグレーション キーワードの、GEOMETRY_STORAGE の設定によって決まります。 ST_Geometry およびジオメトリはスーパークラスです。ArcGIS for Desktop でフィーチャクラスを作成する場合、ST_Geometry として作成されるポイント フィーチャクラスは ST_Point サブタイプを格納に使用し、PostGIS ジオメトリとして作成されるポイント フィーチャクラスは Point サブタイプを格納に使用します。ArcGIS for Desktop で作成される他のすべてのタイプのフィーチャクラスには、スーパークラスが使用されます。SQL を使用して空間列を作成する場合には、実際に作成されるデータ サブタイプは、指定するサブタイプのタイプに依存します。 ST_Geometry をデータベースで使用するには、インストールする必要があります。詳細については、「PostgreSQL データベースへの ST_Geometry タイプの追加」をご参照ください。 PostGIS ジオメトリ タイプを使用するには、PostgreSQL データベース クラスタ内に PostGIS をインストールし、データベース自体を有効化して PostGIS を使用できるようにする必要があります。詳細については、PostgreSQL のドキュメントをご参照ください。 |
|
GLOBAL ID |
VARCHAR(38) |
ジオデータベースでのみサポートされています。 |
|
GUID |
VARCHAR(38) |
||
LONG INTEGER |
INTEGER |
SERIAL |
|
OBJECT ID |
ジオデータベースの INTEGER データベースの SERIAL |
ArcGIS の ObjectID タイプは、テーブル(またはフィーチャクラス)に登録された RowID 列です。1 つのテーブルにつき、1 つだけ存在します。 |
|
RASTER |
BYTEA or ST_RASTER |
ラスタはジオデータベースのみでサポートされます。作成される PostgreSQL データ タイプは、ラスタ カタログ、ラスタ データセット、またはモザイク データセットの作成時に使用される DBTUNE コンフィグレーション キーワードによって変わります。 ST_Raster を使用する場合は、別途、ジオデータベースに ST_Raster を構成する必要があります。詳細については、「PostgreSQL での ST_Raster タイプのインストール」をご参照ください。 |
|
SHORT INTEGER |
SMALLINT |
REAL |
|
TEXT |
CHARACTER VARYING |
CHARACTER、VARCHAR、TEXT |
テーブル内に ArcGIS でサポートされていないデータ タイプの列がある場合、その列をテキストにキャストできます。ただし、これを実行するのは、列内の値を表示したい場合だけにしてください。その列の値で分析を行う必要がある場合は、実行しないでください。たとえば、SELECT ステートメントを使用して、テーブル内の列を選択し、"total" という小数の列をテキストにキャストできます。
SELECT id, name, total::text
FROM me.mydb.tableb;