【FME-HOW-TO系列】17 通过克里金法将点插值转换为栅格

介绍

RCaller转换器允许StatisticsCalculator转换器多得多的统计分析。此示例显示如何使用RCaller从点创建栅格。Kriging是一种插值方法,用于根据单元信号点数据创建一个拟合曲面

下载

datapoints.csv

kriging-fme20161.fmwt

来源数据

CSV格式的单元信号点数据。

使用Data Inspector查看的源CSV数据

说明

下载kriging_FME2016.1.fmwt是完整的工作空间。如果您想自己创建工作空间,请下载DataPoints.csv,然后按照以下步骤创建它。

请注意,工作空间要求用户安装“geoR”和“sp”R模块。

1.读取源数据

使用CSV读模块读取DataPoints.csv

2.重投影

使用Reprojector将数据从纬度/精度(度)重新投影到UTM83-10(米)

3.提取坐标值

CoordinateExtractor提取点的x和y坐标值,并将它们添加为名为easting(x)和northing(y)的属性。Easting和northing将用于在RCaller中创建地图和克里金。

4.为栅格输出创建临时文件

一个要素用于使用TempPathnameCreator生成临时文件。来自RCaller的栅格图像将临时保存到此位置。

5.添加RCaller

R脚本将点插入到栅格中,并在临时文件位置创建栅格png。对于R脚本,请指定以下内容:

· 
library(sp)

·  library(geoR)

·   

·  map = SpatialPointsDataFrame(data=CellSignals, coords=cbind(CellSignals$easting,CellSignals$northing))

·  pred.grid <- expand.grid(

·  seq(min(CellSignals$easting),max(CellSignals$easting),50),seq(min(CellSignals$northing),max(CellSignals$northing),50)

·  )

·  ml=likfit(coords=coordinates(map), data=map$Quality, ini=c(10000,10000), nug=10)

·  kc <- krige.conv(coords=coordinates(map), data=map$Quality, loc=pred.grid, krige=krige.control(obj.m=ml))

·  png(CellSignals$pathname[1])

·  image(kc, loc = pred.grid, col=gray(seq(1,0,l=30)), xlab="Coord X", ylab="Coord Y")

·  dev.off()

·   

·  fmeOutput <- data.frame(pathname=CellSignals$pathname[1])

 

RCaller参数

6.读取栅格png

FeatureReader读取在RCaller中创建的栅格png,它允许我们查看输出数据。

7.查看结果

在Data Inspector中检查输出栅格。结果表明RCaller可用于从点数据生成栅格。请注意,此示例可能在统计上不精确。

克里金输出显示在Data Inspector

发布了350 篇原创文章 · 获赞 169 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/102458513