专栏名称: GIS前沿
分享测绘地信资讯,交流行业软件技巧。
目录
相关文章推荐
艾邦高分子  ·  【邀请函】2025可持续环保材料论坛(5月2 ... ·  18 小时前  
高分子科学前沿  ·  普渡大学窦乐添最新Nature大子刊:全碳主 ... ·  昨天  
高分子科技  ·  华中师大曹郁教授团队 Polym. ... ·  4 天前  
高分子科技  ·  国科大杨晗课题组诚聘博士后、副研究员 - ... ·  4 天前  
51好读  ›  专栏  ›  GIS前沿

用ArcGIS模型构建器实现批量数据转换

GIS前沿  · 公众号  ·  · 2024-06-10 20:40

正文

ArcGIS中提供了多个用于数据转换的工具,可以实现多种数据格式之间的相互转换:

如果要批量转换的话, 一般常用的方法有2种, 批处理 模型构建器的迭代

个人感觉批处理不灵活,扩展性差,不能应对复杂的转换要求。

实际工作中,模型构建器的迭代方法更为方便和好用。

下面以几个例子介绍模型构建器的迭代方法在数据转换中的应用。


01


shp和gdb的互相转换

【shp转gdb】

这里有一份shp数据,分布在同一个的文件夹的不同位置:

转成gdb可以有几种方式,比如把所有shp合并成一个要素类放进gdb数据库里:

这里需要注意几个点:

1、因为shp可能分布在文件下的子文件夹,所以【迭代要素类】需要勾选上【递归】。

2、【迭代要素类】后需要跟着【收集值】,这样才能正常合并。

3、【合并】的输出路径直接放在gdb数据库下,就自动完成了shp转gdb的过程。

再比如:需要把每个shp分别放入单独的gdb数据库中,并以shp名称来命名。

这里需要注意几个点:

1、因为每个shp需要1个单独的gdb,所以迭代后需要创建gdb,并把迭代后的【名称】参数作为新建的gdb名称。

2、迭代后【复制要素】即可转换为gdb,这里的输出路径是动态的,需要引用上面生成的2个参数【要素类.gdb】和【名称】。

3、【创建文件地理数据库】和【复制要素】2个工具的执行是并行的,但是【复制要素】需要【 创建文件地理数据库 】生成的 【要素类.gdb】参数作为输出路径的命名,因此 【要素类.gdb】需要作为 【复制要素】的 前提条件

生成结果如下:

gdb shp

gdb转shp就是个逆向过程,思路基本是一致的。

有这样一个gdb要素类,3个要素,有1个字段用于标记不同的项目名称:

现在要做的是将3个要素分别导出为shp,分装到3个文件夹中,并以项目名来命名shp和子文件夹。

这里需要注意几个点:

1、这次要获取的是要素类下的所有要素,所以用的是【迭代要素选择】。

2、【创建文件夹】的结果作为【复制要素】的前提条件。

3、注意输出要素类的路径,最后需要加上【.shp】,才能正常输出为shp要素。

生成结果如下:



02


gdb和cad的互相转换

上面例子基本已经把批量转换的思路讲完了,其它格式只差在转换的那一个工具有变化罢了,比如gdb转cad,就不是使用【复制要素】工具,而是【导出为CAD】了。

还以上面的那个要素类为例,将3个要素导出为3个CAD:

生成结果如下:

如果想把gdb数据转为单个cad,并且按字段名分图层:

这里重要的是需要添加1个【layer】字段,通过【计算字段】把名称值赋给【layer】,这样当要素转为cad的时候,就会认到这个【layer】并转为cad中的图层名。

生成结果如下:




其它的转KMZ,Excel等情况,都和以上类似,就不缀述。



- END -



历史干货

在线查看、下载 | 2024年最新测绘地理信息规范
手机APP就能遥感AI解译?!亚米图源、遥感课程、外业助手...这个遥感APP太实用了
会议通知丨关于召开第十七届智慧城市大会的函
近500G航测和激光雷达数据集下载






请到「今天看啥」查看全文