首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >terra_rasterize错误:[栅格化]无法创建数据集

terra_rasterize错误:[栅格化]无法创建数据集
EN

Stack Overflow用户
提问于 2022-09-01 01:05:38
回答 1查看 25关注 0票数 0

我正在尝试使用光栅函数在Rterra (v.1.6-7)中将与城市相关的人口值转移到栅格中。我这样做是为了两个shapefiles,dipomun00gw.shpmunicipiosPOP.shp。这是代码:

代码语言:javascript
复制
library(terra)

# Read shapefiles for 2000 and 2010
v_00 <- vect("dipomun00gw.shp")
v_10 <- vect("municipiosPOP.shp")

# create blank rasters using each year's shape file as extent
r_00 <- rast(v_00, res=.01)  
r_10 <- rast(v_10, res=.01)  

# Rasterize
x_00 <- rasterize(v_00, r_00, "POTO00")
x_10 <- rasterize(v_10, r_10, "POB_10")  
#Error: [rasterize] cannot create dataset

由于某些原因,v_00没有出现任何问题,但是v_10会产生错误。

我无法确定shapefile municipiosPOP.shp是什么特性导致了这个错误。

有人知道这是怎么回事吗?

Shapefile可以访问这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-02 05:24:29

原因是r_10太大了(它有> 6.4e+16单元!)

代码语言:javascript
复制
r_10
#class       : SpatRaster 
#dimensions  : 203046581, 317517559, 1  (nrow, ncol, nlyr)
#resolution  : 0.01, 0.01  (x, y)
#extent      : 907821.8, 4082997, 319149.1, 2349615  (xmin, xmax, ymin, ymax)
#coord. ref. : North_America_Lambert_Conformal_Conic 

这是因为你分配了一个0.01的空间分辨率(也就是~1厘米),假设你在使用0.01度(~1公里)。如果首先将v_10投影到long/lat (如v_00),则代码可以工作。

代码语言:javascript
复制
v_10 <- project(v_10, crs(v_00))   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73563329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档