Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >计算保护区多边形与预测的最大栖息地适宜性的重叠

计算保护区多边形与预测的最大栖息地适宜性的重叠
EN

Stack Overflow用户
提问于 2020-04-10 10:14:23
回答 1查看 128关注 0票数 0

我想要计算与保护区多边形重叠的物种的栖息地适宜性的百分比面积。我不太了解R语言,但这是我到目前为止所掌握的。

这些是由最大值预测得出的栖息地适宜性区域的属性:

代码语言:javascript
运行
AI代码解释
复制
class      : RasterLayer 
dimensions : 6480, 8520, 55209600  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : -103, -32, -36, 18  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +ellps=WGS84

受保护的区域:

代码语言:javascript
运行
AI代码解释
复制
Simple feature collection with 5667 features and 2 fields (with 8 geometries empty)
geometry type:  GEOMETRY
dimension:      XY
bbox:           xmin: -118.6344 ymin: -59.85538 xmax: -25.29094 ymax: 32.48333
CRS:            +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0

有没有人知道如何计算与保护区多边形重叠的栖息地适宜性的百分比面积?

对不起,我真的不知道如何处理这些数据。我希望我已经给出了所有相关的信息。

我将非常感谢您的任何意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 15:10:27

要回答您的第一个问题,您应该能够使用分区统计信息来计算使用spatialEco软件包在受保护区域中发现的潜在栖息地的面积:

代码语言:javascript
运行
AI代码解释
复制
zonal.stats(x, y, stats = c("min", "mean", "max"))
#x = Polygon object of class SpatialPolygonsDataFrame
#y = rasterLayer object of class raster

https://www.rdocumentation.org/packages/spatialEco/versions/1.3-0/topics/zonal.stats

下面是spatialEco包中的一个可重复的示例,它首先计算每个多边形中像素的百分比>=阈值,然后计算每个多边形中像素的总和>=,该阈值用于对输入栅格进行重新分类。你可能会对工作中的这两种方式都感兴趣。

代码语言:javascript
运行
AI代码解释
复制
library(spatialEco)    
library(raster)
library(sp)                                                                          

# here the fxn will calculate the percentage of cells >= 0.5
# percent x >= p function
pct <- function(x, p=0.50, na.rm = FALSE) {
  if ( length(x[x >= p]) < 1 )  return(0) 
  if ( length(x[x >= p]) == length(x) ) return(1) 
  else return( length(x[x >= p]) / length(x) ) 
}

# create some example data
p <- raster(nrow=10, ncol=10)
p[] <- runif(ncell(p)) * 10
p <- rasterToPolygons(p, fun=function(x){x > 9})
r <- raster(nrow=100, ncol=100)
r[] <- runif(ncell(r)) 
plot(r)
plot(p, add=TRUE, lwd=4) 

# run zonal statistics using pct functions  
z.pct <- zonal.stats(x=p, y=r, stats = "pct")
z.pct

#Alternatively, reclassify the raster based on a threshold
r.c<-reclassify(r, c(-Inf, 0.5, 0, 0.5, Inf, 1)) #all values >0.5 reclassified to 1
plot(r.c)
plot(p, add=TRUE, lwd=4) #add poly to the plot

# run zonal stats and calculate sum of cells in each poly
z.sum <- zonal.stats(x=p, y=r.c, stats = "sum")
z.sum
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61138130

