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