有没有办法在R中将MODIS瓦片作为纬度/经度的函数?

时间:2018-02-14 18:03:48

标签: r coordinates tile r-modis

我正在寻找一种方法来自动返回MODIS图块(例如h12 v4)作为经度和纬度的函数。

我希望MODIS包可以使用getTile(***)来实现。我在使用getTile()时看到了一个很好的GUI,但我正在寻找一个自动方法作为long / lat的函数。

感谢, 杰夫

1 个答案:

答案 0 :(得分:1)

一个好建议!当前包含在 MODIS 'develop'分支中,并且肯定会成为将来软件包版本的一部分(从 1.1.4 开始)。在下一个CRAN版本发布之前,只需从GitHub安装当前的“开发”版本,然后查看它是否对您有用:

 fun1<- function(x, y) {
            mutate(mydata, x = 
            ifelse(y == 10, 0,
            ifelse(y == 1, 0.5/7,
            ifelse(y == 2, 1/7, 
            ifelse(y == 3, 3/7,
            ifelse(y == 4, 5.5/7,
            ifelse(y == 5, 1,
            ifelse(y == 6, 2.5,
            ifelse(y==  7, 4.5,
             6)))))))))
                      }
mydata <- fun1(newvar_test, oldvar)

不过,有一个重要警告:目前,这仅适用于 sp (即# devtools::install_github("MatMatt/MODIS", ref = "develop") library(MODIS) ## set point coordinates (taken from https://en.wikipedia.org/wiki/Frankfurt) dat = data.frame(lon = 8.682222, lat = 50.110556, loc = "Frankfurt am Main") pts = sf::st_as_sf(dat, coords = c("lon", "lat"), crs = 4326) ## get overlying tile tls = getTile(pts) tls@tile # [1] "h18v03" )和 sf 点输入。