将嵌入提取到字段 (GeoAI 工具)
汇总
将存储为二进制大对象 (BLOB) 字段的矢量嵌入提取至新输出要素类中的单个数值字段。
此过程允许在不支持 BLOB 字段类型的 ArcGIS Pro 工具中,直接使用嵌入维度。
插图

用法
您需要提供一个要素图层(该图层需包含一个存储为二进制大对象 (BLOB) 的嵌入字段)作为输入要素参数值,并提供一个地理数据库要素类位置作为输出要素参数值。
该工具将嵌入字段参数值中的字段值提取为单个浮点值,字段名称以输出字段前缀参数值开头。
例如,如果您有一个包含卫星影像覆盖区且该覆盖区带有深度学习生成的嵌入的要素图层,并且您希望使用多元聚类工具对这些要素进行分组,或使用相似性搜索在嵌入空间中定位相似的覆盖区,请执行以下操作:
使用包含嵌入 BLOB 字段的图层作为输入要素参数值。
选择用于存储嵌入字段参数值的序列化嵌入矢量的 BLOB 字段。
为输出要素参数值指定一个有效的地理数据库要素类位置。
为输出字段前缀参数值提供一个有意义的前缀,以命名新的嵌入维度字段。 例如,如果输出字段前缀参数值为 embed_,则输出嵌入维度字段名称将以 embed_1 和 embed_2 等开头。
该工具将输入要素参数值复制到输出要素参数值,并保留原始的 BLOB 字段。 然后它使用输出字段前缀参数值将每个嵌入提取到一系列 Float32 字段中,每个嵌入维度一个字段。
注:
输出要素参数值必须引用存储在文件地理数据库、移动地理数据库或企业级地理数据库中的一个要素类。 不支持基于文件夹的输出,如 shapefile 或 GeoPackages。 输出字段前缀参数值必须符合地理数据库字段命名规则。 前缀不能以数字开头,只能包含字母数字字符和下划线。
- 嵌入的维度通过对遇到的第一条有效 BLOB 记录进行反序列化来确定。 该维度用于定义将创建的输出字段的数量。 例如,如果嵌入包含 256 个维度,则该工具将创建 256 个新的 Float32 字段。
注:
所有要素必须包含有效的嵌入值。 如果嵌入字段中遇到空值,则该工具将失败并返回错误。 此外,所有嵌入的维度必须相同。 如果遇到长度与既定维度不符的嵌入 BLOB,该工具将停止处理并报告该无效要素的对象 ID。
输出要素类始终包含与输入要素相同的几何类型。 该工具不执行任何几何修改或空间变换。
提取的数值字段可直接用作工具的输入,如多元聚类、相似性搜索、和其它需要数值属性的 Spatial Analyst 和空间统计工具。 由于嵌入维度是数值的,且其本身并不具备描述性,因此通常保留原始输入要素中的标识符或分类字段,以便进行解释和决策。
所有原始属性,包括嵌入 BLOB 字段,都与新创建的 Float32 嵌入维度字段一起保留在输出要素类中。
参数
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输入要素 |
包含存储为 BLOB 的嵌入字段的要素图层。 所有要素必须包含有效的嵌入值。 |
Feature Layer |
|
输出要素 |
将包含已提取嵌入字段的输出要素类。 它必须是位于文件地理数据库、移动地理数据库或企业级地理数据库中的要素类。 保留原始 BLOB 字段。 |
Feature Class |
|
嵌入字段 |
输入要素参数值的 BLOB 字段,该字段包含序列化嵌入矢量。 |
Field |
|
输出字段前缀 |
用于命名新创建的嵌入维度字段的前缀。 提示:使用简短且富有含义的前缀,以确保字段名称易于阅读和管理。 例如,embed_ 值会创建名为 embed_1、embed_2、...、embed_n 的字段,其中每个字段代表一个嵌入维度。 在使用高维嵌入时,清晰的前缀尤为重要,因为它能使下游分析、字段选择及结果解释变得更加容易。 |
String |
环境
许可信息
- 基本: 是
- 标准: 是
- 高级: 是