更新多文件要素连接数据集属性 (GeoAnalytics Desktop)

摘要

更新多文件要素连接 (MFC) 数据集的属性。 此工具可以修改指定 MFC 数据集的字段、几何、时间和文件设置。

使用情况

  • 此工具需要 MFC。 要创建 MFC,请使用新建多文件要素连接对话框创建多文件要素连接工具。

  • 在以下情况中,可以使用此工具修改 MFC 数据集方案、几何或时间,以用于分析或可视化:

    • 您的 CSV 数据集已注册到所有字符串类型字段中,并且您需要将这些字段设置为数字以用于分析。
    • 您的 MFC 数据集具有两个单独位置的属性值(例如出租车上客和下客点),并且您需要更改用于分析的几何。
    • 您的工作流要求在输入图层上设置时间。
    • 您要与仅对要素子集感兴趣的同事共享 MFC 数据集,因此您可以添加定义查询表达式并隐藏一些不使用的字段。

  • 可以修改以下属性:

    • 定义查询 - 用于限制分析中使用的要素的表达式。
    • 字段 - 字段名称、字段类型和可见性。
    • 几何 - 几何的表示方式。 这些对于 shapefile 是不可编辑的。
    • 时间 - 时间的表示方式。
    • 文件 - 用于读取数据集的文件属性。

  • 使用新建多文件要素连接对话框以获得创建、编辑和预览多文件要素连接的简化体验。

  • 使用多文件要素连接数据集参数指定具有要修改的属性的 MFC 数据集。 您可以浏览到数据集或使用路径(例如 c:\<path>\MyMFC.mfc\<dataset_name>)来指定数据集(例如 c:\MyMFCFolder\MyMFC.mfc\earthquakes_dataset)。

  • 使用表达式参数定义表达式以限制分析中使用的要素。 向 MFC 数据集添加过滤器类似于在地图的数据集中应用定义查询:指定一个 SQL 表达式以过滤感兴趣的要素。

  • 可更新分隔文件的字段类型。 无法更新其他数据源的字段类型(例如 shapefile、ORC 或 parquet 文件)。

  • 您可以修改分隔文件、ORC 和 parquet 文件的几何。 无法修改源自 shapefile 的数据集的几何。

  • 下表概述了如何在编辑 MFC 数据集时为开始时间结束时间参数指定时间格式。 这些示例显示如何表示时间 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

    You can specify the time zone using one of the following:
    • 时区的全称,例如太平洋标准时间
    • 以小时表示的时区偏差:-0100 或 -01:00
    • UTC 或 GMT 缩写
  • 您可以修改分隔文件的以下属性

    • 字段分隔符 - 每个字段的分隔符。 常见的分隔符有逗号 (,) 和分号 (;)。
    • 记录终止符 - 每行数据的终止符。 常见终止符为 \n 和 \t。
    • 引号字符 - 在源数据集中用于引号的字符。
    • 具有标题行 - true 或 false 值用于指示源数据集是否包含标题。 如果在数据集中包含标题行,则标题将用于字段名。
    • 编码 - 源数据集使用的编码类型。 默认值为 UTF-8。

  • 更新多文件要素连接数据集属性工具用于更新单个数据集的属性。 使用以下工具修改 MFC:

  • 您可以选择手动编辑 MFC 文件。 在以下情况下,您应该始终手动修改 .mfc 文件:

    • 您已使用一个或多个字段表示 x、y 或 z 位置。
    • 您要更新源路径。

    了解有关多文件要素连接文件格式化的详细信息。

  • 此地理处理工具由 Spark 支持。 有关多文件要素连接及其使用方法的详细信息,请参阅多文件要素连接

参数

标注说明数据类型
多文件要素连接数据集

将更新的 MFC 数据集。 根据源数据(shapefile、分隔文件、ORC 或 parquet 文件),编辑选项将有所不同。

Table View
表达式
(可选)

该表达式用于限制将在分析中使用的要素。

SQL Expression
字段属性
(可选)

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

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

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

  • 短整型此字段类型将为短型。
  • 长整型此字段类型将为长整型
  • 双精度此字段类型将为双精度。
  • 浮点型此字段类型将为浮点型。
  • 字符串此字段类型将为字符串。
  • 日期此字段类型将为日期类型。
  • BLOB此字段类型将为 BLOB。
