首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将片状光栅重新分类为顺序编号的区域

将片状光栅重新分类为顺序编号的区域
EN

Stack Overflow用户
提问于 2019-04-25 12:05:48
回答 1查看 84关注 0票数 0

想象一个光栅:

代码语言:javascript
复制
library(raster)

r = raster(nrow=3, ncol=3)
r[] = c(1,NA,1,1,NA,NA,1,NA,1)
plot(r)

我如何按升序重新分类相邻的斑块(而不是对角线)?在这个例子中,地块左侧的三个单元格补丁被重新分类为'1',右上补丁为'2‘,右下角补丁为'3’。

实际重新分类的值(以及它们在栅格中出现的顺序)并不重要。重要的是,每个连接的“岛”(或单个细胞)都用一个新的、唯一的数字来表示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-25 16:58:11

您可以使用raster::clump和参数directions=4在对角线上不连接(对于这个示例数据,不重要,因为没有这样的情况)。

代码语言:javascript
复制
library(raster)
r <- raster(nrow=3, ncol=3, xmx=0)
values(r) <- c(1,NA,1,1,NA,NA,1,NA,1)
x <- clump(r, directions=4)
plot(x)

请注意,我添加xmx=0是为了避免出现全局光栅。没有这一点,就只有一个像经度一样的斑块- -180和180是相同的,因此第一列和最后一列的单元实际上是相连的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55848930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档