当前位置: 首页 > news >正文

FME教程:一键批量调换图斑X、Y坐标,解决因为坐标弄反了,导致GIS弹窗提示“范围不一致”警告问题

目录

一、实现效果

二、实现过程

1.读取数据

2.提取坐标

3.调换图斑的X、Y坐标

4.输出成果

5.模板的使用

三、总结


在工作中有时候会出现因为失误导致图斑的X、Y坐标弄反,在GIS中打开是会提示“范围不一致”警告的弹窗警告,如果重做工作量非常大,本文介绍如何使用FME实现一键批量调换图斑的X、Y坐标,并且调换X、Y坐标后,图斑属性表保持不变。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。

一、实现效果

下面的图1、图2、图3分别为原始的shapefile数据、弹窗警告、调换XY坐标后的图斑数据,可以看到成功实现了对图斑的X、Y坐标进行调换,同时调换后输出的成果数据保留字段属性不变。

图片

图1 原始数据

图片

图2 弹窗警告:范围不一致

图片

图3 成果数据

二、实现过程

1.读取数据

要进行数据合并,首先要进行数据读取,这里使用shapefile读模块将shapefile数据读取进来,如下图所示。   

图片

图4 读取数据

2.提取坐标

要对图斑进行X、Y坐标进行调换,那么首先要将图斑的坐标都提取出来,如下图所示。

图片

图5 提取坐标

3.调换图斑的X、Y坐标

在将图斑的X、Y坐标提取出来后,将图斑的每一个节点的坐标进行X、Y互相替换,效果如下图。

图片

图6 调换图斑的X、Y坐标

4.输出成果

完成数据处理后,添加一个shapefile格式的写模块,将成果数据进行输出,如果需要输出其他格式数据,那么使用相应格式的写模块即可,如下图所示。

图片

图7 输出成果

5.模板的使用

在使用模板时,选择源shapefile数据、输出目录等参数,然后点击运行即可。  

图片

 图8 运行选项


☛ FME系列视频教程推荐 ☚


  • 1.FME入门视频教程

  • 2.FME进阶视频教程

  • 3.FME案例实战教程

  • 4.FME扩展讲解教程


频讲解及模板下载☛ :【视频教程】14.批量调换图斑的X、Y坐标


        

三、总结

本案例介绍了使用FME实现一键批量调换图斑的X、Y坐标,并且调换X、Y坐标后,图斑属性表保持不变的思路方法,其他的几何类型,比如点、线等,进行X、Y坐标调换解决的思路方法也是相同的,可以参考使用修改。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。

图片

图9 总体流程


☟ 往期推荐 ☟


  • FME进阶视频教程:一起来深入学习FME软件的使用,轻松搞定通宵爆肝都干不完的工作

  • FME案例实战教程:聚焦实战应用,摆脱思路束缚,您值得拥有

  • FME入门视频教程-带你学习数据转换处理多面手FME软件的使用,让我们的工作事半功倍

  • 解决FME读取shapefile数据,提示意外输入,“在转换中,某些读取的要素与工作空间的要素类不匹配……”的办法--更新读模块

  • FME调用Python第三方库方法,无需在FME内置Python中安装第三方库,也能实现调用的方法,一次配置,后续直接使用

  • 批量修改图斑起始点为左上角节点(顺时针方向排列),其他方位的起始点在本案例基础上微调即可实现

  • 快速批量提取图斑四至点,并输出shapefile数据的实现方法

  • 以根据自然幢给宗地红线在相交处添加节点为例,介绍图斑在公共边相交处加节点的实现方法

    基于FME实现的地理数据库批量建库的解决方案,支持gdb、mdb、shapefile等数据格式

  • CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题

  • 实现按属性字段合并图斑,同时合并属性字段值,对合并的属性值同步进行去重处理的案例思路方法

相关文章:

FME教程:一键批量调换图斑X、Y坐标,解决因为坐标弄反了,导致GIS弹窗提示“范围不一致”警告问题

