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

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

相关文章

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区