ArcGIS Pro中由表转至属性域

ArcGIS Pro中由表转至属性域

最近在进行某省公益林监测的相关工作,由于需要处理几百万条数据,这些数据利用强大的Excel,可以得到更快速的分析结果,数据透视的表格可以直接应用到监测报告中。
而.xls最大65536行,.xlsx最大1048576行。因此需要使用ArcGIS Pro工具箱中的转换工具Excel表转Excel。该工具可以导出格式为.xlsx,而ArcGIS 10.8只能导出.xls。
ArcGIS Pro中由表转至属性域

某省最新一年的森林资源一张图数据,数据量近300万条。各字段值均为代码。
我们可以在Excel中对其建立代码和代码值的关联。
ArcGIS Pro中由表转至属性域
另一种方法是选择在数据库中导入属性域,将代码直接显示为代码值,并在表转Excel时选择使用域和子类型描述,这样导出的.xlsx中所有代码将被替换为值。
ArcGIS Pro中由表转至属性域

建立数据字典

首先将需要由代码替换为值的字段,建立代码对应表。可以一个sheet一个字段的建立。

ArcGIS Pro中由表转至属性域

ArcGIS Pro中由表转至属性域
这里需要注意代码的格式必须与数据库中的字段类型一致。否则设置字段时无法现在对应的属性域。
如:当数据库中字段数据类型为文本时,则需要将Excel代码对应表中的代码一列单元格格式修改为文本
ArcGIS Pro中由表转至属性域
ArcGIS Pro中由表转至属性域

表转属性域

利用数据管理工具属性域表转属性域,将表中各个代码转换页逐一导入。

ArcGIS Pro中由表转至属性域
在选择输入表时,可能会提示未安装所需的 Microsoft 驱动程序
这是因为要在 ArcGIS Pro 中使用 Excel 文件,必须从Microsoft 下载中心 下载并安装 Microsoft Access Database Engine 2016 Redistributable。

单击页面上的下载会显示两个下载选项,32 位或 64 位:
ArcGIS Pro中由表转至属性域

如果你使用的是 ArcGIS Pro 2.4,请选择 32 位驱动程序下载。
如果你使用的是 ArcGIS Pro 2.5 或更高版本,请选择与您当前安装的 Microsoft 应用程序匹配的下载。
下载选项分别是:

AccessDatabaseEngine.exe - 32 位驱动程序
AccessDatabaseEngine_X64.exe - 64 位驱动程序
ArcGIS Pro中由表转至属性域

搞定后运行表转属性域工具,输入表选择对应的代码转换页,编码字段选择代码描述字段选择代码值。输入工作空间选择属性域要存放的数据库。域的名称可以自定义为与字段相同的名称。点击确定
ArcGIS Pro中由表转至属性域
这样属性域变加载到了数据库中。
ArcGIS Pro中由表转至属性域

连接属性域

打开要素类的字段,在属性域一列中一一对应。
ArcGIS Pro中由表转至属性域
对应后点击保存
ArcGIS Pro中由表转至属性域
此时再打开属性表,则所有代码将被转换为代码值。由此通过转换工具中的表转Excel,导出的.xlsx也将变成代码值显示。
ArcGIS Pro中由表转至属性域