数据融合工具(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.mfbz.cn/a/774149.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

价值499的从Emlog主题模板PandaPRO移植到wordpress的主题

Panda PRO 主题,一款精致wordpress博客主题,令人惊叹的昼夜双版设计,精心打磨的一处处细节,一切从心出发,从零开始,只为让您的站点拥有速度与优雅兼具的极致体验。 从Emlog主题模板PandaPRO移植到wordpres…

GUKE万能工具箱(附带源码)

GUKE万能工具箱&#xff08;附带源码&#xff09; 效果图部分源码领取完整源码下期更新 效果图 部分源码 <!DOCTYPE html> <html><head><meta charset"utf-8" name"viewport" content"widthdevice-width, initial-scale1"…

化学合成水热釜 加热反应釜 实验室高温高压设备

水热釜&#xff0c;也称为高压消解罐或高压釜&#xff0c;是一种能够在高温高压条件下进行化学反应的实验室设备。它广泛应用于化学、地质、材料科学、环境科学等领域&#xff0c;特别是在需要在高压环境下加速化学反应或溶解难溶物质的实验中。以下是水热釜的一些关键特性和用…

.Net Core + DDD基础分层

基础设施层 基础设施层使用的相关知识&#xff1a;Code First &#xff0c;EF Core&#xff0c;Autofac依赖注入&#xff0c;仓储模式的实现接口&#xff0c;领域服务的实现接口&#xff0c;缓存&#xff0c;以及各种基础工具类 一&#xff0c;Code First&#xff1a;使用Cod…

SaaS行业的AI化征程:穿越“大模型焦虑”,拥抱“AI自信”

随着大模型技术的风起云涌&#xff0c;SaaS行业正站在一个充满机遇与挑战的十字路口。本文旨在深入剖析SaaS厂商在AI化升级过程中所遭遇的“大模型焦虑”&#xff0c;并探索通过战略性的AI应用策略&#xff0c;如何重拾信心&#xff0c;实现产品与服务的华丽转身&#xff0c;为…

【C++】 解决 C++ 语言报错:Invalid Cast

文章目录 引言 无效类型转换&#xff08;Invalid Cast&#xff09;是 C 编程中常见且严重的错误之一。当程序试图进行不合法或不安全的类型转换时&#xff0c;就会发生无效类型转换错误。这种错误不仅会导致程序崩溃&#xff0c;还可能引发不可预测的行为。本文将深入探讨无效…

如何在 Odoo 16 中向新视图添加字段

例如,让我们看看如何在新视图或新操作窗口中创建“many2one”字段。 请考虑下面的屏幕截图,它表示不包含任何字段的新视图类型或客户端操作窗口。 我们现在可以将与“res.partner”关联的“多对一”字段引入到我们的新视图或客户端操作窗口中。 为了实现这一点,在 XML 模板…

万字长文|关于 OpenAI 接口开发你应该知道的一切

这篇文章中个人结合自己的实践经验把 OpenAI 官方文档解读一遍。但是原文档涉及内容众多&#xff0c;包括微调&#xff0c;嵌入&#xff08;Embeddings&#xff09;等众多主题&#xff0c;我这里重点挑选自己开发高频使用到的&#xff0c;需要详细了解的可以自行前往官网阅读。…

24西安电子科技大学数学与统计学院—考研录取情况

24西安电子科技大学—数学与统计学院—考研录取统计 01、数学与统计学院各个方向 02、24数学与统计学院近三年复试分数线对比 数统院24年院线相对于23年院线增加高达30分&#xff0c;确实增长浮动比较高&#xff0c;接近30分的水平&#xff0c;因此大家更需要好好去努力&#x…

Android zygote访谈录

戳蓝字“牛晓伟”关注我哦&#xff01; 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章&#xff0c;技术文章也可以有温度。 本文摘要 本文以访谈的方式来带大家了解zygote进程&#xff0c;了解zygote进程是啥&#xff1f;它的作用是啥&#xff1f;它是如何一步…

idea启用多个环境

背景 在平常的后端开发中&#xff0c;需要与前端联调&#xff0c;比较方便的是让前端直接连自己的本地环境&#xff08;毕竟每次都要打包部署到测试环境实在是太麻烦了&#xff09;。但是这样子也有点不好&#xff0c;就是自己功能还没写好呢&#xff0c;结果前端连着自己的环…

如何利用Kimi解读Kimi的KVCache技术细节

最近Kimi公布了一篇Mooncake: Kimis KVCache-centric Architecture for LLM Serving的文章&#xff0c;详细介绍了Kimi背后的推理架构&#xff0c;因此笔者想到用Kimi解读Kimi&#xff0c;梳理相关技术要点如下&#xff0c;供大家参考&#xff1a; 文章 "Mooncake: A KVCa…

2024年中国安防CIS市场现状及主要竞争企业分析

2024年中国安防CIS市场现状及主要竞争企业分析 CIS又名CMOS图像传感器&#xff0c;属于一种光学传感器&#xff0c;将光信号转换为电信号并通过读出电路转为数字化信号&#xff0c;是摄像头模组的核心元器件&#xff0c;可以用于手机、汽车、电脑、安防、消费等领域。不同应用领…

风电升压站3d动画演示定制确保每一名职工都能够安全、健康地工作

海上风电工程建设包括大量的吊装作业、架空作业、埋设作业以及电气作业&#xff0c;涉及面广&#xff0c;风险较高&#xff0c;因此在技能培训上需要格外重视&#xff0c;基于VR安全培训的广泛应用&#xff0c;企业逐渐开始引进VR虚拟仿真技术&#xff0c;利用视觉、听觉和亲身…

内存管理(RTOS)

目录 #RTOS内存管理介绍 #堆定义 #栈定义 #RTOS四种堆分配方案 #Heap_1.c #Heap_2.c #Heap_3.c #Heap_4.c #Heap_5.c #stm32cublemx对堆的配置 #配置堆相关函数 #申请内存函数 #钩子函数 前言&#xff1a;本课程参考韦东山老师视频&#xff0c;连接放在最后。 #R…

基于springboot的工作绩效管理系统的设计与实现+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

字节码编程javassist之定义各种属性

写在前面 源码 。 本文看下如何使用javassist来定义属性。 1&#xff1a;程序 package com.dahuyou.javassist.generateFieldAndMethod;import javassist.*;import java.lang.reflect.Method;public class JustDoIt111 {public static void main(String[] args) throws Exce…

【Python】已解决:NameError: name ‘reload’ is not defined

文章目录 二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;NameError: name ‘reload’ is not defined 一、分析问题背景 在使用Python进行开发时&#xff0c;有时我们可能需要重新加载某个已经导入的模块&#xff0c;以便应用模块中的最…

idm下载慢怎么回事 idm批量导入下载使用方法

IDM (Internet Download Manager)是一款兼容性大&#xff0c;支持多种语言的下载管理软件&#xff0c;它可以自动检测并下载网页上的内容&#xff0c;这正是这一优点&#xff0c;使得它受到了广大用户的喜爱。在日常使用互联网的过程中&#xff0c;快速下载文件对我们来说非常重…