データベースにテーブルを作成する、またはテーブルに列を追加するときに、列のデータ タイプを定義します。データ タイプによって次のことが決定します。
- 列に保存できる値
- その列のデータに対して使用できる操作
- 列のデータをデータベースに保存する方法
ArcGIS では、特定のデータ タイプを操作できます。[データベース接続]、クエリ レイヤー、または Web サービスからデータベース テーブルにアクセスする場合、ArcGIS はサポートされていないデータ タイプを除外します。ArcGIS にはサポートされていないデータ タイプは表示されないため、サポートされていないデータ タイプを ArcGIS から編集することはできません。同様に、ArcGIS を使用してサポートされていないデータ タイプを含むテーブルをデータベース間でコピーして貼り付ける場合、ArcGIS はサポートされているデータ タイプを使用する列のみを貼り付けます。
次のテーブルの最初の列は ArcGIS データ タイプです。2 番目の列は、ArcGIS が作成する SQL Server のデータ タイプです。3 番目の列は、ArcGIS 以外で作成したテーブルを表示するときに、ArcGIS データ タイプにマップされるその他の SQL Server のデータ タイプ (存在する場合) を示しています。最後の列には、必要に応じて追加情報が表示されています。
ArcGIS データ タイプ | 作成される SQL Server のデータ タイプ | 表示可能なその他の SQL Server データ タイプ | 備考 |
---|---|---|---|
BLOB | varbinary(max) | binary、image、timestamp、varbinary(n) | |
Date | datetime2(7) | datetime2(n)、datetime、smalldatetime | |
Double | numeric(p,s) | decimal、float、money、smallmoney | ArcGIS で指定した精度と縮尺が、データベースに作成されるデータ タイプの結果に影響を与える場合があります。詳細については、「ArcGIS フィールド データ タイプ」をご参照ください。 |
Float | numeric(p,s) | real | ArcGIS で指定した精度と縮尺が、データベースに作成されるデータ タイプの結果に影響を与える場合があります。詳細については、「ArcGIS フィールド データ タイプ」をご参照ください。 |
ジオメトリ |
| エンタープライズ ジオデータベースでは、作成される SQL Server のデータ タイプは、フィーチャクラスの作成時に使用されたコンフィグレーション キーワードの GEOMETRY_STORAGE パラメーターの設定によって変わります。SDEBINARY = int、GEOMETRY = ジオメトリ列、GEOGRAPHY = ジオグラフィ列。 フィーチャクラスの作成時に、データベースで GEOMETRY または GEOGRAPHY のどちらを使用するかを指定します。 デスクトップおよびワークグループ ジオデータベースでは、常に GEOMETRY タイプが使用されます。 ArcGIS は、次のジオメトリ サブタイプをサポートしていません。
| |
Global ID | uniqueidentifier | ジオデータベースでのみサポートされています。 | |
GUID | uniqueidentifier | ||
Long integer | int | ||
ラスター | BLOB, int | ラスター データ タイプは、ジオデータベースのみでサポートされます。 デスクトップおよびワークグループ ジオデータベースでは、ラスター タイプは常に BLOB データ タイプとして作成されます。 エンタープライズ ジオデータベースでは、作成される SQL Server データ タイプは、ラスター データセットまたはモザイク データセットの作成時に使用されるコンフィグレーション キーワードによって異なります。このキーワードの RASTER_STORAGE パラメーターが RASTERBLOB に設定された場合は BLOB 列が作成され、BINARY に設定された場合は int 列が作成されます。 | |
OBJECT ID | int(4) when created in an enterprise geodatabase integer with identity property when created in a database | ArcGIS の ObjectID タイプは、テーブル (またはフィーチャクラス) に登録された RowID 列です。1 つのテーブルにつき、1 つだけ存在します。 | |
Short integer | smallint | bit、tinyint | |
テキスト | varchar, nvarchar, varchar(max), nvarchar(max) | char、nchar |
テキスト データ タイプ
SQL Server データベースで varchar または varchar(max) フィールドを作成する場合、ArcGIS で表示するときには ArcGIS TEXT データ タイプにマップされます。ArcGIS から SQL Server データベースに テキスト フィールドを作成する場合、nvarchar または nvarchar(max) のいずれかが使用されます。
エンタープライズ ジオデータベースでは、UNICODE_STRING コンフィグレーション パラメーターが FALSE に設定されており、テキスト フィールドが 7,999 文字以下の場合、VARCHAR が使用されます。
UNICODE_STORAGE コンフィグレーション パラメーターが FALSE に設定されており、テキスト フィールドが 8,000 文字以上の場合、VARCHAR(MAX) が使用されます。
UNICODE_STRING コンフィグレーション パラメーターが TRUE に設定されており、テキスト フィールドが 3,999 文字の場合、NVARCHAR が使用されます。
UNICODE_STORAGE コンフィグレーション パラメーターが TRUE に設定されており、テキスト フィールドが 4,000 文字以上の場合、NVARCHAR(MAX) が使用されます。
ジオメトリ データ タイプ
表に示すように、ArcGIS は、Compressed Binary、SQL Server Geometry、および SQL Server Geography という 3 種類のジオメトリ データ タイプを SQL Server に作成および操作できます。
Compressed Binary
Esri Compressed Binary 格納タイプは、バイナリ格納メカニズムを使用してフィーチャ ジオメトリを格納します。Compressed Binary ジオメトリ格納は、ジオデータベースでのみ使用できます。Compressed Binary フィーチャクラスは、ビジネス テーブル、フィーチャ テーブル、空間インデックス テーブルという 3 つのテーブルで構成されます。
クライアント アプリケーションはジオメトリを整合チェックした後、ジオメトリ データを圧縮してジオデータベースに送信します。ジオデータベース側では、データは Compressed Binary 形式でフィーチャ テーブル (F テーブル) に格納されます。クライアント側でジオメトリを圧縮すると、データベース サーバーの負荷が軽減され、ジオメトリの送信にかかる時間が短縮されます。データの格納に必要な領域を最大で 40% 削減することで、空間データの効率的な格納と取得が可能になります。
ビジネス テーブルには属性と空間列が含まれています。空間列は、フィーチャ テーブルと空間インデックス テーブルへのキーとなります。
ビジネス テーブルとフィーチャ テーブル間のリレーションシップは、空間列とフィーチャ ID (FID) 列で管理されます。ArcGIS によって管理されるこのキーは一意です。
SQL Server Geometry
Microsoft Geometry タイプの概要を次に示します。Geometry タイプの詳細と使用方法については、Microsoft SQL Server のドキュメントをご参照ください。
- Microsoft Geometry タイプは、XY 座標系をサポートしています。
- レンダリングと空間的な比較には、平面 (平面地球、ユークリッド) の計算と頂点間の直線内挿が使用されます。
- OGC (Open Geospatial Consortium) の Simple Features for SQL Specification バージョン 1.1.9 に従い、SQL MM、ISO 規格に準拠しています。
SQL Server Geography
Microsoft Geometry タイプの概要を次に示します。Geography タイプの詳細と使用方法については、Microsoft SQL Server のドキュメントをご参照ください。
- Geography タイプは、GPS の緯度と経度など、多くの標準地理座標系をサポートしています。
Microsoft では、SQL Server データ ディクショナリで定義されている SRID と地理座標系を使用するように求めています。
- 計算と空間比較には、楕円 (丸い地球) モデルと、頂点間の線分の大楕円内挿が使用されます。
- Geography タイプは、地球 (回転楕円体) 規模のレイヤー範囲を使用します。
データの座標は、地球規模の範囲を超えることはできません。
ラスター データ タイプ
SQL Server のジオデータベースで使用されるデフォルトのラスター タイプは、BLOB タイプ (rasterblob) です。