目录 一、实现效果 二、实现过程 1.读取数据 2.提取坐标 3.调换图斑的X、Y坐标 4.输出成果 5.模板的使用 三、总结 在工作中有时候会出现因为失误导致图斑的X、Y坐标弄反,在GIS中打开是会提示“范围不一致”警告的弹窗警告,如果重做工作量非常大…...

OpenCV-Python实战(4)——图像处理基础知识

一、坐标 在 OpenCV 中图像左上角坐标为(0,0),竖直向下为 Y(height) ;水平向右为 X(width)。 二、生成图像 2.1 灰度图像 img np.zeros((h,w), dtype np.uint8) i…...

音视频入门基础:MPEG2-PS专题(1)——MPEG2-PS官方文档下载

一、引言 MPEG2-PS(又称PS,Program Stream,程序流,节目流)是一种多路复用数字音频、视频等的封装容器。MPEG2-PS将一个或多个分组但有共同的时间基准的基本数据流 (PES)合并成一个整体流。它是…...

Qt自定义步骤引导按钮

1. 步骤引导按钮 实际在开发项目过程中,由一些流程比较繁琐,为了给客户更好的交互体验,往往需要使用step1->step2这种引导对话框或者引导按钮来引导用户一步步进行设置;话不多说,先上效果 2. 实现原理 实现起来…...

贝叶斯神经网络(Bayesian Neural Network)

最近在研究贝叶斯神经网络,一些概念一直搞不清楚,这里整理一下相关内容,方便以后查阅。 贝叶斯神经网络(Bayesian Neural Network) 贝叶斯神经网络(Bayesian Neural Network)1. BNN 的核心思想2. BNN 的优化目标3. BNN 的结构与特点4. BNN 的训练过程5. BNN 的优缺点6. …...

Direct Preference Optimization: Your Language Model is Secretly a Reward Model

DPO直接偏好优化:你的语言模型实际上是一个奖励模型 前言知识储备 什么是用户偏好数据目的:用于指导模型行为,使其输出更符合特定用户或者用户群体期望和喜好的信息。 用户偏好数据通常反映了用户对特定内容、风格、观点或者互动方式的倾向。 用户偏好数据的收集通常涉及直…...

如何通过 Kafka 将数据导入 Elasticsearch

作者:来自 Elastic Andre Luiz 将 Apache Kafka 与 Elasticsearch 集成的分步指南,以便使用 Python、Docker Compose 和 Kafka Connect 实现高效的数据提取、索引和可视化。 在本文中,我们将展示如何将 Apache Kafka 与 Elasticsearch 集成以…...

嵌入式系统 第十二讲 块设备和驱动程序设计

• 块设备是Linux三大设备之一(另外两种是字符设备,网络设备),块 设备也是通过/dev下的文件系统节点访问。 • 块设备的数据存储单位是块,块的大小通常为512B至32KB不等。 • 块设备每次能传输一个或多个块&#xff0c…...

攻防世界web第六题upload

这是题目&#xff0c;可以看出是个上传文件的题目&#xff0c;考虑文件上传漏洞&#xff0c;先随便上传一个文件试试&#xff0c;要求上传的是图片。 可以看到上传成功。 考虑用一句话木马解决&#xff0c;构造文件并修改后缀为jpg,然后上传。 <?php eval($_POST[attack])…...

人工智能-Python网络编程-HTTP

用Python创建自己的HTTP服务器 方案一 HTTP-Python官方 python -m http.server 80 方案二 HTTP-概念版 import socketIPV4_ADDR 192.168.124.7 IPV4_PORT 8888# TCP 服务端程序必须绑定端口号&#xff0c;否则客户端找不到这个 TCP 服务端程序 class ServerSocket(obje…...

探索仓颉编程语言:功能、实战与展望

