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

本博客介绍了如何利用FME中的RCaller转换器和Kriging方法,将点数据插值转换为栅格。通过读取CSV数据,进行坐标重投影,提取坐标值,然后运用R脚本执行Kriging插值并生成栅格图像,最终展示在Data Inspector中,展示RCaller在点数据到栅格转换中的应用。

介绍

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值