更新大数据连接数据集属性 (GeoAnalytics Desktop)

描述

用于更新大数据连接 (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

    月,以数字表示。

    011

    MMM

    月,使用三个字母表示。

    Jan

    MMMM

    月,使用完整的拼写表示。

    January

    dd

    天。

    022

    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文件:

    • 您已使用一个或多个字段表示 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,...]
(可选)

指定要修改的字段名称和属性。

  • SHORT此字段类型将为短型。
  • LONG此字段类型将为长整型。
  • DOUBLE此字段类型将为双精度。
  • FLOAT此字段类型将为浮点型。
  • STRING此字段类型将为字符串。
  • DATE此字段类型将为日期类型。
  • BLOB此字段类型将为 BLOB。

指定字段是可见还是隐藏。

  • TRUE这些字段将被设置为可见,并且可在地理处理工具中使用。这是默认设置。
  • FALSE这些字段将被隐藏,并且无法用作地理处理工具的输入。
Value Table
geometry_type
(可选)

指定将用于在空间上表示数据集的几何类型。无法为源自 shapefile 的数据集修改几何。

  • POINT几何类型为点。
  • LINE几何类型为折线。
  • POLYGON几何类型为面。
  • NONE无几何类型。
String
spatial_reference
(可选)

WKID 值或 WKT 字符串将用于数据集的空间参考。默认值为 WKID 4326 (WGS84)。无法为源自 shapefile 的数据修改空间参考。

String
geometry_format_type
(可选)

指定几何的格式化方式。无法为源自 shapefile 的数据修改几何。

  • XYZ将使用两个或多个字段来表示 x,y 和可选的 z。
  • WKT几何将由熟知文本字段中的单个字段表示。
  • WKB几何将由熟知二进制字段中的单个字段表示。
  • GEOJSON几何将由 GeoJSON 格式的单个字段表示。
  • ESRIJSON几何将由 EsriJSON 格式的单个字段表示。
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
(可选)

指定用于临时表示数据集的时间类型。

  • INTERVAL时间类型将表示具有开始时间和结束时间的持续时间。
  • INSTANT时间类型将表示时刻。
  • NONE未启用时间。
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
(可选)

指定源数据集中是否包含标题行。

  • HAS_HEADER源数据集中包含标题行。
  • NO_HEADER源数据集中不包含标题行。
Boolean
encoding
(可选)

用于源数据集的编码类型。默认情况下,使用 UTF-8。

String

派生输出

名称说明数据类型
updated_bdc

使用应用于特定数据集的已编辑属性更新的 BDC 文件。

文件

代码示例

UpdateBDCDatasetProperties 示例(独立脚本)

以下 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: 是

相关主题