Arcgis栅格转矢量面积时面积修改 您所在的位置:网站首页 arcgis面积自动更新 Arcgis栅格转矢量面积时面积修改

Arcgis栅格转矢量面积时面积修改

2024-07-10 21:54| 来源: 网络整理| 查看: 265

1、问题简述

每个国土空间规划都需要进行双评价,最后甲方爸爸都会要求将双评价的图层入库,图层要求为矢量图层,需要提供矢量图层中的每个图斑面积,而我们在进行双评价时,最终的图层往往是栅格图层,通过计算每个图斑的几何面积,然后汇总该区域的所有图斑面积会发现:汇总的几何面积和实际图斑面积对应不上,因此需要对几何面积进行平差处理。 因此,本篇文章就是基于python对几何面积进行平差处理,最终使得一个区域范围内的图斑面积之和等于实际区域的面积。

2、思路

目的是为了保证每个村的图斑面积字段要和村镇面积一致,因此,在计算措勤镇的一个图斑面积利用公式: 该图斑面积=几何面积/所在村的几何面积之和*所在村的村镇面积。确定这个思路后,就好写代码了。

3、步骤

①根据所在的矢量图层,新建一个面积字段,然后利用“按属性选择”获取到每个村的图斑,然后计算每个村的几何面积之和,将得到的数据填入b数组 在这里插入图片描述

②获取到每个村的面积后,完成b数组的更改,a数组是每个行政区域的面积,一般甲方爸爸会给。 ③右键面积字段,打开字段计算器,然后运行代码,其中的XZQMC是对应的行政区名称字段,Shape_Area是对应的图斑面积字段。 在这里插入图片描述

4、代码 a = [2805614243.79,3597771337.94,5152561706.77,3602584127.8,7735442721.3] ##五个乡镇的图斑面积,这儿是每个乡镇行政区面积 b = [2242565900.09,3143067837.89,5948992459.61,4155510460.43,7635875505.27] ##每个乡镇的几何面积之和 def areae(name,area): if name==("滨哥乡".decode('utf-8')): return area*a[0]/b[0] elif name==("垚哥乡".decode('utf-8')): return area*a[1]/b[1] elif name==("宇哥乡".decode('utf-8')): return area*a[2]/b[2] elif name==("锐哥乡".decode('utf-8')): return area*a[3]/b[3] else :##其 return area*a[4]/b[4]

总的来说,这个代码还是非常简单的,但是刚开始不愿意去思考如何用程序来处理数据,导致在进行双评价过程中,花费了大量的无用功。还是得多尝试尝试!!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有