示例#1
0
        print "Processing file " + str(i) + " of " + str(len(sat_data))

        # Load the SECS grid and convert to ECEF
        sec_grid = np.loadtxt(SEC_file)
        grid_xyz = lla2ecef(sec_grid)

        # Load the Satellite position and convert it to ECEF
        sat_latlon = np.zeros((1, 3))
        sat_latlon[:, (0, 1)] = sat_data[i, (6, 7)]
        sat_xyz = lla2ecef(sat_latlon)

        # Determine the sill for the semivariance model of the grid
        sill = np.var(grid_xyz[:, 2])

        # Define the type of semivariacne model to be used for kriging
        covfct = model.covariance(model.exponential, (900000, sill))

        # Krig the value for the satellite position using simple kriging and the defined semivariance model and 10
        # neighbouring points
        ptz = kriging.simple(grid_xyz, covfct, sat_xyz[:, :2], N=10)

        # Add the krigged value to the different variables
        sat_latlon[0, 2] = ptz[0]
        sat_xyz[0, 2] = ptz[0]
        sat_data[i, 8] = ptz[0]
        timestamp = sat_ymd + sat_hms
        plot_grid(sec_grid, sat_latlon, timestamp)
    prev_min = sat_mins
# Save the updated satellite data with the krigged values
#np.savetxt('sat_data_april_krigged.txt',sat_data,delimiter='\t')
示例#2
0
pt = [2000, 4700]

plt.scatter(P[:,0], P[:,1], c=P[:,2], cmap=geoplot.YPcmap)
plt.title('Zone A Subset % Porosity')
plt.colorbar()
xmin, xmax = 0, 4250
ymin, ymax = 3200, 6250
plt.xlim(xmin,xmax)
plt.ylim(ymin,ymax)
for i in range( len( P[:,2] ) ):
    x, y, por = P[i]
    if( x < xmax )&( y > ymin )&( y < ymax ):
        plt.text( x+100, y, '{:4.2f}'.format( por ) )
plt.scatter( pt[0], pt[1], marker='x', c='k' )
plt.text( pt[0]+100 , pt[1], '?')
plt.xlabel('Easting (m)')
plt.ylabel('Northing (m)')
plt.show()

tolerance = 250
lags = np.arange(tolerance, 10000, tolerance*2)
sill = np.var(P[:,2])

geoplot.semivariogram(P, lags, tolerance)

svm = model.semivariance(model.spherical, (4000, sill))
geoplot.semivariogram(P, lags, tolerance, model=svm)

covfct = model.covariance(model.spherical, (4000, sill))
print kriging.simple(P, covfct, pt, N=6)
示例#3
0
        # Load the Satellite position and convert it to ECEF
        sat_latlon = np.zeros((1, 3))
        sat_latlon[:, (0, 1)] = sat_data[i, (6, 7)]
        sat_latlon[:, 1] = sat_latlon[:, 1] - 360
        sat_xyz = lla2ecef(sat_latlon)

        # Determine the sill for the semivariance model of the grid
        sill_u = np.var(eic_xyu[:, 2])
        sill_v = np.var(eic_xyv[:, 2])

        # Define the type of semivariance model to be used for kriging
        covfct_u = model.covariance(model.exponential, (900000, sill_u))
        covfct_v = model.covariance(model.exponential, (900000, sill_v))

        # Krig the value for the satellite position using simple kriging and the defined semivariance model and 10
        # neighbouring points
        ptz_u = kriging.simple(eic_xyu, covfct_u, sat_xyz[:, :2], N=10)
        ptz_v = kriging.simple(eic_xyv, covfct_v, sat_xyz[:, :2], N=10)

        # Add the krigged value to the different variables
        sat_data[i, 8] = ptz_u[0]
        sat_data[i, 9] = ptz_v[0]
        timestamp = sat_ymd + sat_hms

        #Call the plotting function to plot the grid and krigged values
        plot_grid(EIC_grid, sat_latlon, ptz_u, ptz_v, timestamp)
    prev_min = sat_mins

