Annuncio: tutti i progetti non commerciali registrati per l'utilizzo di Earth Engine prima del 15 aprile 2025 devono verificare l'idoneità non commerciale per mantenere l'accesso a Earth Engine.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'interpolazione da vettoriale a raster in Earth Engine crea un Image
da un FeatureCollection. Nello specifico, Earth Engine utilizza i dati numerici memorizzati in una proprietà degli elementi per interpolare i valori in nuove posizioni al di fuori degli elementi. L'interpolazione genera un Image continuo di valori interpolati fino alla distanza specificata.
Interpolazione ponderata inversa della distanza
La funzione di ponderazione inversa della distanza (IDW) in Earth Engine si basa sul metodo
descritto da
Basso
et al. (1999). Viene aggiunto un parametro di controllo aggiuntivo sotto forma di
fattore di decadimento (gamma) sulla distanza inversa. Altri parametri includono la media e la deviazione standard della proprietà da interpolare e la distanza massima dell'intervallo su cui eseguire l'interpolazione. L'esempio seguente crea una superficie interpolata di
concentrazione di metano per colmare le lacune spaziali nel set di dati raster originale. Il valore
FeatureCollection viene generato campionando un composito di metano di due settimane.
Tieni presente che, come specificato dal parametro range, l'interpolazione è valida solo fino a 70 chilometri dalla stazione di misurazione più vicina.
Kriging
La kriging è un metodo di interpolazione
che utilizza una stima modellata della
semivarianza per creare un'immagine
dei valori interpolati che è una combinazione ottimale dei valori in località note.
L'estimatore Kriging richiede parametri che descrivono la forma di un
semivariogramma adattato ai punti di dati noti. Questi parametri sono illustrati nella Figura 1.
Figura 1. I parametri nugget, sill e range
illustrati su una funzione di variogramma idealizzata.
L'esempio seguente acquisisce un'immagine della temperatura superficiale del mare (SST) in posizioni casuali,
quindi interpola la SST dal campione utilizzando Kriging:
La dimensione del vicinato in cui eseguire l'interpolazione è specificata dal
parametro maxDistance. Dimensioni maggiori comportano un output più fluido, ma calcoli più lenti.
[null,null,["Ultimo aggiornamento 2025-07-25 UTC."],[[["\u003cp\u003eEarth Engine interpolates numeric data from vector features to create continuous raster images.\u003c/p\u003e\n"],["\u003cp\u003eInverse Distance Weighting (IDW) interpolation estimates values based on the distance and decay factor from known data points.\u003c/p\u003e\n"],["\u003cp\u003eKriging utilizes a semi-variogram model to produce an optimal interpolation based on spatial relationships of known values.\u003c/p\u003e\n"],["\u003cp\u003eBoth methods offer customizable parameters to control the interpolation process, like range, maximum distance, and model-specific settings.\u003c/p\u003e\n"]]],["Earth Engine interpolates numeric data from a `FeatureCollection` to create a continuous `Image`. Inverse Distance Weighted (IDW) interpolation uses a decay factor (`gamma`) and distance parameters to estimate values, demonstrated by interpolating methane concentration data. Kriging interpolation, another method, uses semi-variance estimates (`nugget`, `sill`, `range`) to generate interpolated values, exemplified through sea surface temperature interpolation. Both methods sample raster data to create `FeatureCollections` for interpolation. The `maxDistance` parameter determines the interpolation neighborhood's size in Kriging.\n"],null,["# Vector to Raster Interpolation\n\nInterpolation from vector to raster in Earth Engine creates an `Image`\nfrom a `FeatureCollection`. Specifically, Earth Engine uses numeric data\nstored in a property of the features to interpolate values at new locations outside\nof the features. The interpolation results in a continuous `Image` of\ninterpolated values up to the distance specified.\n\nInverse Distance Weighted Interpolation\n---------------------------------------\n\nThe inverse distance weighting (IDW) function in Earth Engine is based on the method\ndescribed by\n[Basso\net al. (1999)](https://ieeexplore.ieee.org/abstract/document/805606). An additional control parameter is added in the form of a\ndecay factor (`gamma`) on the inverse distance. Other parameters include the\nmean and standard deviation of the property to interpolate and the maximum range\ndistance over which to interpolate. The following example creates an interpolated surface of\n[methane concentration](https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S5P_OFFL_L3_CH4) to fill spatial gaps in the original raster dataset. The\n`FeatureCollection` is generated by sampling a two-week methane composite. \n\n```gdscript\n// Import two weeks of S5P methane and composite by mean.\nvar ch4 = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4')\n .select('CH4_column_volume_mixing_ratio_dry_air')\n .filterDate('2019-08-01', '2019-08-15')\n .mean()\n .rename('ch4');\n\n// Define an area to perform interpolation over.\nvar aoi =\n ee.Geometry.Polygon(\n [[[-95.68487605978851, 43.09844605027055],\n [-95.68487605978851, 37.39358590079781],\n [-87.96148738791351, 37.39358590079781],\n [-87.96148738791351, 43.09844605027055]]], null, false);\n\n// Sample the methane composite to generate a FeatureCollection.\nvar samples = ch4.addBands(ee.Image.pixelLonLat())\n .sample({region: aoi, numPixels: 1500,\n scale:1000, projection: 'EPSG:4326'})\n .map(function(sample) {\n var lat = sample.get('latitude');\n var lon = sample.get('longitude');\n var ch4 = sample.get('ch4');\n return ee.Feature(ee.Geometry.Point([lon, lat]), {ch4: ch4});\n });\n\n// Combine mean and standard deviation reducers for efficiency.\nvar combinedReducer = ee.Reducer.mean().combine({\n reducer2: ee.Reducer.stdDev(),\n sharedInputs: true});\n\n// Estimate global mean and standard deviation from the points.\nvar stats = samples.reduceColumns({\n reducer: combinedReducer,\n selectors: ['ch4']});\n\n// Do the interpolation, valid to 70 kilometers.\nvar interpolated = samples.inverseDistance({\n range: 7e4,\n propertyName: 'ch4',\n mean: stats.get('mean'),\n stdDev: stats.get('stdDev'),\n gamma: 0.3});\n\n// Define visualization arguments.\nvar band_viz = {\n min: 1800,\n max: 1900,\n palette: ['0D0887', '5B02A3', '9A179B', 'CB4678',\n 'EB7852', 'FBB32F', 'F0F921']};\n\n// Display to map.\nMap.centerObject(aoi, 7);\nMap.addLayer(ch4, band_viz, 'CH4');\nMap.addLayer(interpolated, band_viz, 'CH4 Interpolated');\n```\n\nNote that, as specified by the `range` parameter, the interpolation only\nexists up to 70 kilometers from the nearest measurement station.\n\nKriging\n-------\n\n[Kriging](https://en.wikipedia.org/wiki/Kriging) is an interpolation method\nthat uses a modeled estimate of\n[semi-variance](https://en.wikipedia.org/wiki/Semivariance) to create an image\nof interpolated values that is an optimal combination of the values at known locations.\nThe Kriging estimator requires parameters that describe the shape of a\n[semi-variogram](https://en.wikipedia.org/wiki/Variogram) fit to the known data\npoints. These parameters are illustrated by Figure 1.\nFigure 1. The `nugget`, `sill` and `range` parameters illustrated on a idealized variogram function.\n\nThe following example samples a sea surface temperature (SST) image at random locations,\nthen interpolates SST from the sample using Kriging: \n\n```cplint\n// Load an image of sea surface temperature (SST).\nvar sst = ee.Image('NOAA/AVHRR_Pathfinder_V52_L3/20120802025048')\n .select('sea_surface_temperature')\n .rename('sst')\n .divide(100);\n\n// Define a geometry in which to sample points\nvar geometry = ee.Geometry.Rectangle([-65.60, 31.75, -52.18, 43.12]);\n\n// Sample the SST image at 1000 random locations.\nvar samples = sst.addBands(ee.Image.pixelLonLat())\n .sample({region: geometry, numPixels: 1000})\n .map(function(sample) {\n var lat = sample.get('latitude');\n var lon = sample.get('longitude');\n var sst = sample.get('sst');\n return ee.Feature(ee.Geometry.Point([lon, lat]), {sst: sst});\n });\n\n// Interpolate SST from the sampled points.\nvar interpolated = samples.kriging({\n propertyName: 'sst',\n shape: 'exponential',\n range: 100 * 1000,\n sill: 1.0,\n nugget: 0.1,\n maxDistance: 100 * 1000,\n reducer: 'mean',\n});\n\nvar colors = ['00007F', '0000FF', '0074FF',\n '0DFFEA', '8CFF41', 'FFDD00',\n 'FF3700', 'C30000', '790000'];\nvar vis = {min:-3, max:40, palette: colors};\n\nMap.setCenter(-60.029, 36.457, 5);\nMap.addLayer(interpolated, vis, 'Interpolated');\nMap.addLayer(sst, vis, 'Raw SST');\nMap.addLayer(samples, {}, 'Samples', false);\n```\n\nThe size of the neighborhood in which to perform the interpolation is specified by the\n`maxDistance` parameter. Larger sizes will result in smoother output but\nslower computations."]]