R {raster} :一定牛遗漏采集–SRTM,Worldclim,全球性adm。界线

嘿!

今天我将展示 R {raster} 包是另一个例子。栅格包不仅是栅格处理和计算的绝佳工具,而且对于一定牛遗漏采集也非常有用。具有功能 getData () 您可以将以下一定牛遗漏直接下载到R中并进行处理:

  • SRTM 90(海拔一定牛遗漏在-60和60之间的分辨率为90m)
  • 世界气候一定牛遗漏(Tmin,Tmax,Precip,BioClim)
  • 全球管理边界(不同级别)

全球管理界线

让我们从全局adm开始。界限:

安装光栅软件包并先加载。为了能够使用 getData () 用于获取有关全球AMD一定牛遗漏的功能。边界,我们必须指定三个参数:

install.packages(" 栅格 ")
library(raster)
austria0 <-  getData ('GADM', country='AUT', level=0)
  1. 选择一定牛遗漏集: 第一个参数指定一定牛遗漏集。‘GADM’返回全局管理边界。
  2. 选择国家: 第二个参数使用ISO A3国家/地区代码提供边界的国家/地区名称(更多信息在这里)
  3. 指定级别: 第三个参数指定行政区划的级别(0 =国家,1 =一级区划)。

上面的代码返回0级奥地利的边界。让我们通过绘制两个边界,将它们与1级细分进行比较:

#Get Data
austria0 <-  getData ('GADM' ,国家="AUT", level=0)
austria1 <-  getData ('GADM' ,国家="AUT", level=1)

#Plot
par(mfrow(2,1))
plot(austria0, main="Adm. Boundaries Austria Level 0")
plot(austria1, main="Adm. Boundaries Austria Level 1")

奥地利边界

世界气候

让我们对“世界气候”一定牛遗漏做同样的事情,在这里您还必须指定三个参数:

climate <-  getData ('worldclim', var='bio', res=2.5)
  1. 选择一定牛遗漏集: 第一个参数指定一定牛遗漏集。‘worldclim’返回世界气候一定牛遗漏。
  2. 选择变量: 第二个参数指定变量:‘tmin’, ‘tmax’, ‘prec’ and ‘bio’ (更多信息在这里 )。
  3. 指定分辨率:  0.5、2.5、5和10(度的分钟)。在res = 0.5的情况下,还必须为图块提供lon和lat参数。

上面的代码返回一个栅格,栅格中包含18个生物气候变量,分辨率为2.5分钟,覆盖了整个世界:

BIO1 = 年平均温度
BIO2 =日平均范围(每月平均值(最高温度)– min temp))
BIO3 =等温(BIO2 / BIO7)(* 100)
BIO4 =温度季节性(标准偏差* 100)
BIO5 =最暖月的最高温度
BIO6 =最冷月份的最低温度
BIO7 =温度年度范围(BIO5-BIO6)
BIO8 =湿季平均温度
BIO9 =最干燥季度的平均温度
BIO10 =最暖季的平均温度
BIO11 =最冷季的平均温度
BIO12 =年降水量
BIO13 =湿月降水
BIO14 =最干旱月份的降水
BIO15 =降水季节(变异系数)
BIO16 =湿季降水
BIO17 =最干燥区的降水
BIO18 =最暖季的降水
BIO19 =最冷季的降水

让我们绘制第一个指标“年平均温度”:

#Plot
plot(climate$bio1, main="年平均温度")

年平均温度

SRTM 90高程

最后但并非最不重要的一点,让我们看一下SRTM 90一定牛遗漏。我们将使用 getData () 最后一次功能:

srtm <-  getData ('SRTM', lon=16, lat=48)
  1. 选择一定牛遗漏集: 第一个参数指定一定牛遗漏集。‘SRTM’返回SRTM 90高程一定牛遗漏。
  2. 指定Lon: 第二个参数指定SRTM磁贴的区域。
  3. 指定纬度:   第二个参数指定SRTM图块的纬度。

上面的代码将在维也纳附近某个地方返回一个SRTM Tile。让’绘制adm。奥地利边界以及SRTM Tile在一个图中:

plot(srtm)
plot(austria0, add=TRUE)

 SRTM 奥地利
如您所见,并非所有奥地利都被该图块覆盖。让我们再下载两个东方瓷砖并将它们镶嵌起来,以充分利用奥地利的魅力。您可以在 在此处平铺范围.

#Download two more tiles
srtm2 <-  getData ('SRTM', lon=13, lat=48)
srtm3 <-  getData ('SRTM', lon=9, lat=48)

#Mosaic/merge srtm tiles
srtmmosaic <- 镶嵌(srtm, srtm2, srtm3, fun=mean)

让我们绘制结果:

plot(srtmmosaic, main="Elevation (SRTM)")
plot(austria0, add=TRUE)

 SRTM 奥地利总计

我希望这给您关于如何使用R获取空间一定牛遗漏的良好的第一印象。随后将有更多有用的教程,然后您可以在此处获得更多信息:

