数据融合工具(1)指定路径下同名图层合并

情景再现,呼叫小编

————数据合并时,你是否也经常碰到这些情况?

  • 数据存在几何错误,合并失败!

  • 数据字段类型不一致,合并失败!

  • 合并工具运行有警告信息,不知道是否合并成功?

  • 合并前后不知道数据有没有丢失?

  • 数据藏得很深,一层层展开目录寻找同名图层!

  • 总是报错,不知道改哪里才能让数据正常合并?

……

那么,请接着往下看!


一、需求背景

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 功能流程

工具打开界面如下图所示:

图片

工具参数介绍如下:

图片

工具输出:

  1. 在“输出路径”下,输出“输出数据库名称”.gdb。

  2. 在“输出路径”下,输出数据合并日志(.txt),将记录数据合并中出现异常的记录和错误。

注意事项:

        当勾选“是否修复几何”、“是否修复空值”时,将对检索出的合并图层进行几何修复或空值处理,将改变原始数据的状态。建议合并数据前,对原始数据进行备份。

        当不勾选“是否开启严格模式”,即默认状态下。合并的结果,将忽略图层名称,字段名称的大小写,且会对字段长度,类型,和精度按一定的规则进行进行优化、扩展,以确保数据合并过程能顺利完成,当图层字段属性要求不可更改时,待数据合并后,应对图层字段进行核实处理。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年中国网络安全市场全景图 -百度下载

是自2018年开始,数说安全发布的第七版全景图。 企业数智化转型加速已经促使网络安全成为全社会关注的焦点,在网络安全边界不断扩大,新理念、新产品、新技术不断融合发展的进程中,数说安全始终秉承科学的方法论,以遵循…

航模插头篇

