我不熟悉. asc文件,尝试将其转换为栅格。Extended Reconstructed Sea Surface Temperature (ERSST) dataset是从ERSST repo下载的
数据集的自述文件中包含一些信息:
filename convention:
(1) ERSST
ersst.VERSION.yyyy.asc
yyyy=year
Units: isst=100 degree C
Missing value=-9999
(2) grid information
latitude: -88.0, increase northward per 2 degree, to +88.0
longitude: 0.0, increase eastward per 2 degree, to 358.0
以下是我的尝试:
url <- "https://www.ncei.noaa.gov/pub/data/cmb/ersst/v5/ascii/ersst.v5.1854.asc"
f <- basename(url)
download.file(url, f, mode="wb")
a<- terra::rast(f)
plot(a)
例如,使用a=terra::rast(f)
和plot(a)
时,我收到警告消息:
1: Failed to read scanline 672. (GDAL error 3)
2: ersst.v5.1854.asc, band 1: IReadBlock failed at X offset 0, Y offset 672: Failed to read scanline 672. (GDAL error 1)
3: [plot] SpatRaster has no cell values
不确定是否与投影系统有关。如果是这样,我应该为这个全局数据集使用哪个投影引用?
1条答案
按热度按时间yfjy0ee71#
asc数据使用了非标准格式,如果您必须读取的话,它会非常容易,但是在这种情况下,您可以使用NetCDF文件来代替;那就简单多了
下载示例文件
将其作为散布栅格打开
注意经度从-1到359。您可以使用
rotate
获取更多的标准经度;你可以同时把它写到一个GeoTiff上。但是请注意,它仍然不是它应该是的样子(-180,180),您可以使用resample来修复它。