Value Table
几何类型
(可选)

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

  • 该几何类型将为点。
  • 折线该几何类型将为折线。
  • 该几何类型将为面。
  • 未指定任何几何类型。
String
空间参考
(可选)

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

String
几何格式类型
(可选)

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

  • XYZ两个或多个字段将代表x,y 和 z(可选)。
  • WKT几何将由熟知的文本字段中的单个字段表示。
  • WKB几何将由熟知的二进制字段中的单个字段表示。
  • GeoJSON几何将由 GeoJSON 格式的单个字段表示。
  • EsriJSON几何将由 EsriJSON 格式的单个字段表示。
  • EsriShape几何将由 EsriShape 格式的单个字段表示。
String
几何字段
(可选)

用于表示几何的单个字段。 当几何格式为 WKT、WKB、GeoJSON、EsriJSON 或 EsriShape 时,将使用此字段。

String
X 字段
(可选)

用于表示 x 位置的字段。 如果有多个表示 x 位置的字段,则需要手动修改 .mfc 文件。

String
Y 字段
(可选)

用于表示 y 位置的字段。 如果有多个表示 y 位置的字段,则需要手动修改 .mfc 文件。

String
Z 字段
(可选)

用于表示 z 位置的字段。 如果有多个表示 z 位置的字段,则需要手动修改 .mfc 文件。

String
时间类型
(可选)

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

  • 间隔时间类型将表示具有开始时间和结束时间的持续时间。
  • 即时时间类型将表示时刻。
  • 未启用时间。
String
时区
(可选)

数据集的时区。

String
开始时间
(可选)

用于定义开始时间和时间格式的字段。

Value Table
结束时间
(可选)

用于定义结束时间和时间格式的字段。

Value Table
文件扩展名
(可选)

源数据集的文件扩展名。 无法修改参数值。

String
字段分隔符
(可选)

源数据集中使用的字段分隔符。

String
记录终止符
(可选)

源数据集中使用的记录终止符。

String
引号字符
(可选)

源数据集中使用的引号字符。

String
具有标题行
(可选)

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

  • 选中 - 源数据集中包含标题行。
  • 未选中 - 源数据集中不包含标题行。

Boolean
编码
(可选)

用于源数据集的编码类型。 默认将使用 UTF-8。

String

派生输出

标注说明数据类型
更新的 MFC

已编辑属性已应用于指定数据集的更新的 MFC 文件。

File

arcpy.geoanalytics.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

将更新的 MFC 数据集。 根据源数据(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 格式的单个字段表示。
  • ESRISHAPE几何将由 EsriShape 格式的单个字段表示。
String
geometry_field
(可选)

用于表示几何的单个字段。 当几何格式为 WKT、WKB、GeoJSON、EsriJSON 或 EsriShape 时,将使用此字段。

String
x_field
(可选)

用于表示 x 位置的字段。 如果有多个表示 x 位置的字段,则需要手动修改 .mfc 文件。

String
y_field
(可选)

用于表示 y 位置的字段。 如果有多个表示 y 位置的字段,则需要手动修改 .mfc 文件。

String
z_field
(可选)

用于表示 z 位置的字段。 如果有多个表示 z 位置的字段,则需要手动修改 .mfc 文件。

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

已编辑属性已应用于指定数据集的更新的 MFC 文件。

File

代码示例

UpdateBDCDatasetProperties 示例(独立脚本)

以下 Python 脚本演示了如何使用 UpdateBDCDatasetProperties 函数。


# Name: UpdateBDCDatasetProperties.py
# Description: Add a filter and modify the schema, time, and geometry for a MFC dataset
# Requirements: ArcGIS Pro Advanced License

# Import system modules
import arcpy

# Set local variables
dataset = r"c:\Projects\MyProjectFolder\my_BigDataConnection.mfc\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_extension = "csv"
file_delimiter = ","
file_terminator = r"\n"
file_quotechar = '"'
has_header_row = True
file_encoding = "UTF-8"


# Run Update MFC 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_delimiter, file_terminator, 
file_quotechar, has_header_row, file_encoding)

环境

此工具不使用任何地理处理环境。