#np.savetxt('sat_EICS_april_krigged.txt',sat_data,delimiter='\t')
示例#4
0
        print "Processing file "+str(i)+" of "+str(len(sat_data))

        # Load the SECS grid and convert to ECEF
        sec_grid = np.loadtxt(SEC_file)
        grid_xyz = lla2ecef(sec_grid)

        # Load the Satellite position and convert it to ECEF
        sat_latlon = np.zeros((1,3))
        sat_latlon[:,(0,1)] = sat_data[i,(6,7)]
        sat_xyz = lla2ecef(sat_latlon)

        # Determine the sill for the semivariance model of the grid
        sill = np.var(grid_xyz[:,2])

        # Define the type of semivariacne model to be used for kriging
        covfct = model.covariance(model.exponential,(900000, sill))

        # Krig the value for the satellite position using simple kriging and the defined semivariance model and 10
        # neighbouring points
        ptz = kriging.simple(grid_xyz,covfct,sat_xyz[:,:2],N=10)

        # Add the krigged value to the different variables
        sat_latlon[0,2] = ptz[0]
        sat_xyz[0,2] = ptz[0]
        sat_data[i,8] = ptz[0]
        timestamp = sat_ymd+sat_hms
        plot_grid(sec_grid, sat_latlon, timestamp)
    prev_min = sat_mins
# Save the updated satellite data with the krigged values
#np.savetxt('sat_data_april_krigged.txt',sat_data,delimiter='\t')
示例#5
0
# <markdowncell>

# The covariance modeling function function will return a spherical covariance model that takes a distance as input, and returns an covariance estimate. We've used the global variance of the porosity in `ZoneA.dat` as the sill.

# <codecell>

covfct = model.covariance(model.spherical, (4000, sill))

# <markdowncell>

# We can then krige the data, using the covariance model, the point we are interested in, (2000,47000), and `N=6` signifying that we only want to use the six nearest points. The output of the simple and ordinary kriging functions below is the krigin estimate, and the standard deviation of the kriging estimate.

# <codecell>

kriging.simple(P, covfct, pt, N=6)

# <codecell>

kriging.ordinary(P, covfct, pt, N=6)

# <codecell>

est, kstd = kriging.krige(
    P,
    covfct, [[2000, 4700], [2100, 4700], [2000, 4800], [2100, 4800]],
    'simple',
    N=6)

# <codecell>
示例#6
0
# <markdowncell>

# The covariance modeling function function will return a spherical covariance model that takes a distance as input, and returns an covariance estimate. We've used the global variance of the porosity in `ZoneA.dat` as the sill.

# <codecell>

covfct = model.covariance( model.spherical, ( 4000, sill ) )

# <markdowncell>

# We can then krige the data, using the covariance model, the point we are interested in, (2000,47000), and `N=6` signifying that we only want to use the six nearest points. The output of the simple and ordinary kriging functions below is the krigin estimate, and the standard deviation of the kriging estimate.

# <codecell>

kriging.simple( P, covfct, pt, N=6 )

# <codecell>

kriging.ordinary( P, covfct, pt, N=6 )

# <codecell>

est, kstd = kriging.krige( P, covfct, [[2000,4700],[2100,4700],[2000,4800],[2100,4800]], 'simple', N=6 )

# <codecell>

est

# <codecell>
示例#7
0
        # Load the Satellite position and convert it to ECEF
        sat_latlon = np.zeros((1,3))
        sat_latlon[:,(0,1)] = sat_data[i,(6,7)]
        sat_latlon[:,1] = sat_latlon[:,1]-360
        sat_xyz = lla2ecef(sat_latlon)

        # Determine the sill for the semivariance model of the grid
        sill_u = np.var(eic_xyu[:,2])
        sill_v = np.var(eic_xyv[:,2])

        # Define the type of semivariance model to be used for kriging
        covfct_u = model.covariance(model.exponential,(900000, sill_u))
        covfct_v = model.covariance(model.exponential,(900000, sill_v))

        # Krig the value for the satellite position using simple kriging and the defined semivariance model and 10
        # neighbouring points
        ptz_u = kriging.simple(eic_xyu,covfct_u,sat_xyz[:,:2],N=10)
        ptz_v = kriging.simple(eic_xyv,covfct_v,sat_xyz[:,:2],N=10)

        # Add the krigged value to the different variables
        sat_data[i,8] = ptz_u[0]
        sat_data[i,9] = ptz_v[0]
        timestamp = sat_ymd+sat_hms

        #Call the plotting function to plot the grid and krigged values
        plot_grid(EIC_grid,sat_latlon,ptz_u,ptz_v,timestamp)
    prev_min = sat_mins

#np.savetxt('sat_EICS_april_krigged.txt',sat_data,delimiter='\t')