我正在使用 QGIS,并尝试在栅格层中每个像素的中心生成均匀的空间点。我能够生成均匀分布的点,但无法让它们足够靠近或位于每个像素的中心。每个像素应该为 1.85m,并且位于 UTM 中的投影 CRS 上。我无法访问 ARIGIS。 QGIS 有办法做到这一点吗?或者甚至在 R 中?我尝试生成网格以及生成点,但默认距离是 0.0001,每当我尝试变小它就会自动恢复。鉴于我在 UTM 中,我也不确定如何解释此默认值。
在QGIS 2.18中,您可以使用工具“矢量”>“研究工具”>“常规点”。您必须选择用于输入扩展的栅格,间距与“栅格的空间分辨率”相同,并且使用“距左上角的初始偏移”选项,输入“0,5*栅格的空间分辨率”以创建常规图层光栅的每个像素都具有中心点。
在 r 中,您可以使用 {terra} 中的函数 xyFromCell:
#get coords of all pixels
xy_coords <- as.data.frame(xyFromCell(raster, 1:ncell(raster)))
#get raster values
r.values <- values(raster)
#merge coords and raster values in a data.frame
points_df <- cbind(xy_coords , r.values)
#Convert data.frame to sf object
points_sf <- st_as_sf(points_df, coords = c("x", "y"), crs = crs(raster))