高标准农田建设项目格田田块线批量生成

2023-10-17 10:59

本文主要是介绍高标准农田建设项目格田田块线批量生成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高标项目比原来土地整治项目做的细致一些。需要按格田计算土方,并且高标项目的面积一般都比较大,动则上万亩,几千个田块。

用CASS或者GLAND等软件。但是计算的前提是需要绘制格田范围线,统计面积以及用于每个格田土方平衡计算。

这个工作是个繁琐重复的工作,以往一般人工绘制比较慢。下面分享两个方法,可以批量生成,两个方法的原理都是相同的。

原理即是,格田线 由沟路渠和田埂围合而成,挑选出这些层的多线段,设置一定的容差,即可用转换工具转换成闭合面。

方法1:ArcGIS

1、加载规划图,一般为CAD图件

2、定义查询,需要的图层,如“layer” like ‘%渠%’ OR“layer” like ‘%i沟%’等。

3、使用要素转换面工具,设置合理的容差。生成面。

4、根据格田的面积特性,筛选格田,去除不需要的面,如 面积大于300小于3000,面积与周长比大于3,周长小于300等特征,筛选出需要的面。

5、利用符号自动生成不同填充色,检查是不是有的田埂线绘制的不规范,导致两个田块并成一个,比如田埂线没有延长至沟渠,有大于容差的距离会产生这个错误。

6、修改规划图,重复上述转换。

7、成功后,转出成果,到其它软件内计算土方,再进行检查调整土方。

总结:可以把上述步骤利用ArcGIS建模工具,写成一个工具,使用时直接调用。

方法2:FME

原理同上,思路是一样的。

1、读取文件

2、设置读取的层

3、暴露层属性等

4、判断所在层以及是否为多段线

5、打段所有线,可以设置容差

6、生成面,可以调置容差

7、计算面积和周长

8、通过田块的特征,筛选出需要的面

9、写模块到CAD文件,设置不同的层及样式,方便打开CAD检查

总结,FME比ArcGIS一步步操作快一些,如果ArcGIS建好了模型,直接调用,效率相当。

下面是FME的建模流程。

有更好的办法,欢迎大家一起交流,细致点可以考虑用路进行缓冲区,再擦除区,或者用缓冲区后的线进行参与计算一起生成面。

LISP应该也可以用相同的思路进行编程得到这个功能,好像要高版本CAD有批量拓扑构面功能。

这篇关于高标准农田建设项目格田田块线批量生成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/224917

相关文章

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法