描述
用于更新大数据连接 (BDC) 数据集的属性。该工具可以修改指定 BDC 数据集的字段、几何、时间和文件设置。
使用方法
此工具需要 BDC。要创建 BDC,请使用创建大数据连接工具。
在以下情况中,可以使用此工具修改 BDC 数据集方案、几何或时间,以用于分析或可视化:
- 您的 CSV 数据集已注册到所有字符串类型字段中,并且您需要将这些字段设置为数字以用于分析。
- 您的 BDC 数据集具有两个单独位置的属性值(例如出租车上客和下客点),并且您需要更改用于分析的几何。
- 您的工作流要求在输入图层上设置时间。
- 您要与仅对要素子集感兴趣的同事共享 BDC 数据集,因此您可以添加定义查询表达式并隐藏一些不使用的字段。
可修改以下属性:
- 定义查询 - 用于限制分析中使用的要素的表达式。
- 字段 - 字段名称、字段类型和可见性。
- 几何 - 几何的表示方式。这些对于 shapefile 是不可编辑的。
- 时间 - 时间的表示方式。
- 文件 - 用于读取数据集的文件属性。
使用大数据连接数据集参数指定您要修改其属性的 BDC 数据集。您可以浏览到数据集或使用路径(例如 c:\<path>\MyBDC.bdc\<dataset_name>)来指定数据集(例如 c:\MyBDCFolder\MyBDC.bdc\earthquakes_dataset)。
使用表达式参数定义表达式以限制分析中使用的要素。向 BDC 数据集添加过滤器类似于在地图的数据集中应用定义查询:指定一个 SQL 表达式以过滤感兴趣的要素。
您可以更新分隔文件的字段类型。您无法更新其他数据源(例如 shapefile ORC 或 parquet 文件)的字段类型。
您可以修改分隔文件、ORC 和 parquet 文件的几何。您无法修改源自 shapefile 的数据集的几何。
下表概述了如何在编辑 BDC 数据集时为开始时间和结束时间参数指定时间格式。这些示例显示如何表示时间 2016 年 1 月 2 日下午 9:45:02.05。
大数据连接中的时间格式
符号 含义 示例 yy
年,以两位数表示。
16
yyyy
年,以四位数表示。
2016
MM
月,以数字表示。
01 或 1
MMM
月,使用三个字母表示。
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:
时间格式示例
您可以通过以下方式指定时区:输入日期 日期格式 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。
更新大数据连接数据集属性工具用于更新单个数据集的属性。使用以下工具来修改 BDC:
- 从大数据连接复制数据集 - 将数据集从 BDC 复制到要素类。
- 从大数据连接预览数据集 - 创建现有 BDC 数据集的视图。
- 刷新大数据连接 - 检查是否有新数据集并将其添加到 BDC。
- 从大数据连接移除数据集 - 从 BDC 移除数据集。
- 更新大数据连接数据集属性 - 修改单个 BDC 数据集的属性。
- 从大数据连接预览数据集 - 预览数据集中的前十个要素以验证其是否已正确注册。
- 描述数据集 - 可以确认数据集的显示是否符合预期。
您可以选择手动编辑 BDC 文件。在以下情况下,您应该始终手动修改 .bdc文件:
- 您已使用一个或多个字段表示 x、y 或 z 位置。
- 您要更新源路径。
此地理处理工具由 Spark 作为支持。有关大数据连接及其使用方法的详细信息,请参阅大数据连接。
语法
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 数据集。根据源数据(shapefile、分隔文件、ORC 或 parquet 文件),编辑选项将有所不同。 | Table View |
expression (可选) | 该表达式用于限制将在分析中使用的要素。 | SQL Expression |
field_properties [field_properties,...] (可选) | 指定要修改的字段名称和属性。
指定字段是可见还是隐藏。
| Value Table |
geometry_type (可选) | 指定将用于在空间上表示数据集的几何类型。无法为源自 shapefile 的数据集修改几何。
| String |
spatial_reference (可选) | WKID 值或 WKT 字符串将用于数据集的空间参考。默认值为 WKID 4326 (WGS84)。无法为源自 shapefile 的数据修改空间参考。 | String |
geometry_format_type (可选) | 指定几何的格式化方式。无法为源自 shapefile 的数据修改几何。
| 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: 是