插值算法-克里金法(Java jk3d.jar测试过程)

来源:互联网 发布:java对称加密算法 编辑:程序博客网 时间:2024/05/18 10:59

算法介绍 

kriging 插值作为地统计学中的一种插值方法由南非采矿工程师D.G.Krige于1951年首次提出,是一种求最优、线形、无偏的空间内插方法。在充分考虑观测资料之间的相互关系后,对每一个观测资料赋 予一定的权重系数,加权平均得到估计值。 

方法步骤

  1. 输入原始数据,即采样点
  2. 网格化,选择区域的范围和网格的大小,对区域进行网格化处理。
  3. 数据检验与分析,根据采样值是否合乎实际情况,剔除明显差异点。 
  4. 直方图的计算,直方图有助于掌握区域变化的分布规律,以便决定是否对原始数据进行转换。 
  5. 利用变异函数进行变异函数计算,了解变量的空间结构。 
  6. 克里金插值估

源码介绍

java 的第三方库jk3d.jar:由于jk3d.jar网上资料不多,就连github也没有详细资料.所以我在这里会介绍一下某些细节.


1.这个程序的工作过程是这样的:运行时先要加载一个配置文件jk3d.par
内容如下:

Parameters for jk3d                  *******************START OF PARAMETERS:D:\lcpsky-workspace\jk3dstudy\src\testdata-iw3d-3D.dat         -file with data   //数据输入路径1   2   3    4     0             -columns for X, Y, Z, var, sec var-1.0e21   1.0e21                 -trimming limits0                                -option: 0=grid, 1=cross, 2=jackknifexvk.dat                          -file with jackknife data1   2   0    3    0              -columns for X,Y,Z,vr and sec var3                                -debugging level: 0,1,2,3testdata-iw3d-3D.dbg             -file for debugging outputtestdata-iw3d-3D.out             -file for kriged output                       //数据输出路径10 0 0.05                         -nx,xmn,xsiz10 0 0.05                         -ny,ymn,ysiz1 0 0.05                         -nz,zmn,zsiz1    1      1                    -x,y and z block discretization1    16                          -min, max data for kriging16    8                           -max per octant (0-> not used), blank if more than this many octants are empty1.1  1.1  1.1                    -maximum search radii0.0   0.0   0.0                  -angles for search ellipsoid1     -1001                      -0=SK,1=OK,2=non-st SK,3=exdrift0 0 0 0 0 0 0 0 0                -drift: x,y,z,xx,yy,zz,xy,xz,zy0                                -0, variable; 1, estimate trendextdrift.dat                     -gridded file with drift/mean4                                -column number in gridded file1    0.0                         -nst, nugget effect3   0.04    0.0   0.0   0.0      \it,cc,ang1,ang2,ang3   0.994  0.994   0.84            \a_hmax, a_hmin, a_vert3   0.0336  0.0   0.0  90.0      \it,cc,ang1,ang2,ang3   0.85 0.85 0.0                 \a_hmax, a_hmin, a_vert

2.这一行说的是要进行插值得原始数据路径信息