http://www.inside-r.org/packages/cran/raster/docs/getData

关于作者

马丁出生于捷克共和国,就读于维也纳自然资源与生命科学大学。他目前在GeoVille(一家位于奥地利的地球观测公司)工作,专门从事土地监测。他的主要兴趣是:开源应用程序,例如R,(地理空间)统计和一定牛遗漏管理,Web映射和可视化。他喜欢旅行,寻宝,摄影和运动。

36条留言

您可以在这篇文章中发表评论。


  • 非常感谢您的努力。我被困在R中获取一定牛遗漏进行分析,却偶然发现了您的工作和‘mosaic’功能确实拯救了我的一天。

    恩旺科·伊曼纽尔(Nwankwo Emmanuel) 5年前 回复


    • 嘿!我总是很高兴听到我可以提供帮助。
      干杯 三月tin

      三月tin 5年前 回复


  • 非常感谢分享。没有您,我永远不会获得R中的地理一定牛遗漏。但是那里’我感到有些困惑。合并global-adm时。边界-具有SRTM一定牛遗漏的一定牛遗漏,是否确定它们使用相同的空间参考?如果可能的话,R中是否有任何解决方案来裁剪srtm一定牛遗漏并使其与边界匹配?谢谢

    雪音 5年前 回复


  • 什么’将生成的栅格裁剪到shapefile的最佳方法?也就是说,如果我只想让奥地利表演?

    珍妮 在4年前 回复


    • Use the crop function:

      image <- crop(srtmmosaic, austria0)
      plot(image)
      

      三月tin 在4年前 回复


  • 你好

    我正在使用映射阿尔卑斯山‘getData(“SRTM”,lon = 12,lat = 48),但是当我绘制它时,地图的每一侧都有巨大的空白部分,我不知道如何删除它。你知道这样做的方法吗?

    谢谢!
    西尔维

    西尔维·皮吉尼(Sylvie Pighini) 在4年前 回复


    • 如果您在RStudio中工作,只需尝试调整绘图窗口的宽度(通过用鼠标拖动它)。白色条纹应消失。

      三月tin 在4年前 回复


  • Hi 三月tin,

    我正在尝试从BioClim栅格中提取统计值(最小值,最大值,中位数,平均值,范围)。当我将整个世界栅格除以10 [对于温度变量(Bio 1)]时,所计算的值(例如,我的多边形的平均值T)对于某些多边形发生了变化。

    另一件事:当我尝试将栅格裁剪为多边形时,它会显示错误消息“没有几何的割线特征”。对于我的shapefile和栅格,CRS是相同的。

    什么 am I doing wrong?

    谢谢!
    B.

    贝拉·阿罗拉(Bela Arora) 在4年前 回复


    • 我正在使用QGIS。

      贝拉·阿罗拉(Bela Arora) 在4年前 回复


  • 是否可以获取特定国家/地区的WorldClim一定牛遗漏,还是始终需要下载整个世界的图层?

    莎拉 在4年前 回复


    • 不幸的是,您始终必须下载整个世界的图层。但是,您也可以下载目标国家/地区的Adm边界,然后使用此shapefile将WorldClim图层裁剪到所需的程度。

      三月tin 在4年前 回复


      • 是否可以获取和绘制一个以上国家的边界​​?

        卡拉·梅尔 11个月前 回复


  • Hi 三月tin
    如何使用获取一定牛遗漏下载全世界的SRTM或替代一定牛遗漏?
    LiebeGruße
    开发人员

    开发人员 在4年前 回复


  • 你好马丁
    我如何用R获得古气候(过去的变量)…?

    罗梅尔·罗哈斯 在4年前 回复


  • Hi 三月tin,

    我正在尝试使用代码下载比利时的高程一定牛遗漏:
    贝尔<- getData ('alt', country='BEL', mask=TRUE)

    但是,它始终显示禁止的http状态403。有什么建议?

    在4年前 回复


  • 嗨,马丁?您知道使用上述代码并获取worldclim一定牛遗漏后如何立即建立栅格堆栈吗?

    名爵 在4年前 回复


    • 嘿!
      世界爬升 getData 调用的输出已经是rasterStack。如果要将SRTM和wordclim堆栈在一个堆栈中,则需要协调两个一定牛遗漏集的分辨率和范围。
      看一看这些函数`resample`,`crop`和`stack`。注意:一定牛遗漏集的投影也必须相同。

      三月tin 在4年前 回复


  • Hi 三月tin,
    我有32年的TIFF格式的降水一定牛遗漏。我有32个tiff栅格文件。每个tiff / 栅格 都是一年。每年/ tiff由365/6天/乐队组成。我想计算年平均降水量。我怎样才能首先将每天的降水量与每年的降水量相加?然后,我要计算平均降水量。我想使用R。
    最好的祝福,
    基布鲁

    基布鲁 在4年前 回复


    • 亲爱的基布鲁!
      什么 exactely do you mean by 365/6 days/bands?
      您需要在此处将循环与栅格R软件包中的calc函数结合使用:

      这里是有关如何使用calc函数的简短概述:

      图书馆(光栅)
      #yearly sum
      yearly_stack <-stack(list.files("pathToYearOne", full.names=T, pattern="tif$"))
      yearly_sum <- calc(yearly_stack, sum, na.rm=T)
      yearly_mean <- calc(yearly_stack, mean na.rm=T)
      

      如果您可以告诉我有关一定牛遗漏/文件夹结构的更多信息,我也许可以帮助您设置循环。

      If processing takes too long, you should look into the clusterR function.

      干杯

      三月tin

      三月tin 在4年前 回复


  • 马丁,您好,这基本上是下载当年的栅格一定牛遗漏。有什么方法可以下载特定或几年的一定牛遗漏?
    谢谢

    绍里亚 3年前 回复


    • 一定牛遗漏代表1970-2000年的平均值。它’无法下载单个年份,但有可能下载2050和2070的未来预测:

      “要获取(计划的)未来气候一定牛遗漏(CMIP5),您必须如上所述提供参数var和res。当前仅分辨率2.5、5和10。另外,您需要提供型号,rcp和年份。例如:”

      getData ('CMIP5', var='tmin', res=10, rcp=85, model='AC', year=70)

      三月tin 3年前 回复


  • 非常感谢你。这对于获取高程一定牛遗漏非常有帮助。您有叠加功能的任何代码吗?例如,我想将物种丰富度图叠加到srtm切片上,以确定哪些物种出现在哪个海拔带(200m)海拔带上

    Nikhail Arumoogum 3年前 回复


  • 它是一个很棒的网站。我想学习两件事。
    1-卫星一定牛遗漏的监督和非监督分类
    2-回归克里格

    穆罕默德·莫辛·瓦卡斯 3年前 回复


    • 亲爱的穆罕默德!
      感谢您的反馈意见。在接下来的几天里,我将尝试写一篇关于R的无监督分类的简短文章。
      干杯 三月tin

      三月tin 3年前 回复


      • 关于回归克里金法的任何想法

        穆罕默德·瓦卡斯(Muhammad Waqas) 3年前 回复


  • Hello 三月tin,

    我想使用该功能‘GADM’对于马达加斯加,但它告诉我
    “trying URL ‘http://biogeo.ucdavis.edu/data/gadm2.8/rds/MDG_adm0.rds’
    内容类型‘ êú ‘长度734446字节(717 KB)
    下载717 KB

    无法下载文件—也许不存在
    空值 ”

    谢谢

    卢卡斯·沙普伊(Lucas Chapuis) 3年前 回复


    • 嘿,卢卡斯!我检查了链接,下载对我有用。你可以再试一次吗?也许只是暂时禁用!

      三月tin 3年前 回复


  • Hi 三月tin
    我已经从worldclim下载了数量为19的环境变量。我将它们堆叠起来,并从中制成单层。您能否告诉我如何从中提取一年中特定月份的一定牛遗漏,例如,我想提取1999年12月的一定牛遗漏。
    谢谢

    普里扬卡 2年前 回复


  • 嗨Matin

    谢谢你的信息。我的问题是关于worldclim一定牛遗漏提取。有这个脚本:

    图书馆(光栅)
    setwd(“D:/Users/…..worldclim”)
    均值 .files <- list.files("D:/Users/………./Worldclim/wc2.0_30s_tavg", ".tif", full.names=TRUE)
    均值 .files
    均值<-堆栈(t.mean.files)
    月<- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
    名字(t.mean)<- month
    均值
    latitud = read.csv(file.choose())
    longitud = read.csv(file.choose())
    样本<-data.frame(纵向,纵向)
    样品
    临时一定牛遗漏<-提取物(均值,样本)
    临时一定牛遗漏

    由于我需要哥伦比亚某些位置的特定生物气候一定牛遗漏,因此输入坐标。我可以确定这些一定牛遗漏确实与我的点(坐标)相对应,即30(1970-2000年)的平均一定牛遗漏吗?

    对不起,我不会't handle it well

    YelennyLópezAguirre 1年前 回复


  • Hi 三月tin,

    谢谢,这是非常有帮助的。我基于纬度较长的一定牛遗漏框提取了WorldClim生物气候变量,但在提取的一定牛遗漏中却获得了很多(尽管不是全部)NA。您知道可能是什么问题吗?

    谢谢

    1年前 回复


  • Hi 三月tine,
    It’真的很有帮助的帖子,谢谢。但是,是否有使用RTM进行SRTM DEM进行形态计量分析的软件包或代码?

    萨桑卡·高什(Sasanka Ghosh) 10个月前 回复


  • 如何使用贝宁这样的国家使用R获取土壤一定牛遗漏?

    乔西亚斯 8个月前 回复


发表回复

*