合并嵌入的工作原理
合并嵌入工具允许将源图层中的高维矢量数据(嵌入)聚合到目标面图层中。 此过程对于汇总复杂信息至关重要,并在原始、局部化的嵌入与更大、更有意义的地理单元(如行政边界、流域或自定义分析格网)之间架起桥梁。
理解 ArcGIS 中的嵌入
在现代 AI 工作流中,嵌入是要素的一种密集、高维表示,用于捕捉该要素的语义含义。
在 ArcGIS Pro 中,嵌入按照 BLOB 字段形式的嵌入中的描述存储在 BLOB(二进制大对象)字段中。
为确保性能和与 Python、C++ 和 JavaScript 的交叉兼容性,该工具期望这些 BLOB 被序列化为 32 位浮点 (float32) 二进制数组。 当工具运行时,会将这些二进制缓冲区直接作为数值数组读入内存,执行数学聚合,然后重新序列化以存储到输出要素类中。
当生成嵌入时(例如使用深度学习模型),得到的矢量会捕捉位置的语义。 合并嵌入工具可在保持数学完整性的同时将这些矢量跨越不同地理尺度进行迁移。

工具如何处理数据
该工具遵循四阶段工作流以确保空间与数学精度:
空间叠加
该工具首先确定嵌入要素参数值(源)与目标要素参数值(目标)之间的精确空间重叠。 这样可确保只有物理上落在目标面内的嵌入部分才会对其最终矢量产生贡献。 通过利用成对相交逻辑,该工具能够比标准叠加方法更高效地处理具有高拓扑复杂性的庞大数据集。
对于点:工具识别哪些点物理上包含在每个目标面内。 对于面:工具计算相交面积,即源嵌入面与目标面重叠的确切覆盖范围。
聚合逻辑
该工具的核心是能够将多个高维矢量合并为单个代表目标区域的矢量。 计算方法会根据输入几何而改变。
点到面(简单均值)

将点聚合到面中时,工具假定每个点代表一个离散的、等权重的观测值。 最终矢量 \(E_{\text{target}}\) 是该边界内发现的所有矢量 \((E_i)\) 的算术平均值。 这非常适合聚合带有地理标记的社交媒体嵌入或局部传感器数据。
注:
如果目标面内没有包含任何点,则输出中的 Embedding 字段将保持为空。
面到面(面积加权平均值)

当源嵌入为面时(如来自卫星影像的图面或县级边界),工具使用面积加权插值。 该逻辑基于以下原则:覆盖目标面 90% 的嵌入对结果的影响应显著大于仅覆盖 10% 的嵌入。
工具通过将相交面积 (\(Area_i\)) 除以该特定目标内的总重叠面积来计算每个重叠嵌入的权重 (Wi)。
矢量计算
工具使用 NumPy 库将二进制 BLOB 重新构建为数组,执行加权数学运算,然后将结果重新序列化回二进制格式以进行存储。
输出生成
最终结果写入一个新的要素类。 将创建一个新的 BLOB 字段,默认名称为 Embedding。 此输出已针对后续 GeoAI 工具(如相似性搜索)进行了优化。
使用方法
本节提供实用建议和限制,以确保工具成功运行。
数据准备
工具专门查找名为 Embedding 的字段。 请确保源要素具有此确切字段名称,并且数据类型设置为 BLOB。
输入的所有嵌入必须长度一致(例如,均为 128 维或均为 512 维)。 如果工具遇到长度不匹配的嵌入,将跳过这些记录并发出警告。
工作空间限制
由于 shapefile 和 GeoPackage 在存储和检索大型 BLOB 数据方面存在技术限制,因此输出嵌入要素参数值必须存储在文件地理数据库、移动地理数据库或企业级地理数据库中。
不建议将此工具用于 memory 或 in_memory 工作空间,因为大型嵌入数据集可能消耗极高的 RAM。
环境设置
对于面积加权平均计算,强烈建议为“输出坐标系”环境使用投影坐标系。 在某些区域使用地理坐标系 (WGS84) 可能导致性能降低和面积比率不够准确。
疑难解答
如果输出中的目标面具有空的 Embedding 字段,则表示没有源要素与该面在空间上相交,或者相交的要素包含空的 BLOB 数据。