D:\lcpsky-workspace\jk3dstudy\src\testdata-iw3d-3D.dat         -file with data
文件内容是:
primary data4XYZVAL0.250.00.00.59490552849030.10.050.00.65716117883891990.10.10.00.67200579669015140.250.250.00.66267114632082540.10.350.00.56278610354276890.250.350.00.55639304060586810.00.40.00.47327336882769980.250.40.00.48856659904442640.250.450.00.42513590873906865
3.创建一个test类
package com.lcp.jk3dstudy;import de.onlinehome.geomath.jk3d.jk3d;public class TestJar {    public static void main(String[] args){                String path="D:\\lcpsky-workspace\\jk3dstudy\\src\\jd3k.par";//第一个文件的路径        jk3d j=new jk3d(path);           }}

4.运行主函数即可在src下找到输出testdata-iw3d-3D.out文件

内容如下:
0.0 0.0 0.0 0.62192452095717690.05 0.0 0.0 0.63457621871484460.1 0.0 0.0 0.63816465221817450.15000000000000002 0.0 0.0 0.63194977710849760.2 0.0 0.0 0.61678067828101790.25 0.0 0.0 0.59490552849030.3 0.0 0.0 0.5694382550570230.35 0.0 0.0 0.54365318899533910.39999999999999997 0.0 0.0 0.52032300212610380.44999999999999996 0.0 0.0 0.50127751599832960.0 0.05 0.0 0.62394008049300380.05 0.05 0.0 0.64488144247996910.1 0.05 0.0 0.65716117883891990.15000000000000002 0.05 0.0 0.65900939056410630.2 0.05 0.0 0.6503066534772880.25 0.05 0.0 0.63258424052186010.3 0.05 0.0 0.60861966923701620.35 0.05 0.0 0.58176739167576260.39999999999999997 0.05 0.0 0.5552378702998140.44999999999999996 0.05 0.0 0.53152818476115470.0 0.1 0.0 0.62236964917459540.05 0.1 0.0 0.6513407589428060.1 0.1 0.0 0.67200579669015140.15000000000000002 0.1 0.0 0.6815795879613980.2 0.1 0.0 0.67901846882698860.25 0.1 0.0 0.66520123031628940.3 0.1 0.0 0.64263548630891610.35 0.1 0.0 0.61480429494433210.39999999999999997 0.1 0.0 0.58537151284047840.44999999999999996 0.1 0.0 0.55747959658513820.0 0.15000000000000002 0.0 0.61575734781530070.05 0.15000000000000002 0.0 0.65115349998206360.1 0.15000000000000002 0.0 0.67844139637962040.15000000000000002 0.15000000000000002 0.0 0.69399689963384690.2 0.15000000000000002 0.0 0.6960673243666390.25 0.15000000000000002 0.0 0.68508952118840480.3 0.15000000000000002 0.0 0.66345938068354170.35 0.15000000000000002 0.0 0.63485736805114160.39999999999999997 0.15000000000000002 0.0 0.60336542080622820.44999999999999996 0.15000000000000002 0.0 0.57264343690290810.0 0.2 0.0 0.60221291875346950.05 0.2 0.0 0.64121788377639040.1 0.2 0.0 0.67213736915984520.15000000000000002 0.2 0.0 0.69082653722482560.2 0.2 0.0 0.69517191067087950.25 0.2 0.0 0.68547679713756840.3 0.2 0.0 0.66422773948742120.35 0.2 0.0 0.63535595830335860.39999999999999997 0.2 0.0 0.60325853029092510.44999999999999996 0.2 0.0 0.5718829529798030.0 0.25 0.0 0.58025842608927070.05 0.25 0.0 0.61930872184407540.1 0.25 0.0 0.65020293113951260.15000000000000002 0.25 0.0 0.66867885395507210.2 0.25 0.0 0.6726687340242630.25 0.25 0.0 0.66267114632082540.3 0.25 0.0 0.64144680250013320.35 0.25 0.0 0.61318079212493140.39999999999999997 0.25 0.0 0.5824147515650780.44999999999999996 0.25 0.0 0.55308433796331570.0 0.3 0.0 0.54981243265957050.05 0.3 0.0 0.58529072446835420.1 0.3 0.0 0.61259558740505290.15000000000000002 0.3 0.0 0.62775571418427220.2 0.3 0.0 0.62912283693110540.25 0.3 0.0 0.6176564017402490.3 0.3 0.0 0.59649773279608340.35 0.3 0.0 0.57001823568221580.39999999999999997 0.3 0.0 0.54268638268225070.44999999999999996 0.3 0.0 0.51811172269138740.0 0.35 0.0 0.51283696773378920.05 0.35 0.0 0.54180354770226960.1 0.35 0.0 0.56278610354276890.15000000000000002 0.35 0.0 0.57243634007232960.2 0.35 0.0 0.56978582727716710.25 0.35 0.0 0.55639304060586810.3 0.35 0.0 0.53577480584070660.35 0.35 0.0 0.51235267844258710.39999999999999997 0.35 0.0 0.490294067333925550.44999999999999996 0.35 0.0 0.47261594257782760.0 0.39999999999999997 0.0 0.47327336882769980.05 0.39999999999999997 0.0 0.494021817183492030.1 0.39999999999999997 0.0 0.50728468350549090.15000000000000002 0.39999999999999997 0.0 0.51053382061478510.2 0.39999999999999997 0.0 0.50358045010216060.25 0.39999999999999997 0.0 0.48856659904442640.3 0.39999999999999997 0.0 0.46926734845440110.35 0.39999999999999997 0.0 0.44997368560357110.39999999999999997 0.39999999999999997 0.0 0.434356500973906770.44999999999999996 0.39999999999999997 0.0 0.424673424947193730.0 0.44999999999999996 0.0 0.43620015567420450.05 0.44999999999999996 0.0 0.44848072203598730.1 0.44999999999999996 0.0 0.454099120723841730.15000000000000002 0.44999999999999996 0.0 0.45138822267958390.2 0.44999999999999996 0.0 0.440875987962985770.25 0.44999999999999996 0.0 0.425135908739068650.3 0.44999999999999996 0.0 0.40800327467658680.35 0.44999999999999996 0.0 0.39345071747406980.39999999999999997 0.44999999999999996 0.0 0.384524548013070340.44999999999999996 0.44999999999999996 0.0 0.38268179105835376




 
原创粉丝点击