情景再现,呼叫小编
————数据合并时,你是否也经常碰到这些情况?
-
数据存在几何错误,合并失败!
-
数据字段类型不一致,合并失败!
-
合并工具运行有警告信息,不知道是否合并成功?
-
合并前后不知道数据有没有丢失?
-
数据藏得很深,一层层展开目录寻找同名图层!
-
总是报错,不知道改哪里才能让数据正常合并?
……
那么,请接着往下看!
一、需求背景
1.1 为何要合并?
很多GISer在接触地理信息数据时,面对的一般是测试数据,或成果数据。很少需要对数据进行提取、合并等处理。
但对于数据管理人员或数据处理人员,经常碰到数据汇总入库,数据分区域作业等场景,他们经常需要处理多个作业员提交的数据,或作业单位提交的成果数据按项目作业范围、按行政区划范围等将多个同名图层合并到一起,按数据内容进行分类组织,存放到地理数据库中。
将多个分区域的地理数据库中的图层合并到一个地理数据库中有一些实际应用的用途和优势:
数据一致性和集成:合并图层可以确保数据在一个数据库中得到统一的管理和维护。这有助于确保数据的一致性,避免了多个分区域的数据可能存在的不一致性问题。
减少数据冗余:合并图层可以帮助减少数据存储的冗余。当数据存储在多个分区域的地理数据库中时,可能会有很多相同或相似的数据。通过合并这些数据,可以减少存储开销和统一数据版本。
提高数据访问效率:合并后的地理数据库通常更容易管理和维护,也更容易进行数据查询和分析。这有助于提高数据的访问效率。
数据分析和报告:合并后的数据可以更容易用于地理信息系统 (GIS) 分析和生成报告。合并后的数据库可以提供更完整的数据集,支持更丰富的分析和报告。
统一坐标系和投影: 合并图层时,可以选择一个统一的坐标系和投影,以确保所有数据都在相同的地理参考系统下。为后续的数据分析和使用提供了基础。
数据备份和恢复: 合并后的地理数据库更容易备份和恢复。这可以帮助确保数据的安全性和可用性。
数据共享: 合并后的地理数据库更容易共享给其他人或团队,比如“一张图”的实现和应用,要求数据以市级、省级甚至全国作为应用范围,提供在线服务,参与数据的显示和分析。
总的来说,合并图层有助于提高数据管理的效率、一致性和质量,减少冗余数据,简化数据访问和分析,以及支持更广泛的数据应用。这对于许多GIS项目和数据管理任务都是非常有用的。
1.2 这有何难?
ArcGIS中提供了“合并”或“追加”工具,直接将同名图层拖拽到工具输入参数中,一键不就搞定了?
我有上将潘凤可斩华雄……
我怀疑你接触的一直是高标准,可能对数据质量的下限没有很好的认识?
是的,以你为的阅兵,肯定是这样。
你不一定知道,阅兵,也会是这样。
要的就是一个氛围,要的就是提交结果……
1.3 涨涨“见识”吧
哪怕是同一个项目,数据成果提交组织目录要求明确,大到提交的数据库类型,小到数据分层命名,字段属性结构等,都有明确的要求和规定。但是,最后汇总的数据,仍然是花样百出。
01
数据格式不一致:要求以gdb格式提交数据,但你收到的数据可能是mdb、gdb、shp等格式。
02
图层名称不相同:一般是同名图层大小写混乱,如LCA,Lca;图层名带下划线或序号。
03
同名图层属性结构项,字段类型不一致:一般是字段精度,字段长度,甚至字段类型不一致。如记录更新日期,有data类型,有text类型。
04
数据存放在多级目录结构下:收集的成果数据一般以行政区划编号、图幅号、作业单位名称或作业员编号等命名的文件夹下存放地理数据库。但收集的数据成果可能存放在不同层级的文件夹下,不同的数据集中,或者图层缺失。
1.4 说一说要求
-
指定路径下,递归将不同数据格式下的同名图层合并;
-
合并过程中,不应降低字段属性的精度,不能缺失属性值(如字段长度不够);
-
合并过程中,支持自动检测字段属性信息,适当调整属性精度、长度、类型,确保数据能正确,并输出日志;
为此,一个用于将指定目录下,将不同数据格式,同名图层名称的数据合并为一个图层就显得尤为重要。
该工具在合并过程中,应具有一些其他功能,如对数据进行几何修复、空值处理、图层属性字段自适应等。
指定路径下同名图层合并工具,递归指定文件夹目录,对所有要素类进行检索,将同名要素类进行合并处理。
二、指定路径下同名图层合并工具
2.1 工具概述
指定路径下同名图层合并工具,支持的功能:
(1)对指定目录下的要素类,按同名图层(忽略图层名大小写)进行合并。合并的过程中,对字段类型、几何错误以及空值进行处理。
(2)支持严格模式和非严格模式;严格模式下,默认所有同名图层字段属性项相同;非严格模式下,会对同名(忽略图层名大小写)图层的字段(忽略大小写)进行分析,优化和拓展字段属性项,以确保数据合并能正确执行;
(3)“非严格模式”,将解决影响数据合并规则的因子:
a) 忽略字段名存在大小写,合并或追加时会自动解决;如:feature,Feature;
b) 忽略图层名存在大小写;如:LCRA,Lcra ;
c) 同名字段类型不一致;如:string,date ;
d) 同名字段长度不一致;
e) 同名字段精度不一致;
f) 同名字段是否必填不一致;
g) 同名字段是否包含空值不一致;
(4)“严格模式”,此时,会忽略图层名称大小写问题。但同名图层下的字段属性,需保持一致,否则可能出现数据合并失败。
(5)在输出目录下,输出数据合并日志文本。
2.2 功能流程
工具打开界面如下图所示:
工具参数介绍如下:
工具输出:
-
在“输出路径”下,输出“输出数据库名称”.gdb。
-
在“输出路径”下,输出数据合并日志(.txt),将记录数据合并中出现异常的记录和错误。
注意事项:
当勾选“是否修复几何”、“是否修复空值”时,将对检索出的合并图层进行几何修复或空值处理,将改变原始数据的状态。建议合并数据前,对原始数据进行备份。
当不勾选“是否开启严格模式”,即默认状态下。合并的结果,将忽略图层名称,字段名称的大小写,且会对字段长度,类型,和精度按一定的规则进行进行优化、扩展,以确保数据合并过程能顺利完成,当图层字段属性要求不可更改时,待数据合并后,应对图层字段进行核实处理。