复制
相关文章
微软又给谷歌「双重暴击」,ChatGPT或将加入Word、PPT和Excel!
---- 新智元报道   编辑:编辑部 【新智元导读】微软又憋大招了,ChatGPT或将整合进Office,谷歌一周内破防两次!网友:今后的PPT就靠你了。 爆炸性消息!ChatGPT要被整合进Office里了? 一个是AI语言模型中的「当红炸子鸡」,一个是全球使用量超过十亿、全世界人民每天都会打开的基本办公软件,两个「王炸」一合体,恐怕会掀起不小的风浪。 所以,躺着让AI帮咱写论文、做PPT的好日子要来了? 谷歌:累了,毁灭吧 OpenAI发布ChatGPT一个月后,谷歌的态度由起初的毫不在意
新智元
2023/02/24
1.1K0
微软又给谷歌「双重暴击」,ChatGPT或将加入Word、PPT和Excel!
如何在 Python 中搜索和替换文件中的文本?
让我们看看如何在文本文件中搜索和替换文本。首先,我们创建一个文本文件,我们要在其中搜索和替换文本。将此文件设为 Haiyong.txt,内容如下:
海拥
2021/10/20
16.5K0
Python中的文本替换
对于习惯了Java中的replace,Python的replace用起来有些不适应,因为后者不支持直接使用正则表达式。要实现通过正则表达式的替换,可以配合Python的正则表达式模块使用。比如:
py3study
2020/01/10
4.9K0
变量的删除与替换
这就是#号的作用,一个#表示从前面删除匹配的最短路径。echo ${path#/*local/bin:}这行表达式中的/*local/bin这段路径匹配/usr/local/sbin:/usr/local/bin:,所以这段路径被删除了。
我是李超人
2020/08/20
1.1K0
如何在不失去订阅者的情况下删除您的 YouTube 频道
摘要:删除您的 YouTube 频道可能是一项艰巨的任务,尤其是如果您花了数年时间来建立受众群体的话。然而,有时有必要重新开始或转向新项目。幸运的是,通过正确的方法,您可以删除频道而不会失去订阅者。
allyouwannaknow
2023/07/21
1.3K0
如何在不失去订阅者的情况下删除您的 YouTube 频道
如何在科研论文中画出漂亮的插图?
https://www.zhihu.com/question/21664179/answer/18928725
Datawhale
2020/07/17
1.2K0
如何在科研论文中画出漂亮的插图?
DevOps如何在不牺牲安全性的情况下迁移到云端
企业采用DevOps意味着开发进行将比以往任何时候都要快。那么如何确保一切都是安全的,尤其是将业务迁移到云端时? 调研机构Gartner公司预测, 2022年全球云计算服务市场规模和增长率几乎是整体I
CloudBest
2019/09/17
7240
DevOps如何在不牺牲安全性的情况下迁移到云端
如何在科研论文中画出漂亮的插图?
https://www.zhihu.com/question/21664179/answer/18928725
小白学视觉
2021/05/07
1.2K0
如何在科研论文中画出漂亮的插图?
文本替换demo
package com.na.ip; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.InetAd
JQ实验室
2022/02/14
1.1K0
图像正转
算法:图像正转是通过原始图像中被展开的圆形区域参数构造顺时针展开后的矩形区域,然后根据坐标映射关系将像素值依次填充进去即可。一个标准的圆形区域展开为矩形区域,而展开后的矩形区域高度即是圆形区域的半径r,展开后的矩形区域长度自然是2Πr。
裴来凡
2022/05/29
3480
图像正转
office2021:office2021下载 如何在Office文档页面上放置水印
Microsoft office是一款广泛使用的办公软件套装,它包含了多种不同的应用程序,如Word、Excel、PowerPoint、Outlook等。这些应用程序可以帮助用户进行各种任务,例如创建文档、制作表格、创建演示文稿、管理电子邮件等。
小昭在奔跑
2023/04/20
2.7K0
office2021:office2021下载 如何在Office文档页面上放置水印
如何在不导致服务器宕机的情况下,用 PHP 读取大文件
协作翻译 原文:How to Read Big Files with PHP (Without Killing Your Server) 链接:https://www.sitepoint.com/performant-reading-big-files-php/ 译者:Tocy, Tony, 南宫冰郁, Tot_ziens 作为PHP开发人员,我们并不经常需要担心内存管理。PHP 引擎在我们背后做了很好的清理工作,短期执行上下文的 Web 服务器模型意味着即使是最潦草的代码也不会造成持久的影响。 很少情况下
企鹅号小编
2018/02/11
1.6K0
如何在不导致服务器宕机的情况下,用 PHP 读取大文件
Fragment添加、删除、替换
前面一起学习了Fragment的创建和加载,以及其生命周期方法,那么接下来进一步来学习Fragment的具体使用,本期先来学习Fragment添加、删除、替换。 一、概述 在前面的学习中,特别是动态加载的时候,有提到FragmentManager和FragmentTransaction类,这里先来详细了解一下其到底为何物。 01FragmentManager 要管理Activity中的Fragments,就需要使用FragmentManager类。通过getFragmentMana
分享达人秀
2018/02/05
11.6K0
Fragment添加、删除、替换
使用 OpenCV 替换图像的背景
在我们的某项业务中,需要通过自研的智能硬件“自动化”地拍摄一组组手机的照片,这些照片有时候因为光照的因素需要考虑将背景的颜色整体替换掉,然后再呈现给 C 端用户。这时就有背景替换的需求了。
fengzhizi715
2021/02/05
2.5K0
使用 OpenCV 替换图像的背景
【改进和增强Microsoft Office应用程序】ExtendOffice软件产品介绍
ExtendOffice Technology Inc.成立于2008年,是一家提供专业Microsoft Office加载项的主要公司。早在2004年,该公司的创始人就启动了Addintools.com来销售Microsoft Office的加载项。
51Component
2022/11/09
11.6K0
【改进和增强Microsoft Office应用程序】ExtendOffice软件产品介绍
180多个Web应用程序测试示例测试用例
180多个Web应用程序测试示例测试用例 假设:假设您的应用程序支持以下功能 各种领域的表格 儿童窗户 应用程序与数据库进行交互 各种搜索过滤条件和显示结果 图片上传 发送电子邮件功能 数据导出功能 通用测试方案 1.所有必填字段均应经过验证,并以星号(*)表示。 2.验证错误消息应正确显示在正确的位置。 3.所有错误消息应以相同的CSS样式显示(例如,使用红色) 4.常规确认消息应使用CSS样式而不是错误消息样式(例如,使用绿色)显示 5.工具提示文本应有意义。 6.下拉字段的第一项应为空白或诸如“选择”
用户7466307
2020/06/17
8.6K0
EasyDSS如何在不更换地址的情况下扩容磁盘大小以增加存储空间?
对于EasyDSS录像存储的问题是大家咨询比较多的内容,EasyDSS平台内有默认的存储磁盘,当默认存储磁盘空间不足时就需要更改存储磁盘的地址或者对磁盘进行扩容,前文中我们分享过如何将RTMP协议视频直播点播平台EasyDSS录像文件存储在其他的空闲磁盘内,本文我们讲一下如何在不更换地址的情况下扩容磁盘的大小。
TSINGSEE青犀视频
2021/07/15
9960
EasyDSS如何在不更换地址的情况下扩容磁盘大小以增加存储空间?
Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope
判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?
飞奔去旅行
2019/06/13
5.8K0
点击加载更多

相似问题

如何替换Outlook电子邮件正文中的文本

25

替换/添加outlook电子邮件正文中的文本

11

VBA -选择Outlook电子邮件正文中的文本

13

Outlook插件替换电子邮件中的文本

17

Outlook中的RegEx从电子邮件正文中获取文本

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档