目录 引言 一.使用体验 二.功能剖析 1.丰富的数据类型与控制结构 2.强大的编程范式支持 3.标准库与模块系统 4.并发编程能力 三.实战案例 1.项目背景与目标 2.具体实现步骤 (1).导入必要的模块 (2).发送 HTTP 请求获取网页内容 (3).解析 HTML 页面提取文章信息 (…...

Unity-Editor扩展显示文件夹大小修复版 FileCapacity.cs

实战中是这样的,大项目, 容易定位美术大资产 (原版的代码有问题,每次点运行都会卡顿,大项目20S) //但其实获整个项目内容,1G都没有,有够省的(10年前的中型项目,一直有出DLC) using System; using System.Collections; using System.Collections.Generic; using Sy…...

BLE core 内容整理解释

本文内容比较杂散&#xff0c;只是做记录使用&#xff0c;后续会整理的有条理些 link layer 基本介绍 **Link Layer Control&#xff08;链路层控制&#xff09;**是蓝牙低功耗&#xff08;BLE&#xff09;协议栈的核心部分&#xff0c;负责实现设备间可靠、安全、低功耗的数…...

Linux CPU调度算法

简述 ● CPU数量 < 进程数 ● 每次CPU都要决定下一个运行的进程&#xff0c;这个选择叫做CPU调度&#xff1b;这个选择工作就叫做CPU调度程序 ● 如果一个进程中有多个线程的话&#xff0c;内核管理的线程就以线程为基本单位 ● 进程通常分为两种&#xff0c;一种长时间占…...

Linux套接字通信学习

Linux套接字通信 在网络通信的时候, 程序猿需要负责的应用层数据的处理(最上层)&#xff0c;而底层的数据封装与解封装&#xff08;如TCP/IP协议栈的功能&#xff09;通常由操作系统、网络协议栈或相关网络库&#xff08;如Socket库&#xff09;实现。&#xff08;程序员只需要…...

mybatis-plus 用法总结

MyBatis-Plus&#xff08;简称 MP&#xff09;是 MyBatis 的增强工具&#xff0c;旨在简化开发者的 CRUD 操作。它在 MyBatis 的基础上提供了更多的功能和便利性&#xff0c;如代码生成器、分页插件、性能分析插件等&#xff0c;使开发者能够更高效地进行数据库操作。MyBatis-P…...

小程序配置文件 —— 14 全局配置 - tabbar配置

全局配置 - tabBar配置 tabBar 字段&#xff1a;定义小程序顶部、底部 tab 栏&#xff0c;用以实现页面之间的快速切换&#xff1b;可以通过 tabBar 配置项指定 tab 栏的表现&#xff0c;以及 tab 切换时显示的对应页面&#xff1b; 在上面图中&#xff0c;标注了一些 tabBar …...

Redis-十大数据类型

Reids数据类型指的是value的类型&#xff0c;key都是字符串 redis-server:启动redis服务 redis-cli:进入redis交互式终端 常用的key的操作 redis的命令和参数不区分大小写 &#xff0c;key和value区分 1、查看当前库所有的key keys * 2、判断某个key是否存在 exists key 3、查…...

linux系统编程(七)管道和FIFO

1、管道 使用系统调用pipe可以创建一个新管道&#xff1a; #include <unistd.h> int pipe(int filedes[2]);成功的pipe调用会在数组filedes中返回两个打开的文件描述符&#xff0c;读取端为filedes[0]&#xff0c;写入端为filedes[1]。我们可以使用read/write系统调用在…...

【vLLM大模型TPS测试三部曲】

安装 pip install vllm模型自行下载 例如: https://modelscope.cn/models/jackle/Qwen2.5-Coder-32B-GPTQ-Int4/ 部署测试 export VLLM_MODELQwen2.5-Coder-32B-GPTQ-Int4 # 启动 python3 -m vllm.entrypoints.openai.api_server --model $VLLM_MODEL --deviceauto --enf…...

GCC开发者转LLVM必看:模块化设计带来的5个关键工作流变革

GCC开发者转LLVM必看&#xff1a;模块化设计带来的5个关键工作流变革 当GCC开发者第一次接触LLVM时&#xff0c;往往会惊讶于其完全不同的设计哲学。就像从单块巨石建筑转向预制模块化结构&#xff0c;LLVM的三段式架构不仅改变了代码的组织方式&#xff0c;更从根本上重塑了编…...

从零开始深度学习:PyTorch 2.8镜像环境配置与验证教程

从零开始深度学习&#xff1a;PyTorch 2.8镜像环境配置与验证教程 1. 为什么选择PyTorch 2.8镜像&#xff1f; 深度学习环境配置一直是让开发者头疼的问题&#xff0c;特别是当需要GPU加速时&#xff0c;PyTorch版本、CUDA工具包、显卡驱动之间的兼容性问题常常让人望而却步。…...

蓝桥杯备赛避坑指南:从校赛落选到国三逆袭的实战经验分享

蓝桥杯备赛避坑指南&#xff1a;从校赛落选到国三逆袭的实战经验分享 第一次参加蓝桥杯校赛时&#xff0c;我连最简单的编程题都没能完整写出。看着屏幕上仅完成的两道签到题和一堆未通过的测试用例&#xff0c;那种挫败感到现在都记忆犹新。但正是这次失败&#xff0c;让我后来…...

告别裸机轮询:在GD32F30x上用USART中断和回调函数实现驱动解耦

GD32F30x串口驱动架构升级&#xff1a;从轮询到中断回调的工程化实践 在嵌入式开发中&#xff0c;串口通信作为最基础的外设接口之一&#xff0c;其实现方式往往决定了整个系统的响应效率和代码质量。许多工程师在项目初期为了快速验证功能&#xff0c;常采用简单的轮询方式处理…...

Spring AI + DeepSeek 实战:5分钟搞定一个能听懂人话的数据库查询工具

Spring AI DeepSeek 实战&#xff1a;5分钟搞定一个能听懂人话的数据库查询工具 在数据驱动的时代&#xff0c;数据库查询是每个开发者绕不开的日常任务。但当你面对产品经理频繁变更的需求&#xff0c;或是运营同事临时提出的数据提取请求时&#xff0c;反复编写和调试SQL语句…...

告别Salesforce!这5个开源AI CRM项目,帮你用更低成本打造专属客户管理系统

开源AI CRM革命&#xff1a;5个低成本替代方案深度评测与技术选型指南 当Salesforce的年费账单突破六位数时&#xff0c;越来越多的技术决策者开始将目光转向开源生态。这不是简单的成本妥协&#xff0c;而是一场关于数据主权、技术栈控制和AI原生体验的范式转移。以下是经过三…...

别再硬编码了!用CRMEB标准版的可视化定时任务,5分钟搞定自动发券

告别硬编码时代&#xff1a;CRMEB可视化定时任务实战指南 在电商系统开发中&#xff0c;定时任务就像一位不知疲倦的助手&#xff0c;默默处理着自动发券、订单状态更新、数据清理等重复性工作。但传统开发方式往往需要开发者手动编写Crontab配置或硬编码任务逻辑&#xff0c;不…...

ZPL文件操作避坑指南:从OPEN到CLOSE的5个常见错误排查

ZPL文件操作避坑指南&#xff1a;从OPEN到CLOSE的5个常见错误排查 在光学设计领域&#xff0c;ZPL宏作为ZEMAX的自动化利器&#xff0c;文件操作是绕不开的核心技能。但当你从教程里的完美示例转向真实项目时&#xff0c;那些被刻意简化的场景往往会暴露出各种"坑"。…...

USB2.0供电那些事儿:为什么你的外设总是供电不足?

USB2.0供电困境解析&#xff1a;从原理到实践的全面解决方案 当你的移动硬盘突然断开连接&#xff0c;或者外接键盘间歇性失灵时&#xff0c;很可能正遭遇USB2.0供电不足的经典难题。这种看似简单的接口背后&#xff0c;隐藏着复杂的电力分配机制与设备兼容性博弈。本文将带你穿…...

Step3-VL-10B-Base与C语言基础教程:嵌入式开发入门

Step3-VL-10B-Base与C语言基础教程&#xff1a;嵌入式开发入门 1. 引言 想学嵌入式开发但不知道从哪开始&#xff1f;很多新手卡在第一步&#xff1a;既要学C语言&#xff0c;又要懂硬件&#xff0c;感觉门槛很高。其实没那么复杂&#xff0c;用对方法就能快速上手。 这个教…...