我有多个XYZ文件是通过GeoTIFF文件中的gdal2xyz.py脚本创建的(EPSG:4326,WGS 84)。
将它们导出为XYZ格式的目的是计算每个像素的最大值,最小值和平均值。
一旦完成,在我的R!我有一个包含三列的数据框:其中两列存储坐标,最后一列存储值。
此类数据的一个示例:
structure(list(X = c(16.91973877, 17.18004245, 17.44034612, 17.7006498, 17.96095347, 18.22125715), Y = c(54.35635376, 54.35635376, 54.35635376, 54.35635376, 54.35635376, 54.35635376), X2012.07.23 = c(2752L, 5422L, 7728L, 7178L, 8203L, 6909L)), .Names = c("X", "Y", "Mean"), row.names = c(NA, 6L), class = "data.frame")
是否可以将这些数据直接绘制为R中的2D地图!或者我需要将它们导出为ASCII GRID或其他栅格格式,再次读取并绘制? R中的大多数GIS教程!我发现了如何绘制矢量或光栅文件。 理想情况下,我想将这些值显示为像素,但表示为点(具有关于值的清晰信息)对我来说也是可以的。 在我的例子中:
答案 0 :(得分:1)
虽然可以从'XYZ'数据
创建栅格library(raster)
r <- rasterFromXYZ(XYZ)
这是相当复杂的。您应该使用原始GeoTIFF文件。例如
library(raster)
r <- raster('file.tif')
或者,如果有多个图层
b <- brick('file.tif')
然后,例如,计算每个单元格的平均值
m <- mean(b)