sf2 extends the function of sf package.

Installation

devtools::install_github("rpkgs/sf2")

说明

Table1. 空间数据中数据排序要求。

函数 数据名称 数据格式 其他说明
image, fileds::image.plot, lattice::levelplot mat_base [lon, lat] mat_base to mat_rast:
t() %>% fliplr(), flipud() %>% t()
raster::raster, terra::rast
raster::as.array
mat_rast [rev(lat), lon] mat_rast to mat_gdal:
t() %>% flipud(), fliplr() %>% t()
g_base = sf2::make_grid(type = “base”), default type mat_base [lon, lat] 优势:
(1) lon、lat都是按照从小到大进行排列,符合常规习惯;
(2) 此种格式,R语言基础绘图可以正常出图

劣势:
与所有空间数据R包相悖。
(a) g_gdal = sf2::make_grid(type = “gdal”),
(b) rgdal、sp、terra、raster的计算函数返回的均是这种数据排列格式,
如:raster::values, raster::area, terra::values, terra::as.data.frame,他们是按照g_gdal排序格式,与其构造函数中数据排序无关。
(c) terra::writeCDF保存的nc文件, ncdf4::ncvar_get获取的array。
mat_gdal [lon, rev(lat)] mat_base to mat_gdal:
flipud()

mat_rast to mat_gdal:
t()

注意:g_mat转化为raster::raster或terra::rast之后,则按照新的数据格式排列数据。