测量栅格类别的面积?


9

ArcMap中是否有任何工具或方法可以测量内核密度输出的每个级别的面积?

注意,这只是一个内核密度图(不是形状文件或多边形)。内核密度分析(深绿色(10%)到红色(90%)(1)

我已经尝试了一些方法,但是我需要准确。

Kerenel密度分析(深绿色(10%)到红色(90%)

Answers:


7

我将使用以下工作流程来计算类中的面积:

  1. 将内核密度输出重新分类(Spatial Analyst)为您正在使用的任何类。默认情况下,ArcGIS为内核密度输出创建一个连续的栅格图,但是将图例重新分类(这是临时的)。使用重分类工具将使此永久化。
  2. 打开重新分类的内核密度属性表,并观察“ COUNT”字段(图1)。这是每个类别中所有像素的计数。例如,类别1(值= 1)的计数为620,063像素。由于我的坐标系是UTM,因此单位为米,像素为1m空间分辨率。因此,类别1为620,063 m ^ 2。
  3. 要将计数转换为其他单位(例如公顷),请在属性表中添加一个新字段。
  4. 计算字段(图2
  5. 逻辑通过突出显示一个类来检查结果(图3

图1

在此处输入图片说明

图2

在此处输入图片说明

图3

在此处输入图片说明


2

如果您想要一个弧形的解决方案:

import numpy as np  #not sure how arcpy imports numpy

r = arcpy.RasterToNumPyArray('your raster name')

for val in np.unique(r):
    area = np.sum(r == val)  #multiply this by your pixel area
    print 'value ', val, ' : ', area

或者,您可以将这些值写入csv /文本文件。


1

假设您的内核密度图是使用内核密度工具或类似工具创建的栅格,则只需使用栅格转多边形工具即可

确保指定用于定义栅格分类的字段,并将其转换为多边形。然后,您可以使用“ 计算几何”工具来计算面积。


我已经尝试过了。当我在其中拖动光栅文件时说“一个或多个放置的项目无效”。该错误表明文件中有文本在“干扰”您是否知道为什么会这样?
安格斯先生2014年

1
@MrAngus问题在于内核密度总是产生浮点栅格输出,而栅格到多边形需要整数栅格输入(请参阅链接的帮助文件)。您首先需要对KD栅格进行重新分类。
克里斯W

请注意,“计算几何”是针对每个要素的,不会给出共享给定类的所有多边形的总面积。
马特·威尔基,2015年

0

一个快速的解决方案是手动解决:

  1. 打开栅格的属性,然后转到符号系统选项卡。
  2. 大概符号系统已设置为“分类”,并且您想要的是类数。单击分类按钮。
  3. 对话框的右侧是“中断值”框。单击每个中断值,然后在对话框的底部看到#类元素。这是该类别中像素的计数。写下每个班级的数字,或将其输入电子表格。
  4. 取消回到栅格属性,然后切换到“源”选项卡。像元大小以x,y给出。将这两个数相乘就可以得到一个像素的面积。
  5. 现在,将该面积乘以每个类中的像素数。这应该给您该班级的总面积。

准确是一个相对术语。就您的栅格区域而言,它将是完全准确的。如果使用Fezter方法,则面积可能会有所不同,具体取决于将基于像素的区域转换为多边形时是否使用“平滑”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.