概要
BDC (ビッグ データ コネクション) データセットのプロパティを更新します。このツールは、指定された BDC データセットのフィールド、ジオメトリ、時間、ファイル設定を変更します。
使用法
このツールには BDC が必要です。BDC を作成するには、[ビッグ データ コネクションの作成 (Create Big Data Connection)] ツールを使用します。
このツールは次のようなシナリオで、解析または視覚化に使用する BDC データセットのスキーマ、ジオメトリ、時間を変更するために使用します。
- CSV データセットがすべて文字列型フィールドで登録されているとき、解析で使用するためフィールドを数値に設定する。
- BDC データセットに 2 つの異なる場所、たとえばタクシーの乗車と降車場所の属性値が含まれており、解析のため使用するジオメトリを変更する。
- ワークフローで、入力レイヤーに時間を設定する必要がある。
- BDC データセットを同僚と共有するとき、同僚にはフィーチャの一部しか必要ないため、定義クエリ式を追加して一部の未使用フィールドを非表示にする。
変更できるプロパティを以下に示します。
- 定義クエリ - 解析に使用するフィーチャを制限するため使用される式。
- フィールド - フィールド名、フィールド タイプ、表示設定。
- ジオメトリ - ジオメトリをどのように表現するか。シェープファイルでは、これらのプロパティは編集できません。
- 時間 - 時間をどのように表現するか。
- ファイル - データセットを読み取るため使用されるファイル プロパティ。
変更するプロパティを含む BDC データセットを、[ビッグ データ コネクション データセット] パラメーターで指定します。データセットの場所を参照するか、c:\<path>\MyBDC.bdc\<dataset_name> 形式のパス、たとえば c:\MyBDCFolder\MyBDC.bdc\earthquakes_dataset を使用して指定できます。
[式] パラメーターを使用すると、解析に使用するフィーチャを制限する式を定義できます。BDC データセットにフィルターを追加するのは、マップのデータセットに 定義クエリを適用するのと同様で、目的のフィーチャにフィルターを適用するための SQL 式を指定します。
フィールド タイプは、区切り付きファイルで更新できます。他のデータ ソース (シェープファイル、ORC、パーケット ファイルなど) のフィールド タイプは更新できません。
ジオメトリは、区切り付きファイル、ORC、パーケット ファイルで変更できます。シェープファイルがソースのデータセットでは、ジオメトリを変更できません。
次の表は、BDC データセットを編集するとき、[開始時間] および [終了時間] パラメーターの時間形式を指定する方法の要約です。例では、2016 年 1 月 2 日 9:45:02.05 PM の時間を表す方法を示します。
ビッグ データ コネクションの時間形式
シンボル 意味 例 yy
2 桁で表された年。
16
yyyy
4 桁で表された年。
2016
MM
数値で表された月。
01 もしくは 1
MMM
3 文字で表された月。
Jan
MMMM
完全なつづりで表された月。
January
dd
日。
02 もしくは 2
HH
24 時間表記の場合の時。値の範囲は 0 ~ 23 です。
21
hh
12 時間表記の場合の時。値の範囲は 1 ~ 12 です。
9
mm
分 (値の範囲は 0 ~ 59)。
45
ss
秒 (値の範囲は 0 ~ 59)。
02
SSS
ミリ秒 (値の範囲は 0 ~ 999)。
50
a
AM/PM マーカー。
PM
epoch_millis
エポックからの時間 (ミリ秒)。
1509581781000
epoch_seconds
エポックからの時間 (秒)。
1509747601
Z
タイムゾーンのオフセット (時)。
-0100 もしくは -01:00
ZZZ
タイムゾーンのオフセット (ID)。
America/Los_Angeles
''
この表に説明されている値を表していないテキストを追加するには、一重引用符を使用します。
'T'
以下の表では、同じ日付 (2016 年 1 月 2 日 9:45:02.05 PM) の異なる形式の例を示します。
時間形式の例
次のいずれかを使用してタイム ゾーンを指定できます。入力データ 日付形式 01/02/2016 9:45:02PM
MM/dd/yyyy hh:mm:ssa
Jan02-16 21:45:02
MMMdd-yy HH:mm:ss
January 02 2016 9:45:02.050PM
MMMM dd yyyy hh:mm:ss.SSSa
01/02/2017T9:45:14:05-0000
MM/dd/yyyy'T'HH:mm:ssZ
- タイム ゾーンの完全名: Pacific Standard Time
- タイムゾーンのオフセット (時) を使用: -0100 または -01:00
- UTC または GMT の省略表現
区切り付きファイルでは、次のプロパティを変更できます。
- フィールド区切り文字 - 各フィールドの区切り文字。一般的な区切り文字は、, と ; です。
- レコード ターミネーター - データの各行のターミネーター。一般的なターミネーターは、\n と \t です。
- 引用符 - ソース データセットで引用に使用する文字。
- ヘッダー行を含む - true または false の値で、ソース データセットがヘッダーを含むかどうかを示します。データセットにヘッダー行が含まれている場合、そのヘッダーがフィールド名に使用されます。
- エンコード - ソース データセットで使用されるエンコード タイプ。デフォルトは UTF-8 です。
[ビッグ データ コネクション データセット プロパティの更新 (Update Big Data Connection Dataset Properties)] ツールは、各データセットのプロパティを更新します。BDC を変更するには、次のツールを使用します。
- [ビッグ データ コネクションからデータセットをコピー (Copy Dataset From Big Data Connection)] - BDC からフィーチャクラスにデータセットをコピーします。
- [ビッグ データ コネクションからデータセットを複製 (Duplicate Dataset From Big Data Connection)] - 既存の BDC データセットのビューを作成します。
- [ビッグ データ コネクションの更新 (Refresh Big Data Connection)] - 新しいデータセットを確認して BDC に追加します。
- [ビッグ データ コネクションからデータセットを削除 (Remove Dataset From Big Data Connection)] - データセットを BDC から削除します。
- [ビッグ データ コネクション データセット プロパティの更新 (Update Big Data Connection Dataset Properties)] - 個々の BDC データセットのプロパティを変更します。
- [ビッグ データ コネクションからデータセットをプレビュー (Preview Dataset From Big Data Connection)] - データセットのフィーチャが正しく登録していることを確認するため、最初の 10 のフィーチャをプレビューします。
- [データセットの記述 (Describe Dataset)] - データセットが期待するように表示されることを確認できます。
オプションとして、BDC ファイルを手動で編集することもできます。次のような状況では、常に .bdc ファイルを手動で変更します。
- x、y、z 座標を表すフィールドが 1 つ以上存在する。
- ソース パスを更新する。
ビッグ データ コネクション ファイルの形式の詳細について説明します。
ジオプロセシング ツールは、Spark を活用しています。ビッグ データ コネクションとその使用方法の詳細については、「「ビッグ データ コネクション」をご参照ください。
構文
arcpy.gapro.UpdateBDCDatasetProperties(bdc_dataset, {expression}, {field_properties}, {geometry_type}, {spatial_reference}, {geometry_format_type}, {geometry_field}, {x_field}, {y_field}, {z_field}, {time_type}, {time_zone}, {start_time_format}, {end_time_format}, {file_extension}, {field_delimiter}, {record_terminator}, {quote_character}, {has_header_row}, {encoding})
パラメーター | 説明 | データ タイプ |
bdc_dataset | 更新対象の BDC データセット。編集のオプションは、ソース データ (シェープファイル、区切り付きファイル、ORC、パーケット ファイル) によって異なります。 | Table View |
expression (オプション) | 解析に使用するフィーチャを制限するため使用される式。 | SQL Expression |
field_properties [field_properties,...] (オプション) | 変更するフィールド名とプロパティを指定します。
フィールドの表示/非表示を指定します。
| Value Table |
geometry_type (オプション) | データセットを空間的に表すため使用されるジオメトリのタイプを指定します。シェープファイルがソースのデータセットでは、ジオメトリを変更できません。
| String |
spatial_reference (オプション) | データセットの空間参照に使用される WKID 値または WKT 文字列。デフォルトは WKID 4326 (WGS84) です。シェープファイルがソースのデータでは、空間参照を変更できません。 | String |
geometry_format_type (オプション) | ジオメトリがどのような形式かを指定します。シェープファイルがソースのデータでは、ジオメトリを変更できません。
| String |
geometry_field (オプション) | ジオメトリの表現に使用される単一のフィールド。このフィールドは、ジオメトリが WKT、WKB、GeoJSON、EsriJSON のいずれかの形式のとき使用されます。 | String |
x_field (オプション) | X 位置の表現に使用されるフィールド。X 位置を表すフィールドが複数存在する場合は、*.bdc ファイルを手動で変更します。 | String |
y_field (オプション) | Y 位置の表現に使用されるフィールド。Y 位置を表すフィールドが複数存在する場合は、*.bdc ファイルを手動で変更します。 | String |
z_field (オプション) | Z 位置の表現に使用されるフィールド。Z 位置を表すフィールドが複数存在する場合は、*.bdc ファイルを手動で変更します。 | String |
time_type (オプション) | データセットの時間的な表現に使用される時間タイプを指定します。
| String |
time_zone (オプション) | データセットのタイム ゾーン。 | String |
start_time_format [start_time_format,...] (オプション) | 開始時間と時間形式を定義するため使用されるフィールド。 | Value Table |
end_time_format [end_time_format,...] (オプション) | 終了時間と時間形式を定義するため使用されるフィールド。 | Value Table |
file_extension (オプション) | ソース データセットのファイル拡張子。パラメーターの値は変更できません。 | String |
field_delimiter (オプション) | ソース データセットで使用されるフィールド区切り文字。 | String |
record_terminator (オプション) | ソース データセットで使用されるレコード ターミネーター。 | String |
quote_character (オプション) | ソース データセットで使用される引用符。 | String |
has_header_row (オプション) | ソース データセットがヘッダー行を含むかどうかを指定します。
| Boolean |
encoding (オプション) | ソース データセットで使用されるエンコードのタイプ。デフォルトでは、UTF-8 が使用されます。 | String |
派生した出力
名前 | 説明 | データ タイプ |
updated_bdc | 編集したプロパティが指定したデータセットに適用され、更新された BDC ファイル。 | ファイル |
コードのサンプル
次の Python スクリプトは、UpdateBDCDatasetProperties 関数の使用方法を示しています。
# Name: UpdateBDCDatasetProperties.py
# Description: Add a filter and modify the schema, time, and geometry for a BDC dataset
# Requirements: ArcGIS Pro Advanced License
# Import system modules
import arcpy
# Set local variables
dataset = r"c:\Projects\MyProjectFolder\my_BigDataConnection.bdc\myBigDataset"
filter = "COUNT > 500"
field_properties = "Field1 FLOAT true;Field2 STRING true;Field3 DOUBLE true"
geometry_type = "POINT"
sref = "4326"
geometry_format = "XYZ"
x_field = "Long"
y_field = "Lat"
z_field = ""
time_type = "INSTANT"
time_zone = "UTC"
time_formats = "Year yyyy"
file_extenstion = "csv"
file_delimitor = ","
file_terminator = r"\n"
file_quotechar = '"'
has_header_row = True
file_encoding = "UTF-8"
# Execute Update BDC Dataset Properties
arcpy.gapro.UpdateBDCDatasetProperties(dataset, filter, field_properties, geometry_type, sref, geometry_format, "",
x_field, y_field, z_field, time_type, time_zone, time_formats, None, file_extension, file_delimitor, file_terminator,
file_quotechar, has_header_row, file_encoding)
環境
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい