kikita & Maps

GIS,spatial and artificial intellegence learning and share

空间分析扩展中,有关区域分析,提供了如下工具:

可以将其分为这样几类:

一、确定区域中类的面积的工具

面积制表(Tabulate Area)

面积制表工具以表的形式进行输出。在此表中:

1)区域数据集的每个唯一值均有一条记录。

2)类数据集的每个唯一值均有一个字段。

3)每个记录将存储每个区域内每个类的面积。

TIPS:

使用此工具的常见错误:

1.“一个或多个输入没有关联属性表” 错误

此错误通常是由于区域输入中没有所需的属性表而导致的。

如果区域输入是一个栅格数据,请先使用构建栅格属性表为其创建一个属性表。

如果区域输入是一个要素数据集,则在内部转换为栅格的过程中会自动创建属性表。

2.“无法分配内存” 错误

程序使用内部表执行面积计算。如果区域输入的值域非常大(百万级别),则处理这些表的内存需求可能会接近或超出指定的系统分页文件大小。

如果所配置的内存总量不足,操作将失败,并将显示“无法分配内存”消息。此问题通常有两种解决方法:

A) 您可增大虚拟内存设置以避免出现此错误。但是,要注意的是,工具执行完毕后,操作系统不会立即释放其所占用的虚拟内存。从而可能会降低计算机的总体性能。

B) 另一种方法是减小区域的值域(建议方法)。步骤如下:首先向区域属性表添加一个新项和一个索引值,然后对该项使用面积制表,最后再将结果与原始区域输入相关联。
例如,如有仅有三个区域值 2,120,000、4,070,000 和 9,540,000,则可将它们除以 10,000,从而得到区域值 212、407 和 954。

3.输出面积小于预计结果

输出表中的某些面积值可能小于预计结果。

这通常与输入中的 NoData 像元有关,经重采样以匹配其他更为粗糙的输入之后,这些具有高分辨率的像元将变为更大的 NoData 区域。

为避免此情况,请对较粗糙的输入栅格进行重采样以使其与较精细的输入栅格的分辨率相匹配,或者将像元大小栅格分析环境设置为输入的最小值。


二、填充指定区域的工具

区域填充(Zonal Fill 

输入区域栅格数据可以为整型或浮点型。使用权重栅格数据沿区域边界的最小像元值填充区域。

区域填充可用作水文分析的一部分,将洼地填充至分水岭边界的最小高程。

此工具有待实践,结合水文分析学习。

三、作用于区域形状的工具

分区几何统计(Zonal Geometry)

这里说的区域是指具有相同值的所有像元。各区无需相连。栅格和要素数据集都可用于工具的输入。

这个工具的亮点在于可以统计区的总面积(AREA)、总周长(PERIMETER)、厚度(THICKNESS)、质心(CENTROID)。其他三个比较好理解,我们看下厚度的概念。

分区厚度分析可计算输入栅格上各个区域中最深或最厚点距其周围像元的距离。

实际上,厚度就是可在各个区域中(不包括区域外部的任何像元)绘制的最大圆的半径(以像元为单位)。如下图:

  

以表格显示分区几何统计(Zonal Geometry as Table)

将上述统计结果输出到Table表中。

其中,最后三个参数,用于描述各个区域的椭圆近似的形状。定义椭圆形状和大小的参数为长轴、短轴和方向。各椭圆的面积与为其分配的区域的面积相等。

MAJORAXIS:长轴的长度;MINORAXIS:短轴的长度。以地图单位表示。

ORIENTATION 值的单位为度,取值范围为 0 至 180。方向定义为 x 轴与椭圆长轴之间的角度。方向的角度值以逆时针方向增加,起始于东方向(右侧水平位置)的 0 值,在长轴垂直时通过 90 位置。如果某个特定区域仅由一个像元组成,或者该区域为单个像元方块,那么会将椭圆(在此情况下为圆)的方向设置为 90 度。

四、确定某输入栅格值在另一区域中的频数分布的工具

区域直方图(Zonal Histogram)

创建显示各唯一区域值输入中的像元值频数分布的表和直方图(Graph类型)。

区域字段必须为整型或字符串类型。

五、作用于区域属性的工具

分区统计(Zonal Statistics)

以表格显示分区统计(Zonal Statistics as Table

这两个工具是,计算在另一个数据集的区域内栅格数据值的统计信息。这里的区域定义为输入中具有相同值的所有区。各区无需相连。栅格和要素数据集都可用于区域输入。

前者生成栅格数据,后者生成统计表。


OK……

ArcGIS 的空间分析扩展中,提供了这样一组邻域分析工具:


1. 块统计(Block Statistics)

分块统计,按照指定邻域类型计算区域统计值,输出区域为指定邻域类型的外接矩形。

以下为邻域的形式:

  • NbrAnnulus({innerRadius}, {outerRadius}, {CELL | MAP})
  • NbrCircle({radius}, {CELL | MAP}
  • NbrRectangle({width}, {height}, {CELL | MAP})
  • NbrWedge({radius}, {start_angle}, {end_angle}, {CELL | MAP})
  • NbrIrregular(kernel_file)
  • NbrWeight(kernel_file)

Irregular与Weight邻域类型需要指定核文件( .txt 文件)。

可以进行统计的计算类型:

  • MEAN/平均值;
  • MAJORITY/众数(出现次数最多的值);
  • MAXIMUM/最大值;
  • MEDIAN/中值;
  • MINIMUM/最小值;
  • MINORITY/少数(出现次数最少的值);
  • RANGE/范围(最大值和最小值之差)。
  • STD/标准差。
  • SUM/总和。
  • VARIETY/变异度(唯一值的数量)。

例如,输入为圆形邻域,输出为外接矩形的像元范围:

2. 滤波器(Filter)

对栅格执行平滑(低通)滤波器或边缘增强(高通)滤波器。

滤波器工具既可用于消除不必要的数据,也可用于增强数据中不明显的要素的显示。

低通滤波(平滑边界):

   

高通滤波(边缘增强):

   

3. 焦点流(Focal Flow)

焦点流工具使用直接的 3 x 3 邻域来确定一个像元的八个相邻点中哪一个流向此像元。

焦点流也可以是液体由高到低流动的方向,也可以是定义的任何移动(比如污染物向污染浓度较低的地方流入)。

举个例子,各个方向流向像元中心像元的值总和是最终值。

4. 焦点统计(Focal Statistics)

为每个输入像元位置计算其周围指定邻域内的值的统计数据。

统计类型与邻域形状与块统计是相同的,区别在于,块统计的输出是整个邻域的外接矩形范围,而焦点统计的输出,是邻域内的焦点栅格。如下图:

5. 线统计

工具用于为每个输出栅格像元周围的圆形邻域内所有线的指定字段值计算统计量。

可用的统计量类型有:均值、众数、最大值、中位数、最小值、少数、范围、标准差以及变异度。只有众数、少数和中位数统计量是根据线长度进行加权的。

还没有想到此工具的应用场景,以后有了再来追加。

6. 点统计

该工具类似于焦点统计工具,不同之处在于它直接对点要素而非栅格进行操作。直接对要素进行操作的其中一个优点在于,即使点距离过近,在转换成栅格时点也不会丢失。

我们可以利用“表面分析(Surface)”工具量化及可视化地形地貌。

坡向(Aspect):获得栅格表面的坡向。求得每个像元到其相邻像元方向像元值的变化率最大的下坡方向。

等值线(Contour):根据栅格表面创建等值线(等值线图)的线要素类。

等值线序列(Contour List):根据栅格表面创建所选等值线值的要素类。

含障碍的等值线(Contour with Barriers):根据栅格表面创建等值线。如果包含障碍要素,则允许在障碍两侧独立生成等值线。

曲率(Curvature):计算栅格表面的曲率,包括剖面曲率和平面曲率。

填挖方(Cut Fill):计算两表面间体积的变化。通常用于执行填挖操作。

山体阴影(HillShade):通过考虑照明源的角度和阴影,根据表面栅格创建地貌晕渲。

视点分析(Observer Point):识别从各栅格表面位置进行观察时可见的观察点。

坡度(Slope):判断栅格表面的各像元中的坡度(梯度或 z 值的最大变化率)。

视域(Viewshed):确定对一组观察点要素可见的栅格表面位置。

下面分类来看一下这些工具:

一、 各种等值线工具

1) 等值线(Contour)

根据栅格表面数据创建等值线线要素类。可以指定起算线和间隔。

2) 等值线列表(Contour list)

根据栅格表面创建所指定等值线值的要素类。

3)含障碍的等值线(Contour with Barriers)

根据栅格表面创建等值线。如果包含障碍要素,则允许在障碍两侧独立生成等值线。

TIPS: 关于等值线的质量问题

少数情况下,所创建等值线的轮廓可能会呈方形或不均匀,看起来犹如沿着栅格像元的边界。出现这种情况可能是因为各栅格的值为整数且恰好落在等值线上。这并不是个问题,该等值线不过是原样呈现数据而已。

如果希望等值线更平滑,可行的方法包括对源数据进行平滑处理或调整起始等值线。

二、表面特征相关工具

1) 坡向(Aspect)

此工具求得每个像元到其相邻的各个像元方向的 z 值上变化率最大的下坡方向。

从概念上讲,坡向工具将根据要处理的像元或中心像元周围一个 3 x 3 的像元邻域的 z 值拟合出一个平面。该平面的朝向就是待处理像元的坡向。

输出栅格的值将是坡向的罗盘方向。坡向由 0 到 359.9 度之间的正度数表示,以北为基准方向按顺时针进行测量。会为输入栅格中的平坦(具有零坡度)像元分配 -1 坡向。

2) 坡度(Slope)

坡度是指各像元中 z 值的最大变化率。

从概念上讲,该工具会将一个平面与要处理的像元或中心像元周围一个 3 x 3 的像元邻域的 z 值进行拟合。该平面的坡度值通过最大平均值法来计算。

如果邻域内某个像元位置的 z 值为 NoData,则将中心像元的 z 值指定给该位置。如果直接邻域(3 x 3 窗口)中的中心像元为 NoData,则输出将为 NoData。

确定输出坡度数据的测量单位(度或百分比)。

  • DEGREE — 坡度倾角,单位:度,范围:0 ~ 90。
  • PERCENT_RISE — 高程增量百分比,也称为百分比坡度,范围:0 ~ ∞。

该工具可与其他类型的连续数据(如人口)配合使用,用来识别值的急剧变化。

关于工具的详细算法:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/009z000000vz000000/

3) 曲率(Curvature)

主要输出结果为每个像元的表面曲率。曲率是表面的二阶导数,或者可称之为坡度的坡度。曲率为正说明该像元的表面向上凸。曲率为负说明该像元的表面开口朝上凹入。值为 0 说明表面是平的。

可供选择的输出曲率类型为:剖面曲率(沿最大斜率的坡度)和平面曲率(垂直于最大坡度的方向)。

从应用的角度看,该工具的输出可用于描述流域盆地的物理特征,从而便于理解侵蚀过程和径流形成过程。坡度会影响下坡时的总体移动速率。坡向将决定流向。剖面曲率将影响流动的加速和减速,进而将影响到侵蚀和沉积。平面曲率会影响流动的汇聚和分散。

三、 填挖方(Cut Fill)

计算两表面间体积的变化。通常用于执行填挖操作。

默认情况下,将使用专用渲染器来高亮显示执行填挖操作的位置。该渲染器将被挖的区域绘制成蓝色,将被填的区域绘制成红色。没有变化的区域将显示为灰色。

  

四、山影(Hillshade)

此工具考虑的主要因素是太阳(照明源)在天空中的位置。看下此工具的参数设置:

方位角(Azimuth)指的是太阳的角度方向,是以北为基准方向在 0 到 360 度范围内按顺时针进行测量的。90º 的方位角为东。此工具默认方向角为 315º (NW)。

高度(Altitude)指的是太阳高出地平线的角度或坡度。高度的单位为度,范围为 0(位于地平线上)到 90(位于头上)之间。此工具默认值为 45 度。

Model shadows

通过对选择 Model shadows,可计算局部照明度以及像元是否落入阴影内。阴影值为0,所有其他像元的编码为介于 1 和 255 之间的整数。

Z 因子(Z factor)

z 单位与输入表面的 x,y 单位不同时,可使用 z 因子调整 z 单位的测量单位。计算最终输出表面时,将用 z 因子乘以输入表面的 z 值。

如果 x,y 单位和 z 单位采用相同的测量单位;则 z 因子为 1。这是默认值。此外,z 因子还可用于地形夸大。

例如,如果 z 单位是英尺而 x,y 单位是米,则应使用 z 因子 0.3048 将 z 单位从英尺转换为米(1 英尺 = 0.3048 米)

关于工具的详细算法:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/009z000000z2000000/

五、可见性分析

1) 视点分析

视点工具生成的是在观测点处能够看到哪些位置的像元的二进制编码信息。观察点被限制为最多16 个。此工具仅支持点要素输入。

可见性信息存储在 VALUE 项中。如果要显示通过视点 3 能看到的所有栅格区域,就打开输出栅格属性表,然后选择视点 3 (OBS3) 等于 1 而其他所有视点等于 0 的记录。

例如,如下是7个观测点的可视性分析结果的属性表:

2) 视域

视域工具会创建一个栅格数据,以记录可从输入视点或 视点折线要素位置看到每个区域的次数。该值记录在输出栅格表的 VALUE 项中。

TIPS:控制可见性分析

通过在要素属性数据集中指定不同的项,可限制所检查的栅格区域。共有九项:SPOT、OFFSETA、OFFSETB、AZIMUTH1、AZIMUTH2、VERT1、VERT2、RADIUS1 和 RADIUS2。

附图帮助理解:

这些值的默认值:

选项 默认值 参数意义
SPOT 使用双线性插值进行估计 观测点位置的高程
OFFSETA 1 观测点高(例如,仪器高),必须为正数
OFFSETB 0 各像元高(例如,目标高),必须为正数
AZIMUTH1 0 观测起始方位角
AZIMUTH2 360 观测终止方位角
VERT1 90 观测起始竖直角
VERT2 -90 观测终止竖直角
RADIUS1 0 起始可见半径
RADIUS2 无穷大 终止可见半径

如果视点要素数据集是点要素类,则每个观测点都可具有属性表中的唯一一组观测约束。如果视点要素数据集是折线要素类,则沿输入折线的每个折点都会使用属性表的折线记录中包含的相同观测约束。如果某项不存在,将使用默认值。

O了,关于表面分析的工具,总结到此结束。

空间分析扩展模块中提供了很多方便栅格处理的工具,其中提取(Extraction)、综合(Generalization)等工具集中提供的功能是在分析处理数据中经常会用到的。

一、提取(Extraction)

顾名思义,这组工具就是方便我们将栅格数据按照某种条件来筛选提取。

工具集中提供了如下工具:

Extract by Attribute:按属性提取,按照SQL表达式筛选像元值。

Extract by Circle:按圆形提取,定义圆心和半径,按圆形提取栅格。

Extract by Mask:按掩膜提取,按指定的栅格数据或者矢量数据的形状的提取像元。

Extract by Point:按点提取,按给定坐标值列表进行提取。

Extract by Polygon:按多边形提取,按给定坐标序列作为节点的多边形进行提取。

Extract by Rectangle:按矩形提取,按给定的图层的Extent,或者定义了四至的矩形进行提取。

Extract Value to Point :按照点要素的位置提取对应的(一个/多个)栅格数据的像元值,其中,提取的Value可以使用像元中心值或者选择进行双线性插值提取。

Extract Multi Value to Point:同上,只是提取多个栅格的像元值。

Sample:采样,根据给定的栅格或者矢量数据的位置提取像元值,采样方法可选:最邻近分配法(Nearest)、双线性插值法(Bilinear)、三次卷积插值法(Cubic)。

以上工具用来提取栅格中的有效值、兴趣区域\点等很有用的。

二、综合(Generalization)

这组工具主要用来清理栅格数据,可以大致分为三个方面的功能:更改数据的分辨率、对区域进行概化、对区域边缘进行平滑

这些工具的输入都要求为整型栅格。

1. 更改数据分辨率:

**Aggregate: **聚合,生成降低分辨率的栅格。

其中,Cell Factor需要是一个大于1的整数,表示生成栅格的像元大小是原来的几倍。

生成新栅格的像元值可选:新的大像元所覆盖的输入像元的总和值、最小值、最大值、平均值、中间值。

效果如下,Cell factor设置为 6:

  ==>  

2. 对区域进行概化:

Expand:扩展,按指定的像元数目扩展指定的栅格区域。

 ==> 

Shrink: 收缩,按指定像元数目收缩所选区域,方法是用邻域中出现最频繁的像元值替换该区域的值。同Expand。

Nibble:用最邻近点的值替换掩膜范围内的栅格像元的值。

Thin:细化,通过减少表示要素宽度的像元数来对栅格化的线状对象进行细化。

Region Group:区域合并,记录输出中每个像元所属的连接区域的标识。每个区域都将被分配给唯一编号。

工作原理:扫描的第一个区域接收值 1,第二个区域接收值 2,依此类推,直到所有区域都已赋值。扫描将按从左至右、从上至下的顺序进行。被赋予输出区域的值取决于系统在扫描过程中是在什么时候遇到它们的。

其中,添加链接选项为“真”时。这将在输出栅格的属性表中创建名为 LINK 的项,其保留输入栅格的每个像元的原始值。

如下图,原始数据具有相同值的区域有的并不连通,这时会新生成很多Region:

 ==> 

3. 对区域边缘进行平滑:

Boundary Clean:边界清理,通过扩展和收缩来平滑区域间的边界。该工具会去更改X或Y方向上所有少于三个像元的位置。

Majority Filter:众数滤波,根据相邻像元数据值的众数替换栅格中的像元。可以认为是“少数服从多数”,太突兀的像元被周围的大部队干掉了。其中“大部队”的参数可设置,相邻像元可以4邻域或者8邻域,众数可选,需要大部分(3/4、5/8)还是过半数即可。

TIPS: 这两个工具仅支持整形栅格输入。

看如下示例,清理后,还是有明显变化的,细碎像元已经被处理掉了。


继续总结下距离分析。如下是ArcGIS 10.x中,距离分析相关的工具:

ArcGIS中,主要可以通过如下的几种方式进行距离分析:

  • 1) 欧氏距离分析
  • 2) 成本加权距离分析
  • 3) 用于垂直移动限制和水平移动限制的成本加权距离分析
  • 4) 获取最短路径

使用ArcGIS空间分析扩展实现距离分析,最主要的是欧氏距离分析和成本加权距离分析两类工具。

一、欧氏距离工具

欧氏距离工具测量每个像元距离最近源的直线距离(像元中心至像元中心的距离)。

欧氏距离(Euclidean Diatance)——  求得每个像元至最近源的距离。

欧氏方向(Euclidean Direction)——  求得每个像元至最近源的方向。

欧氏分配(Euclidean Allocation)——  求得每个像元的最近的源。

TIPS:

1.源(Source)

可以是感兴趣的地物的位置,数据方面,既可以是栅格数据,也可以是矢量数据。但注意:如果数据选用了栅格数据,数据中必须仅包含表示源的像元,其他像元需要是Nodata。如果选用矢量,在执行工具之时,内部会将其先转成栅格。

2.欧氏距离的算法

简单理解为:工具会求得每个像元至每个源的距离,然后取得每个像元至每个源的最短距离以输出。其中,欧氏距离是像元中心与源像元的中心的直线距离。

如果像元与两个或更多源之间的距离相等,则计算都基于像元扫描过程中遇到的第一个源。无法控制该扫描过程。

帮助中有这样的描述:

工具在实际执行的过程中,进行两次顺序扫描。这样,工具的执行速度与源像元的数目、分布以及最大距离无关。影响工具执行速度的唯一因素是栅格的大小。计算时间与“分析”窗口中的像元数成线性比例。暂且不知道进行了什么样的两次顺序扫描。

3.欧氏距离输出栅格结果

投影平面上,像元与最近源之间的最短直线距离。如下图:

4.欧氏方向输出栅格结果

像元与最近源之间的方位角方向(以度为单位)。使用 360 度圆,刻度 360 指北,90指东,从刻度 1 顺时针增加。值 0 供源像元使用。如下图:

5.欧氏分配输出栅格结果

输出的每个像元都是距其最近源的值。如下图:

二、成本加权距离工具

成本加权距离工具可以看成是对欧氏直线距离的进一步修改,将经过某个像元的距离赋以成本因素。举个简单的例子,翻过一座山到达目的地是最短的直线距离,绕行这座山距离较长,但是更节省时间和体力,那就后者的成本加权距离最短了。

1)成本距离(Cost Distance):求得每个像元至最近源的成本距离。
2)成本回溯链接(Cost back link):求的一个方向栅格,可以从任意像元沿最小成本路径返回最近源。
3)成本分配(Cost Allocation):求得每个像元的最近的源。
4)成本路径(Cost Patch):求的任意像元到最近源的最小成本路径。

TIPS:

  • 成本栅格可以是整形或者浮点型,但是其值中不能含有负值或者0。成本栅格中的Nodata视为障碍。
  • 成本距离输出栅格数据
    这里的简单示例中,下面一层黑白渲染的是成本栅格,颜色深的像元代表成本比较高,反之较低。结果如下:
  • 成本距离回溯链接
    要注意的是,它并不会求的要返回哪一个源像元以及如何返回。而是记录从任意像元回溯到最近源的路径上,每个像元向下一个像元指向的方向,这个方向以0-8的代码形式记录。如下图:

  • 成本距离分配
    这个类似于前面的欧氏距离分配,得到的是每个像元至最近源的成本距离。

三、路径距离工具

路径距离工具与成本距离相似,也可以确定从某个源到栅格上各像元位置的最小累积行程成本。但是,路径距离不仅可计算成本表面的累积成本,而且会考虑到行驶的实际曲面距离,和影响到移动总成本的水平和垂直因子。主要包含这几个工具

1)路径距离(Path Distance)
2)路径回溯链接(Path back link)
3)路径分配(Path Allocation)

这些工具生成的累积成本表面可用于扩散模型、流动和最低成本路径分析。

有关水平方向以及竖直方向的因子是如何影响的,工作原理是什么,ArcGIS帮助中有详细的解释:

http://resources.arcgis.com/en/help/main/10.1/#/How_the_horizontal_and_vertical_factors_affect_path_distance/009z000000z9000000/

四、 获得最短路径

1.成本距离路径

任意像元到最近源的最小成本路径,需要引用到上面工具中生成的成本距离和成本回溯链接栅格数据。如下图:

2.廊道

另外要说的是廊道分析工具(Corridor)。此工具用于计算两个成本栅格的累积成本栅格结果,为了求得从一个源到另一个源且经过该像元位置的最小成本路径。

输出栅格不是单个最小成本路径,但会得到源之间累积成本的范围。

最后我们可以配合其他工具将小于某一阈值的结果提取出来,例如工具Extract by Attribute提取,或者通过Con进行条件赋值等等方法,获取结果。

如下如所示:

学校A、B成本距离分析结果:

学校C、D、E的成本距离分析结果:

有此两个距离成本结果,来分析得到A、B到C、D、E之间的廊道,也就是两组源之间的最小累积成本距离。

然后结果中我们可以按照一定的阈值来提取结果。例如累积成本在75以下的我才能接受:

至此,空间分析中的距离分析工具总结结束。

0%