各フィーチャクラスと各テーブルは、データ タイプごとに定義されたフィールドで構成されています。
フィーチャクラスおよびテーブルを作成する際には、各フィールドのデータ タイプを選択します。 選択したデータ タイプにより、フィールドが格納できるデータのタイプが決まるため、フィールドのデータ タイプは最も重要なプロパティとなります。 設定可能なその他のフィールド プロパティ (精度、スケール、フィールドの長さなど) は、フィールドのデータ タイプによっても決まります。
ArcGIS Pro においてフィールドに適用可能なデータ タイプの例としては、さまざまな数値型 (integers、float、double)、text、date only、timestamp offset、binary large object (BLOB)、globally unique identifiers (GUID) が挙げられます。 データ タイプの全一覧および各データ タイプに関する詳細については、「ArcGIS データ タイプ」をご参照ください。
ArcGIS Pro では、以下のいずれかの方法で、新規または既存のテーブルまたはフィーチャクラスのフィールドにデータ タイプを適用できます。
- フィールド ビュー
- フィーチャクラスの作成ウィザード
- [フィールドの追加 (Add Field)] ジオプロセシング ツール
- [フィールドの追加 (Add Fields)] ジオプロセシング ツール
- [テーブルの作成 (Create Table)] ジオプロセシング ツール
- [フィーチャクラスの作成 (Create Feature Class)] ジオプロセシング ツール
- [フィールド演算 (Calculate Field)] ジオプロセシング ツール
フィールドに最適なデータ タイプを選択することで、データ解析を行いやすくなり、パフォーマンスが向上し、正しいデータがテーブルとフィーチャクラス内に確実に保存されることで、データ完全性も向上します。 データ タイプとは何か、なぜデータ タイプが重要なのか、データ タイプがデータ保存要件にどのような影響を与えるのかを理解することで、データを最大限活用できるようになります。
ArcGIS データ タイプ
ArcGIS は、ジオデータベースで属性値を保存、管理するため、多くのデータ タイプに対応しています。
注意:
ArcGIS Pro 3.2 以降では、ジオデータベース、データベース、クラウド データ ウェアハウス、テキスト ファイルで新しいフィールド データ タイプがサポートされるようになりました。 レイヤーを使用して未登録のデータにアクセスする場合にこれらの新しいフィールド データ タイプを使用しないようにするには、クエリ レイヤーおよびテキスト ファイルの追加時に ArcGIS Pro 3.1 以前のリリースと互換性のあるフィールド タイプを使用するオプションが ArcGIS Pro 設定で有効になっていることを確認します。 このオプションはレイヤーに適用されますが、データ ソースからデータに直接アクセスする場合には適用されません。
ジオデータベースでサポートされている属性データ タイプは次のとおりです:
ヒント:
以下のリンクをクリックすると、各データ タイプの詳細を確認できます。
- 数値 - 次のいずれかの数値データ タイプ:
- Short - Short integer (16 ビット)
- Long - Long integer (32 ビット)
- Big integer - Big integers (64 ビット)
注意:
一部のクライアント アプリケーションは、このフィールド タイプを完全にはサポートしておらず、今後変更される場合もあります。 ArcGIS Pro の Object ID (64 ビット) と big integer (64 ビット) のフィールド タイプは、最大 53 ビットの safe integer 値の保存に限定されます。 53 ビット safe integer 値は、(-9007199254740991) ~ (9007199254740991) (-(253) -1 ~ (253) -1 とも表記) の範囲に対応します。 外部ソースから追加される Object ID (64 ビット) と big integer の 53 ビットより大きい値は、ArcGIS Pro クライアントから読み取れます。 ArcGIS Pro でこの範囲外の数値を記述または編集しようとすると、エラーが表示されます。 他のクライアントでは、値が丸められ、機能に不具合が出ることがあります。
- Float - 単精度 (32 ビット) 浮動小数点数
- Double - 倍精度 (64 ビット) 浮動小数点数
- Text - 特定の長さの英数字のセット。
- Date and Time - 次のいずれかの日時データ タイプ:
- Date - 日付と時間の値
- Date only - 日付のみで時間のない値
- Time only - 時間のみで日付のない値
- Timestamp offset - 日付、時間、および UTC からのオフセット値
- BLOB - 文書、写真などの大容量データの格納に使用されます。
- グローバル識別子 - 以下のいずれか:
- GUID - 中括弧 ({}) で囲まれた 36 文字のレジストリ形式の文字列を格納するデータ タイプ。 これらの文字列によって、ジオデータベース内およびジオデータベース間のフィーチャまたはテーブル行を一意に識別できます。 これらは、特にデータ管理、バージョニング、差分更新、レプリケーションなどの関連性を管理するため多く使用されます。
- Global ID - Global ID によって、ジオデータベース内およびジオデータベースのフィーチャまたはテーブル行を一意に識別できます。
- Object ID - Object ID は一意の整数フィールドで、NULL 値は使用できません。ArcGIS でジオデータベース テーブルやフィーチャクラスが作成されるときに追加されます。 この Object ID フィールドは、テーブルの行ごとに一意の ID を保存し、デフォルトでは 32 ビットの Object ID として、テーブルおよびフィーチャクラス内に作成されます。 Object ID フィールドに 21 億 4000 万よりも大きな値を保存する必要がある場合は、[Object ID の 64 ビットへの移行 (Migrate Object ID To 64 Bit)] ジオプロセシング ツールを使用して、Object ID フィールドを 64 ビットの Object ID に移行できます。
注意:
一部のクライアント アプリケーションは、このフィールド タイプを完全にはサポートしておらず、今後変更される場合もあります。 ArcGIS Pro の Object ID (64 ビット) と big integer (64 ビット) のフィールド タイプは、最大 53 ビットの safe integer 値の保存に限定されます。 53 ビット safe integer 値は、(-9007199254740991) ~ (9007199254740991) (-(253) -1 ~ (253) -1 とも表記) の範囲に対応します。 外部ソースから追加される Object ID (64 ビット) と big integer の 53 ビットより大きい値は、ArcGIS Pro クライアントから読み取れます。 ArcGIS Pro でこの範囲外の数値を記述または編集しようとすると、エラーが表示されます。 他のクライアントでは、値が丸められ、機能に不具合が出ることがあります。
- Raster - ラスター データ タイプをジオデータベースのフィーチャクラスまたはテーブルに追加して、ジオデータベースの内部に、またはジオデータベースと一緒に格納できます。 ラスターは、モバイル ジオデータベースではサポートされていません。
注意:
ファイル ジオデータベースとモバイル ジオデータベースのデータ タイプは、ArcGIS のデータ タイプと同じです。 ただし、データベース管理システム (DBMS)、クラウド データ ウェアハウス、ドキュメント データベースでは、ArcGIS のデータ タイプはデータべースのデータ タイプと対応し、データベースまたはデータ ウェアハウスによって異なる場合があります。 ArcGIS のデータ タイプがデータベースのデータ タイプにどのように対応するかの詳細については、「ArcGIS でサポートされているデータベースのデータ タイプ」をご参照ください。
数値
数値は、以下の数値データ タイプのいずれかで格納できます。
- Short - Short integer (16 ビット)
- Long - Long integer (32 ビット)
- Big integer - 多倍長整数 (64 ビット)
- Float - 単精度 (32 ビット) 浮動小数点数
- Double - 倍精度 (64 ビット) 浮動小数点数
下表に数値データ タイプ、その範囲、格納要件をまとめています。 この表に記載の範囲は、ファイルおよびモバイル ジオデータベースの範囲です。 有効範囲は、データベースとエンタープライズ ジオデータベースで少し異なります。
データ タイプ | 有効範囲 | サイズ (ビット) | アプリケーション |
---|---|---|---|
Short integer | -32,768 ~ 32,767 | 16 | 小数値を含まない特定の範囲内の数値 (コード値) |
Long integer | -2,147,483,648 ~ 2,147,483,647 | 32 | 小数値を含まない特定の範囲内の数値 |
Big Integer | -9,007,199,254,740,991 ~ 9,007,199,254,740,991 | 64 | 小数値を含まない特定の範囲内の数値 |
Float (単精度浮動小数点数) | 約 -3.4E38 ~ 1.2E38 | 32 | 小数値を含む特定の範囲内の数値 |
Double (倍精度浮動小数点数) | 約 -2.2E308 ~ 1.8E308 | 64 | 小数値を含む特定の範囲内の数値 |
数値を格納するデータ タイプを選択するときは、以下を考慮してください。
- 整数か小数のいずれの数値を格納するのがよいかを判断する
- 整数 - 4、5575、101,272、または 20 億 1,400 万を超える値など、小数位のない整数を格納する必要がある場合は、short、long、または big integer をそれぞれ指定します。
注意:
ArcGIS Pro では、フィールドのデータタイプは [short integer] や [long integer] ではなく、[short] や [long] と表示されます。
- 小数 - 小数位のある数値を格納する必要がある場合は、float データ タイプまたは double データ タイプを指定できます。 float または double (単精度浮動小数点や倍精度浮動小数点とも呼ばれます) を使用する場合、小数点は、フィールドのいずれの位置にあってもかまわないため、フィールドに格納されている値に応じてある位置から別の位置に浮動すると言われています。
- 整数 - 4、5575、101,272、または 20 億 1,400 万を超える値など、小数位のない整数を格納する必要がある場合は、short、long、または big integer をそれぞれ指定します。
利用する格納領域が最小のデータ タイプを使用します。
ArcGIS Pro でフィールドを作成する場合は、パフォーマンス向上のために、消費する格納領域が最小となるデータ タイプを選択することをお勧めします。 場合によっては、フィールド作成時に、フィールドのデータ タイプを short integer に指定しても、データ タイプが long integer に変更されることがあります。 コンピューターに格納できる桁数は、割り当てられる格納領域によって制限されます。
short integer、long integer、big integer のいずれかを選択する場合または float と double のどちらかを選択する場合は、格納する必要のある数値範囲で格納領域が最も少ないデータ タイプを選択します。 これにより、必要な記憶領域の量を最小限に抑えられるだけでなく、パフォーマンスも向上できます。
たとえば、-32,768 ~ 32,767 の整数だけを格納するには、4 バイトを消費する long integer データ タイプではなく、2 バイトを消費する short integer データ タイプを指定します。 -3.4E38 ~ 1.2E38 の有理数だけを格納するには、8 バイトを消費する double データ タイプではなく、4 バイトを消費する float データ タイプを指定します。
数値フィールド タイプを書式設定して、属性に追加のコンテキストを提供し、数字以上のものになるようにできます。 数値フィールドの書式設定は、現在のマップ内でのみ設定できるレイヤー プロパティです。
数値の書式設定をレイヤーまたはスタンドアロン テーブル内のフィールドに適用する方法の詳細については、「数値フィールドと日付フィールドの書式設定」をご参照ください。
Short
short データ タイプは 16 ビットの符号付き整数で、-32,768 ~ 32,767 の範囲の整数値のみを格納できます。 精度を 5 に設定したとしても、32,767 を超える値または -32,768 未満の値は、short integer フィールドに格納できません。 たとえば、4、515、または 29715 という整数は、short integer フィールドに格納できます。
Long
long データ タイプは 32 ビットの符号付き整数で、-20 億 1,400 万 ~ 20 億 1,400 万の範囲の整数値を格納できます。 2,147,483,648 を超える値または -2,147,483,647 未満の値は Long integer フィールドに格納できません。
Big Integer
big integer データ タイプは、64 ビットの符号付き整数で、-(253) -1 ~ 253 -1 の非常に大きな整数値を格納でき、格納容量が 8 バイトとなります。 - 214 万 ~ 214 万の long integer データ タイプの範囲を超える整数値を格納する必要がある場合は、big integer データ タイプを使用します。
注意:
一部のクライアント アプリケーションは、このフィールド タイプを完全にはサポートしておらず、今後変更される場合もあります。 ArcGIS Pro の Object ID (64 ビット) と big integer (64 ビット) のフィールド タイプは、最大 53 ビットの safe integer 値の保存に限定されます。 53 ビット safe integer 値は、(-9007199254740991) ~ (9007199254740991) (-(253) -1 ~ (253) -1 とも表記) の範囲に対応します。 外部ソースから追加される Object ID (64 ビット) と big integer の 53 ビットより大きい値は、ArcGIS Pro クライアントから読み取れます。 ArcGIS Pro でこの範囲外の数値を記述または編集しようとすると、エラーが表示されます。 他のクライアントでは、値が丸められ、機能に不具合が出ることがあります。
Float
float データ タイプは、単精度 32 ビット浮動小数点数値で、6 桁までの精度の数値のみを正確に格納できます。 たとえば、float タイプのフィールドに、6 桁を超える数値である 515297.15 を正確には格納できません。 この数値はファイル ジオデータベースの float タイプのフィールドに入力できますが、6 桁の数値である 515,297 に丸められます。 この数値を正確な精度で格納する必要がある場合は、double タイプのフィールドに格納します。 データベースおよびエンタープライズ ジオデータベースの float タイプのフィールドでは、そのフィールドの精度を超える桁数の数値を指定できないため、数値は丸められません。
Double
double データ タイプは、倍精度の 64 ビット浮動小数点数値で、データベースとジオデータベースに 15 桁までの数値のみを正確に格納できます。これは、15 桁の数値が 8 バイトの格納領域に格納できる最長の数値であるためです。 これを超える桁数の数値は丸められ、科学的表記法と同様の形式で格納され、概数となります。 たとえば、20 桁の数値「12,345,678,901,234,567,890」を入力した場合、この数値は丸められ、15 桁の数値「1.23456789012346E+19」として格納されます。 末尾にあるコード値「E+19」は、小数点の位置を表します。
精度とスケール
フィールドの精度とスケール プロパティは、そのフィールドに格納できるデータの最大精度とサイズを表します。
日付フィールドや数値フィールドなど、一部のフィールド タイプでは、精度プロパティの意味が異なります。 数値フィールドの場合、精度は、フィールドに格納可能な最大合計桁数を表します。 小数点以下であるかどうかにかかわらず、すべての桁が対象になります。 日付フィールドの場合、精度はミリ秒値を記録するキャパシティを表します。 標準の日付フィールドは秒単位で時間を記録し、精度値 0 を表示します。 高精度に移行された日付フィールドはミリ秒単位で時間を記録し、精度値 1 を表示します。
スケールは、float データ タイプまたは double データ タイプにのみ使用されるフィールド プロパティで、数値の小数点の右 (正の場合) または左 (負の場合 - ほとんど使用されません) の桁数を表します。 たとえば、4703338.13 という数値のスケールは 2、精度は 9 です。
精度とスケールを指定することにより、フィールドに設定可能な値の範囲と数値形式を制限できるため、より厳密な制御が可能になります。 たとえば、フィールドのタイプとして精度が 4、スケールが 2 の float を指定する場合、46.22 の値を設定することができます。 このフィールドに 46.223 を入力しようとすると、最大桁数と小数点以下桁数を超えているため、エラー メッセージが表示されます。 代わりに、フィールドのタイプとして精度が 5、スケールが 3 の float を指定した場合は、46.223 という値を格納できます。
ファイル ジオデータベースまたはモバイル ジオデータベースの精度とスケール
ファイル ジオデータベースとモバイル ジオデータベースでは、ユーザーが精度値とスケール値を定義できないため、これらは表示されません。 そのため、ファイル ジオデータベースまたはモバイル ジオデータベースのテーブルまたはフィーチャクラスに数値フィールドを追加する場合は、データ タイプを指定するだけで済みます。 精度またはスケールの値を指定した場合はデータ タイプが無視され、精度とスケールのプロパティはフィールド ビューには表示されません。
ファイルまたはモバイル ジオデータベースの float データ タイプのフィールドには、6 桁までの精度の数値しか格納できません。 たとえば、float タイプのフィールドに、6 桁を超える数値である 410534.208 を格納することはできません。 この数値はファイル ジオデータベースの float タイプのフィールドに入力できますが、6 桁の数値である 410534 に丸められます。 そのため、410534.208 という数値を正確な精度で格納するには、double タイプのフィールドに格納する必要があります。
データベースまたはエンタープライズ データベースにおける精度とスケール
データベースまたはエンタープライズ ジオデータベースのテーブルまたはフィーチャクラスに数値フィールドを追加する場合は、精度 (フィールドの最大の長さ) を指定できます。 フィールドが float または double データ タイプの場合は、フィールド値のスケール (小数点以下桁数の最大数) も指定できます。 エンタープライズ データベースとデータベースの float フィールドには、フィールドの精度に使用される桁数よりも多いスケールの桁を格納できないため、数値の四捨五入は行われません。
下表に、フィールド ビューでフィールドを追加するときに指定できる精度値とスケール値をまとめています。 精度は常にスケールより大きい値でなければなりません。 整数タイプには小数値が格納されていないため、スケールは整数タイプに適用されません。 この情報は、データ タイプ、精度、スケールを選択する際に役立ちます。
データ タイプ | 精度 (フィールドの長さ) | スケール (小数点以下桁数) |
---|---|---|
| 0 | |
| 0 | |
| 0 | |
1-6 | 1-6 | |
7+ | 1+ |
*ArcGIS Pro のデフォルトでは、short integer が精度 5 で作成されます。 ただし、short integer 列に格納できる値は、-32,768 ~ 32,767 の範囲内の値だけです。 精度を 5 に設定したとしても、32,767 を超える値または -32,768 未満の値は、short integer フィールドに格納できません。 ArcGIS Pro 以外のデータベースでは、Oracle で作成された short integer 列に精度を指定する必要はありません。
数値の範囲とそれをデータベースまたはエンタープライズ ジオデータベースに格納する方法の例を次の表に示します。
有効範囲 | データ タイプ | 精度 (フィールドの長さ) | スケール (小数点以下桁数) |
---|---|---|---|
0 ~ 99 | Short integer | 2 | 0 |
-99 ~ 99* | Short integer | 3 | 0 |
-32,768 ~ 32,767* | Short integer | 5 | 0 |
-99,999 ~ 99,999* | Long integer | 5 | 0 |
-9,007,199,254,740,991 ~ 0* | Big Integer | 19 | 0 |
0 ~ 9,007,199,254,740,991 | Big Integer | 18 | 0 |
0.001 ~ 0.999 | Float | 4 | 3 |
1,000.00 ~ 9,999.99 | Float | 6 | 2 |
-123,456.78 ~ 0* | Double | 9 | 2 |
0 ~ 1,234.56789 | Double | 9 | 5 |
* 負数の場合はマイナス記号を格納するための追加の精度が必要です。
Text
テキスト フィールドは、文字列を表します。 これには、ストリート名、属性プロパティ、その他のテキスト記述が含まれます。 ジオデータベースのテキスト属性を繰り返し使用する場合は、コード値を設定するという方法もあります。 この場合、テキスト記述は数値でコード化されます。 たとえば、道路タイプを数値でコード化する場合には、舗装された道路に 1、砂利の道路に 2 などを割り当てます。 この方法には、ジオデータベースで使用される格納領域が少なくなるという利点がありますが、ユーザーがコード値を理解する必要があります。 ジオデータベース内のコード値ドメインでコード値を定義し、コードを格納する整数フィールドにこのドメインを関連付けると、ArcGIS Pro でテーブルを表示した際にテキスト記述が表示されます。
テキストに使用される文字は言語によって異なります。 言語間でのテキストの変換を容易にするために、ArcGIS では文字のエンコーディングに Unicode を使用しています。
日時
データセットの多くは日時 (時系列) 情報を格納します。 日時の値は、いつフィーチャが特定の場所にあったか、またはいつフィーチャが実世界で最初に観測されたか、を表します。 あるいは、日時は、財産が売られた日時、最後にサンプルが特定の水域から取得された日時、または消防車が特定の消防署から配車された日時など、その他の非空間属性に関連する場合があります。
以下の Date データ タイプまたは Time データ タイプのいずれかに一時的な値を格納できます。
- Date - 精度が秒 (低精度) またはミリ秒 (高精度) までの日付と時間の値。
ヒント:
ArcGIS Pro 3.2 から、テーブル内の日付フィールドを高精度に移行して、ミリ秒の時間をサポートできます。
- Date only - 日付のみで時間のない値
- Time only - 秒までの時間のみで日付のない値
- Timestamp offset - 日付、時間、協定世界時 (UTC) ゾーンのオフセット
注意:
ArcGIS Pro 3.1 3.1 以前のクライアントは、date only、time only、timestamp offset、big integer、64-bit object ID データ タイプのフィールドが含まれているジオデータベース テーブルまたはフィーチャクラスにはアクセスできません。 これらのデータ タイプは ArcGIS Enterprise 11.5 に公開できますが、完全にサポートされていないため、ArcGIS Enterprise 11.5 Web レイヤーでの使用はベータ版の機能と見なされます。
日時データ タイプにアクセスできるツールには、フィールド ビュー、[フィールドの追加 (Add Field)] ジオプロセシング ツール、フィーチャクラスの作成ウィザード、[フィーチャクラスの作成 (Create Feature Class)] ジオプロセシング ツールなどがあります。
ArcGIS Pro では、フィールド ビューのレイヤーまたはテーブルのフィールドを表示および管理できます。 これにより、テーブル内の一連のフィーチャまたはオブジェクトで共有される属性をモデリングできます。 フィールド ビューでは、フィールドおよびプロパティの編集、フィールドの削除、および新たなフィールドの作成が可能です。
レイヤーまたはテーブルのフィールドの作成、削除、および変更の詳細
複数の日付形式から好みのものを選択して、[日付] カテゴリに適用できます。 Date フィールド タイプまたは時間フィールド タイプに書式設定を適用することで、日時の値のコンテキストがより明確になり、日時の値が読み取りやすくなります。 Date フィールドの書式設定は、現在のマップ内のレイヤーにのみ設定できるレイヤー プロパティです。 日付の書式設定をレイヤーまたはスタンドアロン テーブル内のフィールドに適用する方法の詳細については、「数値フィールドと日付フィールドの書式設定」をご参照ください。
下表に date と time データ タイプ、その形式、書式設定とユース ケースの例をまとめています。
Date フィールド タイプ | 説明 | 日時形式 | 例 | 使用例 |
---|---|---|---|---|
フィールド タイプは Date です。 Date タイプのフィールドは、秒までの精度の日付の値と時間の値に対応します。 |
|
Date + Time
| すべてが UTC またはすべてが同じローカル タイム ゾーンの時間値。
| |
Date フィールドを高精度に移行して、ミリ秒の時間値をサポートできます。 | 高精度 date フィールド
| Date + High-Precision Time
| すべてが UTC またはすべてが同じローカル タイム ゾーンの高精度時間値。
| |
フィールド タイプは Date Only です。 Date Only フィールドには、日付値を指定できます。時間値は指定できません。 |
|
Date
| 日単位、もしくは 1 日全体に適用される、または 1 日全体を表す属性値の単位で収集されたデータ。
| |
フィールド タイプは Time Only です。 time only フィールドには、時間値を指定できます。日付値は指定できません。 |
| 時間
| 毎日繰り返されるデータ、または時間コンポーネントのみが重要となるコンテンツ。
| |
フィールド タイプは Timestamp Offset です。 Timestamp Offset フィールドは、協定世界時 (UTC) ゾーンの日付、時間、タイム ゾーン オフセットに対応しています。 |
|
Date + Time + UTC offset
| ローカル時間の値が重要となり、日付が複数のタイム ゾーンにまたがることのある時間値。
|
ファイル ジオデータベース、モバイル ジオデータベース、エンタープライズ ジオデータベースに含まれるこれらの新しい日時フィールド タイプを使用して、フィーチャクラスまたはテーブル作成または更新できます。 新しい日時フィールド タイプの一部は、使用されるデータベースによってはサポートされず、新しい日時フィールド タイプを追加できない場合があります。 フィールドをテーブルまたはフィーチャクラスに追加するときに、選択したデータ タイプがワークスペースでサポートされていない場合は、[ワークスペースではこのデータ タイプはサポートされていません] というエラーが表示されます。 ワークスペースでサポートされているデータ タイプを使用する必要があります。
各種データベース ワークスペースでサポートされているデータ タイプの詳細については、「ArcGIS でサポートされているデータベースのデータ タイプ」と「ArcGIS でサポートされているクラウド データ ウェアハウスのデータ タイプ」をご参照ください。
Date
日付属性の表示、計算、または選択に応じて、ArcGIS Pro の date データ タイプを操作するための適切な方法を定める必要があります。 ジオデータベースのデータ ソースは、Date データ タイプを使用して日付を格納します。 Date データ タイプには、日付、時間、または日付と時間を格納することができます。 この情報を表現するデフォルト形式は、mm/dd/yyyy hh:mm:ss と AM または PM の指定です。 ArcGIS でテーブル内の date フィールドに入力した日付は、この形式に変換されます。
注意:
- Date フィールドは、日付と時間の値をサポートしており、必ず低精度値として作成され、デフォルトで秒単位までの精度での時間値の格納をサポートしています。
- ArcGIS Pro では、100 CE より前の日付の値を挿入または表示できません。 時間を格納する日付タイプを使用している場合、00:00:00 の時間は午前 12 時 (真夜中) と同じです。
Date フィールドの値を計算して、フィールドに値を入力したり、フィールドのクエリを実行したりする場合は、日付を MM/DD/YYYY hh:mm:ss 形式で入力し、単一引用符で囲む必要があります。 Date フィールドへの時間のみの格納はサポートされていません。時間は常に日付のコンポーネントです。 時間を指定しない場合、時間はデフォルトで 12:00 am となります。ArcGIS Pro は、システムの短い日付形式 (数値) を使用して日付を表示します。
Microsoft Windows システムの設定によって、M/D/YY、MM/DD/YY、YY/MM/DD のように、日付が ArcGIS Pro でどのように表示されるかが決まります。 ArcGIS Pro は、日付の表示にシステムの短い日付形式 (数値) を使用します。 これらはデフォルトの形式ですが、テーブルとポップアップで日付が異なる形式で表示されるようにすることもできます。
[属性検索 (Select Layer By Attribute)] ジオプロセシング ツールや、それに類似するクエリ作成のダイアログ ボックスを使用した date フィールドの値の選択と表示は、SQL 構文を使用して行います。 Date フィールドの値の選択と表示に使用される SQL 構文は、データベースの種類によって異なります。 この詳細については、「ArcGIS で使用されるクエリ式の SQL リファレンス」のトピックをご参照ください。
日付フィールドの高精度への移行
[日付フィールドを高精度に移行 (Migrate Date Field to High Precision)] ジオプロセシング ツールを使用して、テーブルの Date フィールドを高精度に移行します。 日付フィールドを高精度に移行すると、日付フィールドの時間値を 1,000 分の 1 秒、すなわちミリ秒単位まで対応させ、MM/DD/YYYY hh:mm:ss.sss の形式で表示できるようになります。
注意:
- ArcGIS Pro 3.1 3.1 以前のクライアントは、ミリ秒の時間値を含むよう移行された date フィールドが含まれているジオデータベース テーブルまたはフィーチャクラスにはアクセスできません。
- Date フィールドを高精度に移行したら、そのフィールド自体を元に戻すことはできません。 Date フィールドを低精度の日付に戻すには、新しい date フィールド (低精度) を作成し、[フィールド演算 (Calculate Field)] ジオプロセシング ツールを使用して、この新しい date フィールド (低精度) に高精度日付フィールドの値を格納します。
ArcGIS Pro では、アスタリスク (*) は、特殊なプロパティが特定のフィールドに関連付けられていることを示します。 Date フィールドを高精度に移行したら、[フィールド] ビュー内の高精度日付フィールドの名前の隣にアスタリスクが表示されます。
注意:
フィーチャクラスの作成ウィザードを使用して高精度日付フィールドをインポートすると、低精度日付としてインポートされます。 高精度日付フィールドを含む XML ワークスペース ドキュメントをインポートすると、高精度日付値が保持されます。
Date Only
date only データ タイプは、時間を含まない特定の日付を表します。 時間コンポーネントがないため、当日の開始から終了までを 1 日として表します。 この構造は、誕生日、記念日、祝日、ビジネス関連の日付など、特定の日付を格納するのに最適です。
時間コンポーネントを無視して日付データ タイプを使用することも可能ですが、date タイプではなく date only タイプを使用することにも利点があります。たとえば、date データ タイプが 1 つのタイム ゾーン分オフセットされる場合、date データ タイプを前日または翌日にずれることがあります。 date only はタイム ゾーン分オフセットされることなく、必ず設定された日付を表します。
ArcGIS Pro で選択できる date only データ タイプの書式設定オプションでは、データ値がどのように表示されるかのみが変更され、データがどのように格納されるかや、データをどのように入力できるかには影響はおよびません。 たとえば、下図は、date only データ タイプの書式設定の例を示しています。
詳細は、「数値フィールドと日付フィールドの書式設定」をご参照ください。
Time Only
time only データ タイプは、24 時間の時間を表し、時間のみを表す必要がある場合に date データ タイプの代わりに使用できます。 time only データ タイプは、不特定の日付の時間、分、秒を表すため、このデータ タイプの時刻の値は、00:00:00 ~ 23:59:59 の範囲に限定されます。ArcGIS Pro で選択可能な time only フィールドの書式設定オプションでは、時間値がどのように表示されるかが変更されるだけで、データがどのように格納されるか、データをどのように入力できるかには影響はおよびません。 詳細は、「数値フィールドと日付フィールドの書式設定」をご参照ください。
time only データ タイプは時刻の値を表すため、値を追加すると、時間は 24 時間の時間枠内で前後に適宜ずれます。
次のような例があります。
- ある従業員の業務シフトが 18:00 に開始され、8 時間継続する場合、time only 値に 8 時間を追加すると、2:00 にずれます。
- ある企業の終業時間が 1:30 A.M. を表す 01:30:00 として格納されており、この企業が最近、月曜日と火曜日に従来より 4 時間早く終業することを決定した場合は、01:30:00 から 4 時間を差し引くと、新しい終業時間が 21:30:00 (9:30 P.M.) まで後ろにずれます。
ArcGIS Pro で選択できる time only データ タイプの書式設定オプションでは、時間値がどのように表示されるかのみが変更され、時間値がどのように格納されるかや、時間値をどのように入力できるかには影響はおよびません。 たとえば、下図は、time only データ タイプの書式設定の例を示しています。
詳細は、「数値フィールドと日付フィールドの書式設定」をご参照ください。
Timestamp Offset
timestamp offset データ タイプは、タイム ゾーン認識とともに date データ タイプのすべての機能を備えており、これを使用することで、日時の値が時刻のある時点を一意に表すよう、日時を操作できるようになります。 timestamp offset は、ローカル時間と UTC (協定世界時。公式にはグリニッジ標準時) の差 (時間と分で表現) です。
timestamp offset データ タイプを使用すると、UTC とのオフセット (差) がわかっている日時を操作できます。 timestamp offset データ タイプは、日時値とその時間と UTC とのオフセットを組み合わせたものです。 UTC との関係から、個別の日時値は、時刻のある時点を一意に表します。 これにより、日付値と比べて、timestamp offset 値を 1 つのコンピューターから別のコンピューターにより移行しやすくなっています。
timestamp offset 値にはオフセットが含まれていますが、タイム ゾーンを完全に認識したデータ構造とはいえません。 UTC とのオフセットはタイム ゾーンの 1 つの特徴ですが、あるタイム ゾーンを一意に識別するものではありません。 複数のタイム ゾーンが同程度の UTC とのオフセットを共有しているだけでなく、サマータイムが適用される場合はある 1 つのタイム ゾーンのオフセットが変わります。
ArcGIS Pro で選択できる timestamp offset データ タイプの書式設定オプションでは、値がどのように表示されるかのみが変更され、値がどのように格納されるかや、値をどのように入力できるかには影響はおよびません。 たとえば、下図は、timestamp offset データ タイプの書式設定の例を示しています。
詳細は、「数値フィールドと日付フィールドの書式設定」をご参照ください。
Global ID
Global ID、GUID (Globally Unique Identifier)、UUID (Universally Unique Identifier) の各タイプの一意識別子は、128 ビットで構成され、文字列として表されます。 これらの構造と目的は基本的には同じですが、具体的な用途や管理方法は適用されるコンテキストによって異なります。
たとえば、Global ID は ArcGIS ジオデータベース内で明示的に使用され、ジオデータベースによって自動的に割り当てられて管理されます。 GUID はより一般的な用語であり、各種システム、データベースや、Microsoft 製品をはじめとするさまざまなプログラミング環境で幅広く使用され、開発者が必要に応じて手動で生成することができます。 Global ID と GUID はその基礎として同じ UUID (Universally Unique Identifier) 規格に基づき、準拠しています。
Global ID
ArcGIS Pro における Global ID は UUID (Universal Unique Identifier) の一種であり、行やフィーチャが作成されるとジオデータベースによって値が自動的に割り当てられて管理されます。 Global ID によって、テーブルまたはデータセット内の各行またはフィーチャは変更できない一意のフィンガープリントを持つことになるため、1 つのジオデータベース内および複数のジオデータベース間でデータの一意性を維持するための信頼性の高い手段が提供されます。
Global ID データ タイプと GUID データ タイプでは、合計 36 文字 (128 ビット) の文字と数字から成るレジストリ形式の文字列が格納されます。 Microsoft SQL Server のジオデータベースを除いて、どのジオデータベースでも、Global ID はテキスト フィールドに格納され、テキスト Global ID フィールドに格納されている文字は常に大文字になり、中括弧で囲まれます (例: {C53E50CE-BA05-45C5-8E0C-A516B08E4201})。
注意:
Microsoft SQL Server で作成されたエンタープライズ ジオデータベースでは、Global ID はネイティブ GUID フィールド データ タイプに格納され、Global ID と GUID の値は 16 バイトとして格納されます。 ネイティブ GUID データ タイプを持たないデータベースでは、GUID が 38 バイトの形式で格納されます。
GlobalID フィールド データ タイプはジオデータベースでのみサポートされており、ジオデータベース内のテーブル、フィーチャクラス、フィーチャ データセットに追加することができます。
Global ID をデータセットに追加するには、次のいずれかの方法を使用します。
- Global ID の追加ジオプロセシング ツールを使用します。
- ジオデータベース データセット プロパティにアクセスする際に、[管理] タブから [Global ID] を有効化することができます。
Global ID が生成されると、使用されているデバイスと作成時間の両方がプロセスで考慮されるようになるため、値が重複する可能性が極めて低くなります。 このツールを実行した後、データセットの属性テーブルを開いて、GlobalID フィールドが追加されたことを確認できます。 GlobalID という名前の新しいフィールドが表示され、各行に一意の値が含まれているはずです。 GlobalID フィールドがデータセットに追加された後は、これらの Global ID の値がジオデータベースで自動的に生成されて管理されます。 たとえば、データセット内に新しいフィーチャが作成された場合、Global ID の値がそのフィーチャに自動的に割り当てられます。
ArcGIS においては、Global ID は、データ リレーションシップ、オフライン編集、アタッチメントなどの機能や、異なるジオデータベース間での一意識別が不可欠なシナリオで主に必要となります。
Global ID を使用する必要があるジオデータベース機能の例を次に示します。
- アタッチメント - 画像やドキュメントなどのファイルをフィーチャ サービスのフィーチャに添付するには、Global ID を使用して、添付ファイルを正しいフィーチャにリンクする必要があります。 ジオデータベース フィーチャクラスでアタッチメントが有効になっている場合、Global ID オプションも自動的に有効になります。
- 属性ルール - 属性ルールを作成する前に、データセットで Global ID が有効になっていることを確認します。 Global ID によって各フィーチャは一意かつ永続的に識別されるため、属性ルール適用時にデータが正しく検証され、データの一貫性が確保されます。
- ブランチ バージョンニング ワークフロー - データセットをブランチ バージョン対応登録するには、そのデータセットに Global ID フィールドが含まれている必要があります。 バージョニングがある複雑な編集環境において、Global ID は異なるバージョン間での変更の記録のための信頼性の高い手段を提供します。
- 分散コラボレーション - 分散コラボレーションでは、異なる組織間で特定のフィーチャに対して行われた変更を記録するためにこれらの一意の識別子が使用されているため、同期が有効になっているフィーチャ サービスで使用されているデータに対して Global ID を使用することで、コラボレーション ワークスペースで共有されている場合のフィーチャ レイヤーの編集内容を参加者間で適切に同期する必要があります。
- ジオデータベース レプリケーション - 一方向または双方向のジオデータベース レプリケーションに関連する各データセットには Global ID 列が存在しなければなりません。 この列により、ジオデータベース間の行の一意性が維持され、レプリカ間で変更内容が正確に反映されます。
- リレーションシップ - Global ID をリレーションシップで使用することで、関連データの整合性が維持されます。 リレーションシップ クラスで、関連元テーブル内の Global ID フィールドが主キーとして使用されている場合、関連先テーブル内の GUID フィールドを外部キーとして使用する必要があります。
- オフライン フィーチャ サービス - ArcGIS でオフライン フィーチャ サービスを使用している場合には Global ID が必要です。Global ID はオフラインで作業しているときにフィーチャを一意に識別子してデータを適切に同期するために必要なので、非接続環境で編集内容やフィーチャ間のリレーションシップを管理するために不可欠です。
アペンド ツールなどの一部のジオプロセシング タスクでは、データを付加する際に Global ID を維持する環境設定オプションがあります。 このシナリオで、Global ID を維持環境設定がオンになっている場合、ターゲット データセットに行を付加する際には、既存の入力データセットの Global ID の値が再使用されます。
Global ID を維持環境設定の詳細
Global ID に関する注意事項
Global ID を使用する際には、以下の点に注意してください。
- データベースまたはクラウド データ ウェアハウスのテーブルに Global ID を追加することはできません。
- ジオデータベース内のスタンドアロン フィーチャクラス、テーブル、および属性リレーションシップ クラスに Global ID を追加することができます。 Global ID をフィーチャ データセット内の個々のデータセットに追加することはできません。Global ID はフィーチャ データセット全体に適用する必要があります。 フィーチャ データセットで Global ID が有効になっている場合、Global ID はフィーチャ データセット内のすべてのデータセットに追加されます。
- 既存の Global ID 列が存在する場合に、[Global ID の追加 (Add Global IDs)] ツールを実行すると、既存の Global ID 列を削除して新しい Global ID 列を追加するのではなく、元の列が未変更のままになります。
- ジオデータベース内のフィーチャ データセットにフィーチャクラスを追加し、Global ID 列を追加する場合、そのフィーチャ データセットに対して [Global ID の追加 (Add Global IDs)] ツールを実行する必要があります。 これにより、新しいフィーチャクラスに Global ID 列が追加されます。 フィーチャ データセット内で、既存の Global ID 列を含むフィーチャクラスは、未変更のままになります。
- コピーと貼り付け、データの抽出、XML ワークスペースのエクスポートとインポートを実行すると、出力ジオデータベースで Global ID 値が維持されるため、一意でない Global ID がデータベースに格納される可能性があります。 他のデータ エクスポートまたはインポート方法では、Global ID 値は維持されません。
GUID
ArcGIS では、その他の GUID フィールドを作成して使用することもできます。 ジオデータベース内の GUID フィールドは、Global ID を格納できるフィールドです。 GUID フィールドには本質的に Global ID と同じタイプの 36 文字の値が格納されますが、GUID フィールドは空であり、これらの GUID フィールドの値はユーザーが手動で設定および管理する必要があります。 つまり、GUID フィールドは、Global ID フィールドとは異なり、削除、編集、名前変更できます。
フィールド ビューを使用したり、[フィールド] タブの [編集] グループにある [新規] ボタンをクリックして新しいフィールドを追加するなど、さまざまな方法によって 1 つ以上の GUID フィールドをジオデータベース データセットに追加することができます。
「フィールドの作成と管理」を参照するか、ArcGIS Pro でテキスト フィールドの値を GUID フィールドに設定する方法についての技術情報を参照します。
Object ID
ArcGIS でテーブルを作成すると、NULL 値が許可されない一意の整数フィールドが 32 ビット オブジェクト識別子 (Object ID) としてテーブルに追加されます。 ArcGIS によって維持される Object ID フィールドは、テーブル内の各行が一意の ID を持つことを保証します。 32 ビット Object ID フィールドの基本データ タイプはジオデータベースの long データ タイプですが、これは符号付き 32 ビット整数であるため、テーブルまたはレイヤーの属性テーブルでは、通常、テーブルの Object ID (OID) と Web フィーチャ レイヤーおよびシェープファイルの FID のエイリアスの下にこの Object ID フィールドが表示されます。 選択セットのスクロールや表示などの主な機能は、このフィールドが存在するかどうかに依存します。
Object ID は、テーブルをエンタープライズ ジオデータベースに登録する際にも必要となります。 テーブルを登録する際の Object ID の要件については、「ジオデータベースへのテーブルまたはビューの登録」をご参照ください。
[個別属性] ツールなど、ArcGIS Pro の大部分の機能では、Object ID フィールド内の値が一意でなければなりません。 このため、ArcGIS の外部でデータを直接操作する際には、Object ID が重複しないよう注意してください。 たとえば、1 対多のリレーションシップを持つデータベースでビューを作成するときに Object ID が重複する可能性があります。 Object ID が重複している場合、ArcGIS Pro の機能が正常に動作しなくなります。
データベース テーブルをマップに追加する場合には、Object ID が必要です。 ArcGIS が Object ID として使用する NULL 以外の整数フィールドを検出できない場合、Object ID として使用するフィールドを選択するように求められます。 詳細については、「一意識別子フィールド」をご参照ください。
注意:
ArcGIS はこれらのデータベース フィールド内の値を管理せず、これらのフィールド内のすべての値が一意であることは保証されません。
64 ビット オブジェクト ID
ジオデータベースのテーブルとフィーチャクラスは、デフォルトで 32 ビットの Object ID を使用して ArcGIS に作成されます。 ただし、状況によっては、Object ID の値を 21 億 4,000 万より大きくする必要があります。 たとえば、30 億を超えるユーティリティ フィーチャを含むデータセットをモデル化する必要がある場合や、数十億行のクラウド データ ウェアハウス内のテーブルを操作する必要がある場合が考えられます。
[Object ID を 64 ビットへ移行 (Migrate Object ID To 64 Bit)] ジオプロセシング ツールは、1 つ以上のジオデータベース フィーチャクラスまたはテーブルを入力データセットとして受け付け、それらのオブジェクト ID フィールドを 64 ビット オブジェクト ID フィールドに移行します。 64 ビット Object ID フィールドの基本データ タイプはジオデータベースの big integer データ タイプです (非常に大きい整数値を格納可能な、より大きな符号付き 64 ビット整数であるため)。
注意:
一部のクライアント アプリケーションは、このフィールド タイプを完全にはサポートしておらず、今後変更される場合もあります。 ArcGIS Pro の Object ID (64 ビット) と big integer (64 ビット) のフィールド タイプは、最大 53 ビットの safe integer 値の保存に限定されます。 53 ビット safe integer 値は、(-9007199254740991) ~ (9007199254740991) (-(253) -1 ~ (253) -1 とも表記) の範囲に対応します。 外部ソースから追加される Object ID (64 ビット) と big integer の 53 ビットより大きい値は、ArcGIS Pro クライアントから読み取れます。 ArcGIS Pro でこの範囲外の数値を記述または編集しようとすると、エラーが表示されます。 他のクライアントでは、値が丸められ、機能に不具合が出ることがあります。
[Object ID を 64 ビットへ移行 (Migrate Object ID To 64 Bit)] ジオプロセシング ツールを使用すると、フィーチャ データセットを [入力データセット] 値として提供することにより、トポロジまたはパーセル ファブリックに参加するフィーチャクラスの Object ID フィールドを移行できます。 また、このツールでは、リレーションシップ クラスの Object ID フィールドの移行も行えます。
注意:
64 ビット Object ID を格納するよう Object ID フィールドを移行すると、変更を元には戻せず、データセットを ArcMap または古いバージョンの ArcGIS Pro で使用できなくなります。 また、ジオデータベース レプリカ内のテーブルまたはフィーチャクラスに 64 ビット Object ID が含まれている場合、そのテーブルまたはフィーチャクラスを使用することもできません。
フィーチャクラスまたはテーブルに 32 ビット Object ID か 64 ビット Object ID のどちらを格納できるかを確認するには、[カタログ] ウィンドウのフィーチャクラスまたはテーブルを右クリックするか、[コンテンツ] ウィンドウのレイヤーを右クリックして、[プロパティ] > [ソース] > [データ ソース] をクリックします。 サポートされているビット レベルは、[ObjectID] 行に表示されています。
ラスター
フィーチャのフィールドを画像にリンクするだけのハイパーリンクとは異なり、Raster フィールド データ タイプではラスター データをジオデータベース内またはジオデータベースとともに格納できます。 サポートされているラスター形式はすべて使用できますが、このフィールドには小さいピクチャのみを使用することをお勧めします。 各テーブルで使用できるラスター タイプのフィールドは、1 つだけです。 詳細については、「ラスター データセットをフィーチャクラスの属性として追加」をご参照ください。
注意:
モバイル ジオデータベースはラスター列をサポートしません。ただし、アタッチメントを使用して写真や文書などの非地理データをフィーチャに関連付けることはできます。
Geometry
ArcGIS の Geometry データ タイプは、テーブルに格納するジオメトリの種類 (ポイント、ライン、ポリゴン、マルチポイント、またはマルチパッチ) を示します。 ジオメトリ タイプとして格納されるフィールドは、ArcGIS で作成された場合には SHAPE という名前になります。
Geometry は、ArcGIS によって使用されるデータ タイプです。 たとえば、新しいフィーチャクラスに [ポリゴン フィーチャ] を選択すると、デフォルトで追加される SHAPE フィールドは ArcGIS のジオメトリのデータ タイプになります。
[フィーチャクラスの作成 (Create Feature Class)] ツールの [ジオメトリ タイプ] パラメーターでは、デフォルトのジオメトリ タイプがポリゴンになります。
フィーチャクラスを異なるフィーチャ タイプ (ライン、ポイント、マルチポイント、マルチパッチ、ディメンション、またはアノテーション) で作成した場合、SHAPE フィールドのジオメトリ タイプはフィーチャ タイプに応じて異なります (ライン、ポイント、マルチポイント、マルチパッチ、ポリゴン、ディメンション、およびアノテーション)。
各フィーチャクラスには、1 つのジオメトリ タイプ フィールドしか格納できません。
データベースまたはエンタープライズ ジオデータベース内のフィーチャクラスにジオメトリ フィールドを作成する場合は、データベース データ タイプも検討する必要があります。 DBMS にジオメトリ値を格納する方法は、DBMS が使用するジオメトリ格納タイプによって異なります。 エンタープライズ ジオデータベース内にフィーチャクラスを作成する際に使用されるジオメトリ格納タイプは、指定したコンフィグレーション キーワードの GEOMETRY_STORAGE パラメーターの設定によって決まります。 ArcGIS を使用してデータベース内にフィーチャクラスを作成する場合は、[フィーチャクラスの作成 (Create Feature Class)] ツールの [ジオデータベース設定] セクションにある [コンフィグレーション キーワード] パラメーターでフィールドの空間タイプを指定します。