各フィーチャクラスと各テーブルは、データ タイプごとに定義されたフィールドで構成されています。
フィーチャクラスおよびテーブルを作成する際には、各フィールドのデータ タイプを選択します。 選択したデータ タイプにより、フィールドが格納できるデータのタイプが決まるため、フィールドのデータ タイプは最も重要なプロパティとなります。 設定可能なその他のフィールド プロパティ (精度、尺度、フィールドの長さなど) は、フィールドのデータ タイプによっても決まります。
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 は、ジオデータベースで属性値を保存、管理するため、多くのデータ タイプに対応しています。
ジオデータベースでサポートされている属性データ タイプは次のとおりです:
ヒント:
以下のリンクをクリックすると、各データ タイプの詳細を確認できます。
- 数値 - 次のいずれかの数値データ タイプ:
- 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 のデータ タイプはデータべースのデータ タイプと対応し、DBMS によって異なる場合があります。 ArcGIS のデータ タイプが DBMS データ タイプにどのようにマップされるかの詳細については、「ArcGIS でサポートされている DBMS のデータ タイプ」をご参照ください。
数値
数値は、以下の数値データ タイプのいずれかで格納できます。
- 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 フィールドに格納できません。 Oracle 以外のデータベースでは、ArcGIS Pro で作成された 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 |
* 負数の場合はマイナス記号を格納するための追加の精度が必要です。
テキスト
テキスト フィールドは、文字列を表します。 これには、道路名、属性プロパティ、その他のテキスト記述が含まれます。 ジオデータベースのテキスト属性を繰り返し使用する場合は、コード値を設定するという方法もあります。 この場合、テキスト記述は数値でコード化されます。 たとえば、道路タイプを数値でコード化する場合には、舗装された道路に 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.2 に公開できますが、完全にサポートされていないため、ArcGIS Enterprise 11.2 Web レイヤーでの使用はベータ版の機能と見なされます。
date と time データ タイプにアクセスできる一部のツールには、フィールド ビュー、[フィールドの追加 (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 フィールドには、時間値を指定できます。日付値は指定できません。 |
| Time
| 毎日繰り返されるデータ、または時間コンポーネントのみが重要となるコンテンツ。
| |
フィールド タイプは Timestamp Offset です。 Timestamp Offset フィールドは、協定世界時 (UTC) ゾーンの日付、時間、タイム ゾーン オフセットに対応しています。 |
|
Date + Time + UTC offset
| ローカル時間の値が重要となり、日付が複数のタイム ゾーンにまたがることのある時間値。
|
ファイル ジオデータベース、モバイル ジオデータベース、エンタープライズ ジオデータベースに含まれるこれらの新しい日時フィールド タイプを使用して、フィーチャクラスまたはテーブル作成または更新できます。 新しい日時フィールド タイプの一部は、使用されるデータベースによってはサポートされず、新しい日時フィールド タイプを追加できない場合があります。 フィールドをテーブルまたはフィーチャクラスに追加するときに、選択したデータ タイプがワークスペースでサポートされていない場合は、[ワークスペースではこのデータ タイプはサポートされていません] というエラーが表示されます。 ワークスペースでサポートされているデータ タイプを使用する必要があります。
各種データベース ワークスペースでサポートされているデータ タイプの詳細については、「ArcGIS でサポートされている DBMS のデータ タイプ」と「ArcGIS でサポートされているクラウド データ ウェアハウスのデータ タイプ」をご参照ください。
Date
日付属性の表示、計算、または選択に応じて、ArcGIS Pro の date データ タイプを操作するための適切な方法を定める必要があります。 ジオデータベースのデータ ソースは、Date データ タイプを使用して日付を格納します。 Date データ タイプには、日付、時間、または日付と時間を格納することができます。 この情報を表現するデフォルト形式は、mm/dd/yyyy hh:mm:ss と AM または PM の指定です。 ArcGIS でテーブル内の date フィールドに入力した日付は、この形式に変換されます。
注意:
- Date フィールドは、日付と時間の両方の値をサポートしており、必ず低精度値として作成され、デフォルトで秒単位までの精度での時間値の格納をサポートしています。
- ArcGIS Pro では、100 CE より前の日付の値を挿入または表示できません。 時間を格納する Date タイプを使用している場合、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 フィールドを高精度に移行します。 Date フィールドを高精度に移行すると、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 AM を表す 01:30:00 として格納されており、この企業が最近、月曜日と火曜日に従来より 4 時間早く終業することを決定した場合は、01:30:00 から 4 時間を差し引くと、新しい終業時間が 21:30:00 (9:30 PM) まで後ろにずれます。
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
GUID データ タイプは、中括弧 ({}) で囲まれた 36 文字のレジストリ形式の文字列を格納します。 Global ID はジオデータベースでのみサポートされています。 Microsoft SQL Server のジオデータベースを除いて、どのジオデータベースでも、Global ID はテキスト フィールドに格納され、テキスト Global ID フィールドに格納されている文字は常に大文字になります。
Global ID を生成する場合は、デバイスと時間が処理で考慮されます。 重複した値が生成されるわずかな可能性があるため、これらの文字列によって、ジオデータベース内およびジオデータベース間のフィーチャまたはテーブル行が一意に識別されます。 一方向と双方向のジオデータベース レプリケーションでは、フィーチャがこのようにして追跡されます。 開発者はそれらをリレーションシップや GUID が必要なアプリケーションに使用することができます。 リレーションシップでは、Global ID フィールドが関連元キーの場合、GUID フィールドは関連先キーでなければなりません。 ジオデータベース内のデータセットに Global ID を追加するには、[Global ID の追加 (Add Global IDs)] ジオプロセシング ツールを使用します。 これらの値はジオデータベースによって自動的に管理されます。 GUID フィールドを作成することもできますが、その値はユーザーが管理しなければなりません。
SQL Server など、ネイティブ GUID データ タイプを持つデータベースには、Global ID と GUID の値が 16 バイト データとして格納されます。 ネイティブ GUID データ タイプを持たないデータベースは、それらの値を 38 バイト データとして格納します。
Global ID に関する注意事項
Global ID を使用する際には、以下の点に注意してください。
- GUID フィールドをジオデータベース データセットに追加するには、フィールド ビューを使用するか、テーブル ウィンドウ内にある [新しいフィールド] コマンドを使用します。
- ジオデータベース内のスタンドアロン フィーチャクラス、テーブル、および属性リレーションシップ クラスに 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 値は維持されません。
Object ID
ArcGIS でテーブルを作成すると、NULL 値が許可されない一意の整数フィールドがテーブルに追加され、オブジェクト識別子 (Object ID) として機能します。 ArcGIS によって維持される Object ID フィールドは、テーブル内の各行が一意の ID を持つことを保証します。 テーブルまたはレイヤーの属性テーブルでは、通常、テーブルの 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 フィールドに移行します。
注意:
一部のクライアント アプリケーションは、このフィールド タイプを完全にはサポートしておらず、今後変更される場合もあります。 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 で使用できなくなります。
フィーチャクラスまたはテーブルに 32 ビット Object ID か 64 ビット Object ID のどちらを格納できるかを確認するには、[カタログ] ウィンドウのフィーチャクラスまたはテーブルを右クリックするか、[コンテンツ] ウィンドウのレイヤーを右クリックして、[プロパティ] > [ソース] > [データ ソース] をクリックします。 サポートされているビット レベルは、[ObjectID] 行に表示されています。
ラスター
フィーチャのフィールドを画像にリンクするだけのハイパーリンクとは異なり、Raster フィールド データ タイプではラスター データをジオデータベース内またはジオデータベースとともに格納できます。 サポートされているラスター形式はすべて使用できますが、このフィールドには小さいピクチャのみを使用することをお勧めします。 各テーブルで使用できるラスター タイプのフィールドは、1 つだけです。 詳細については、「ラスター データセットをフィーチャクラスの属性として追加」をご参照ください。
注意:
モバイル ジオデータベースはラスター列をサポートしません。ただし、アタッチメントを使用して写真や文書などの非地理データをフィーチャに関連付けることはできます。
ジオメトリ
ArcGIS の Geometry データ タイプは、テーブルに格納するジオメトリの種類 (ポイント、ライン、ポリゴン、マルチポイント、またはマルチパッチ) を示します。 ジオメトリ タイプとして格納されるフィールドは、ArcGIS で作成された場合には SHAPE という名前になります。
Geometry は、ArcGIS によって使用されるデータ タイプです。 たとえば、新しいフィーチャクラスに [ポリゴン フィーチャ] を選択すると、デフォルトで追加される SHAPE フィールドは ArcGIS のジオメトリのデータ タイプになります。
[フィーチャクラスの作成 (Create Feature Class)] ツールの [ジオメトリ タイプ] パラメーターでは、デフォルトのジオメトリ タイプがポリゴンになります。
フィーチャクラスを異なるフィーチャ タイプ (ライン、ポイント、マルチポイント、マルチパッチ、ディメンション、またはアノテーション) で作成した場合、SHAPE フィールドのジオメトリ タイプはフィーチャ タイプに応じて異なります (ライン、ポイント、マルチポイント、マルチパッチ、ポリゴン、ディメンション、およびアノテーション)。
各フィーチャクラスには、1 つのジオメトリ タイプ フィールドしか格納できません。
データベースまたはエンタープライズ ジオデータベース内のフィーチャクラスにジオメトリ フィールドを作成する場合は、データベース データ タイプも検討する必要があります。 DBMS にジオメトリ値を格納する方法は、DBMS が使用するジオメトリ格納タイプによって異なります。 エンタープライズ ジオデータベース内にフィーチャクラスを作成する際に使用されるジオメトリ格納タイプは、指定したコンフィグレーション キーワードの GEOMETRY_STORAGE パラメーターの設定によって決まります。 ArcGIS を使用してデータベース内にフィーチャクラスを作成する場合は、[フィーチャクラスの作成 (Create Feature Class)] ツールの [ジオデータベース設定] セクションにある [コンフィグレーション キーワード] パラメーターでフィールドの空間タイプを指定します。