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

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

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

Java实现批量化操作Excel文件的示例代码

《Java实现批量化操作Excel文件的示例代码》在操作Excel的场景中,通常会有一些针对Excel的批量操作,这篇文章主要为大家详细介绍了如何使用GcExcel实现批量化操作Excel,感兴趣的可... 目录前言 | 问题背景什么是GcExcel场景1 批量导入Excel文件,并读取特定区域的数据场景2