ArcGIS、ArcSDE、および Oracle のデータ タイプの比較

データベースにテーブルを作成する、またはテーブルに列を追加すると、それらの列は特定のデータ タイプとして作成されます。データ タイプとは、有効な値、データで実行できる操作、およびその列のデータがデータベースに格納される方法を識別するための分類のことを指します。

あるデータ タイプのデータを別のデータ タイプの列にインポートする際には、ArcSDE のデータ タイプと同等の DBMS(Database Management System)のデータ タイプを理解する必要があります。それがデータの内容に影響を与える可能性があるためです。また、ArcGIS でデータセットを新規作成する際には、ArcGIS と DBMS 間における同等のデータ タイプを理解しておくと効果的です。

ArcGIS でフィーチャクラスまたはテーブルを作成する際には、11 の有効なデータ タイプをフィールドに割り当てることができます。一方で、ArcGIS 以外でしか作成できないデータ タイプも存在します。

ArcSDE データ タイプ

Oracle データ タイプ

ArcGIS のデータ タイプ

注意

SE_STRING_TYPE

VARCHAR2

TEXT

テーブルの作成時に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが FALSE に設定されている場合、フィールドは VARCHAR2 として作成されます。

ArcGIS Desktop でフィールドを作成するときに、テキスト フィールドのサイズを 4,000 よりも大きく設定し、テーブルの作成時に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが FALSE に設定されている場合、Oracle データ タイプは CLOB になります。

SE_NSTRING_TYPE

NVARCHAR2

TEXT

テーブルの作成に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが TRUE に設定されている場合、フィールドは NVARCHAR2 として作成されます。

ArcGIS Desktop でフィールドを作成するときに、テキスト フィールドのサイズを 2,000 よりも大きく設定し、テーブルの作成に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが TRUE に設定されている場合、Oracle データ タイプは NCLOB になります。

SE_INT16_TYPE (SE_SMALLINT_TYPE)

NUMBER(n)

SHORT INTEGER

値 n は 1 ~ 5 の範囲内ですが、short integer 列に格納できる値は -32,768 ~ 32,767 の範囲に収まる値だけです。そのため、数値の精度を 5 に設定した場合でも、32,767 を超える数値または -32,768 未満の数値は、short integer 列に格納できません。

ArcGIS Desktop で作成した場合は、n = 5 になります。したがって、short integer を許容範囲内に収めることができます。

SE_INT32_TYPE (SE_INTEGER_TYPE)

NUMBER(n)

LONG INTEGER

OBJECTID

値 n は 5 ~ 10 の範囲内です。ただし、sdetable -o create 操作または ArcGIS Desktop で作成した場合、int32 は NUMBER(38) になります。

SE_INT64_TYPE

NUMBER(n)

na

値 n は 10 ~ 38 の範囲内です。

このデータ タイプの列を作成するには、サーバ コンフィグレーション パラメータ INT64TYPES が TRUE である必要があります。

SE_FLOAT32_TYPE (SE_FLOAT_TYPE)

NUMBER(n,m)

na

値 n は 1 ~ 7 の範囲内、値 m は 127 以下です。

SE_FLOAT64_TYPE (SE_DOUBLE_TYPE)

NUMBER(n,m)

na

値 n は 7 ~ 38 の範囲内、値 m は 127 以下です。

SE_DATE_TYPE

DATE

DATE

SE_UUID_TYPE

CHAR or NCHAR (UUID LEN)

GUID または Global ID

テーブルの作成に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが TRUE に設定されている場合、一意の ID フィールドは NCHAR として作成されます。

SE_BLOB_TYPE

BLOB

BLOB

SE_SHAPE_TYPE

ST_GEOMETRY*, NUMBER(38), or SDO_GEOMETRY

GEOMETRY

Oracle データ タイプはレイヤに指定されたジオメトリ格納タイプに依存するCompressed Binary または WKB(Well-Known Binary)の場合は NUMBER(38)、Oracle Spatial の場合は SDO_GEOMETRY、Spatial Type の場合は ST_GEOMETRY になります。

SE_XML_TYPE

SDE_XML or Oracle XML DB

na

XML 列は ArcGIS Desktop では提供されません。

SE_RASTER_TYPE

BLOB, LONG RAW, SDO_GEORASTER, or ST_RASTER

RASTER

Oracle データ タイプはレイヤに指定されたラスタ格納タイプに依存する

DECIMAL(31,8)

FLOAT

DECIMAL(31,8)

DOUBLE

SE_CLOB_TYPE

CLOB

TEXT

ArcGIS Desktop でフィールドを作成するときに、テキスト フィールドのサイズを 4,000 よりも大きく設定し、テーブルの作成時に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが FALSE に設定されている場合、Oracle データ タイプは CLOB になります。

SE_NCLOB_TYPE

NCLOB

TEXT

ArcGIS Desktop でフィールドを作成するときに、テキスト フィールドのサイズを 2,000 よりも大きく設定し、テーブルの作成時に指定したコンフィグレーション キーワードの UNICODE_STRING パラメータが TRUE に設定されている場合、Oracle データ タイプは NCLOB になります。

Oracle データ タイプの比較

*ST_Geometry はスーパークラスです。ArcGIS Deksktop でフィーチャクラスを作成する場合は、常に ST_Geometry が使用されます。SQL を使用して空間列を作成する場合、実際に作成されるデータのサブタイプ(ST_Multilinestring や ST_Point など)は、指定したサブタイプに依存します。


7/10/2012