本文主要是介绍高标准农田建设项目格田田块线批量生成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
高标项目比原来土地整治项目做的细致一些。需要按格田计算土方,并且高标项目的面积一般都比较大,动则上万亩,几千个田块。
用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有批量拓扑构面功能。
这篇关于高标准农田建设项目格田田块线批量生成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!