一、常见的电池插头(电调端 是公头 电池端 是母头) 电池总是被插的 1.XT60头 过流大 安全系数高 难插拔 2.T插 插拔轻松 过流比较小 容易发烫 电调端 是公头 电池端 是母头 3.香蕉头插孔 过流够 插拔轻松 但 容易插反 爆炸 4.TX90(和XT60差…

如何在Java中实现全文搜索功能

如何在Java中实现全文搜索功能 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 全文搜索是现代应用程序中常见的需求,特别是在需要对大量文本数据进…

完整篇-Python数据类型转换

目录 1、「整数到浮点数」: 2、「浮点数到整数」: 3、「字符串到整数」: 4、「字符串到浮点数」: 5、「整数到字符串」: 6、「浮点数到字符串」: 7、「布尔值到整数」: 8、「列表到元组…

数据赋能(138)——开发:数据映射——技术方法、主要工具

技术方法 数据映射的技术方法主要包括以下几种: 手工法: 手工法涉及开发人员手动编码数据源和目标架构之间的链接。这通常使用如XSLT这样的计算机语言来编写代码,将XML文档翻译成各种格式。然而,随着数据系统的扩展和复杂化&…

11-阿里云服务器 ECS-FileZilla的文件传输

FileZilla的下载与安装以及简单使用(有图解超简单)-CSDN博客 Windows下 FileZilla客户端下载与安装 官方下载地址:https://www.filezilla.cn/download 绿色版我们可以理解为免安装版本,而安装版本则是需要运行Setup的引导程序,最大的区别就是会不会生成注册表。 filezi…

Running cmake version 2.8.12.2解决方案

Centos7安装mysql8.0,编译环节出现如下报错: Running cmake version 2.8.12.2 CMake Warning at CMakeLists.txt:82 (MESSAGE):Please use cmake3 rather than cmake on this platform-- Please install cmake3 (yum install cmake3) CMake Error at CMa…

哪些算法使用了 树 数据结构

树数据结构在计算机科学中非常常见,许多算法使用了树数据结构来解决各种问题。以下是一些常见的算法和应用: 1. **二叉搜索树 (Binary Search Tree, BST)**: - 插入 (Insertion) - 查找 (Search) - 删除 (Deletion) 2. **平衡树**…

通过一个单相逆变器仿真深度学习PR控制器

目录 前言 ​编辑 PR控制器的理论 PR控制器不同表达式及其建模 PR控制器连续积分组合及模型 PR控制器连续传递函数及模型 PR控制器离散积分及模型 PR控制器离散传递函数及模型 PR控制器差分方程及模型 系统仿真效果 总结 前言 在项目开发中常用PI控制器,这次在…

VBA 正则表达式初体验

VBA 正则表达式初体验 Option ExplicitSub demo()Dim i As Long, j As Long, k As Long, s As StringDim reg1 As Object, matches1 As Object, mch1 As ObjectDim reg2 As Object, matches2 As Object, mch2 As ObjectDim allBonus As Stringi 6s Range("a1").Va…

Symfony文件上传功能实现:打造强大而安全的Web应用

Symfony文件上传功能实现:打造强大而安全的Web应用 Symfony是一个高度灵活的PHP Web框架,用于创建快速、安全且易于维护的Web应用。文件上传是Web开发中的常见需求,Symfony提供了一套简单而强大的方法来处理文件上传。本文将详细介绍如何在S…

深入探索PHP中的多维数组:构建复杂数据结构的艺术

深入探索PHP中的多维数组:构建复杂数据结构的艺术 引言 在PHP开发中,数组(Array)是一种非常重要的数据类型,它允许我们存储多个值,并且这些值可以是不同类型的。而多维数组(Multidimensional …

BeanUtils拷贝List数据

工具类: package com.ssdl.baize.pub;import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; import org.springframework.beans.BeanUtils;public class BeanConvertUti…

【BUUCTF-PWN】10-bjdctf_2020_babystack

简单的栈溢出,ret2text 64位,开启了NX保护 执行效果: main函数: 因为读入的字符长度可以由用户输入的第一个参数值决定,因此read函数存在栈溢出 覆盖距离为0x108 存在后门函数: 后门函数地址0x4…

Kaptcha验证码

Kaptcha验证码 Kaptcha 是一个用于生成验证码的开源库&#xff0c;在 Java 中使用它可以轻松地为应用程序添加验证码功能。 一、引入依赖 首先&#xff0c;需要在项目的 pom.xml 文件&#xff08;如果是 Maven 项目&#xff09;中添加 Kaptcha 的依赖&#xff1a; <depend…

Node.js 使用 gRPC:从定义到实现

1. 概述&#xff1a; gRPC&#xff08;gRPC Remote Procedure Calls&#xff09;是一个高性能、开源的远程过程调用&#xff08;RPC&#xff09;框架&#xff0c;由 Google 开发。它支持多种编程语言&#xff0c;旨在简化和优化分布式系统中的服务通信。 2. gRPC的优势&#…

AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 0x03.初识与安装 cuDNN 深度学习库 什么是cuDNN? cuDNN&#xff08;CUDA Deep Neural Network library&#xff09;是由英伟达&#xff08;NVIDIA&#xff09;开发的深度学习库&#xff0c;专门用…

昇思学习打卡-5-基于Mindspore实现BERT对话情绪识别

本章节学习一个基本实践–基于Mindspore实现BERT对话情绪识别 自然语言处理任务的应用很广泛&#xff0c;如预训练语言模型例如问答、自然语言推理、命名实体识别与文本分类、搜索引擎优化、机器翻译、语音识别与合成、情感分析、聊天机器人与虚拟助手、文本摘要与生成、信息抽…

LLMs之gpt_academic:gpt_academic的简介、安装和使用方法、案例应用之详细攻略

LLMs之gpt_academic&#xff1a;gpt_academic的简介、安装和使用方法、案例应用之详细攻略 目录 gpt_academic的简介 1、版本更新历史 版本: 1、新增功能及其描述 新界面&#xff08;修改config.py中的LAYOUT选项即可实现“左右布局”和“上下布局”的切换&#xff09; 所…

Linux shell编程学习笔记62: top命令 linux下的任务管理器

0 前言 top命令是Unix 和 Linux下常用的性能分析工具&#xff0c;提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息&#xff0c;以及正在运行的进程的相关信息&#xff0c;包括各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。 1 top命令…