ArcGIS说,在GIS领域,只有你想不到,没有我做不到的事情。问就是你没找对方法。
我的栅格比较特殊,一个是渔网,有我想要的属性数据,一个是不规则形状,
extract by mask-不推荐
失败原因如图。就是渔网不能按照不规则紫色区域进行提取。
raster calculate-不推荐
同样的,不好计算。至少我不成功
fishnet -不推荐
思路就是:将不规则栅格B进行渔网化,进而可以获得和格网A一致的小格子,空间上可叠加的小格子,将A的属性赋给B
生成的渔网的坐标系统和网格大小选择的格网A,但是生成出来的格网有角度偏移
可以看见切出来的格网线和底下的规则格网对不上
可行步骤
以下内容大部分来自一位可可爱爱的师姐的帮助。
1 栅格转矢量
用shp更好。也只能用shp,因为要求要素
我选择矢量的原因是我的不规则栅格属性只有一行。需要转为矢量将每个小polygon都赋予值
这样之后进行计算的时候每个格网里都有值
唯一需要注意的就是,不要选择简化
原因可见官网
/zh-cn/pro-app/latest/tool-reference/conversion/raster-to-polygon.htm
2 相交
这一步目的是获得每个规则格网区域内,对应的不规则格网。方便后面计算
众里寻他千百度,蓦然回首,方法就在似曾相似处!!
另,arcgispro的相交有点、线和面三类的介绍,可以了解下
相交工具的工作原理
/zh-cn/pro-app/latest/tool-reference/analysis/how-intersect-analysis-works.htm
3 计算面积
唯一注意的就是,由于是矢量数据,如果数据量大,就吃性能
这里就是计算每个矢量的面积
4 面换点
这一步是为了后面的计算需要。经过试错,转为点之后进行计算的误差会比直接用面计算小很多很多
属于经验步骤
右击选择Batch,批量操作
5 空间连接
在arcgis pro中我进行空间连接的属性相加,老是不成功,所以我换到arcmap中做
6 新增字段计算
5连接过后,规则格网新增了字段,就是不规则格网的各个属性字段和,包括面积和。
此时在规则格网的属性表中再新增一个计算,计算几何,得到的是规则格网的面积。当然值都是一样的
又新增一个字段,将两个面积相除,最后就能得到,面积比
解毕。可以拿去做自己想要的分析了。
其他 属性表连接后显示为0
字段数据格式问题
操作方法:在 ArcGIS Pro 中更改现有字段的数据类型
命名啊字段匹配啊微软office不兼容等等等
FAQ: Why does the attribute table have null or empty values after a join?
/en/technical-article/000008715
坐标系统不符合,特指两个数据join,不是这里的和一张表
Spatial Join shows 0 in all fields in ArcGIS Pro
/t5/arcgis-pro-questions/spatial-join-shows-0-in-all-fields-in-arcgis-pro/td-p/260735
或许,只是这几个位置显示0,其实数据还是有的,重新排序就好了。【抱歉我就是】