تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تؤدي عملية الاستقراء من ملفّ رسومات متجهّة إلى ملفّ رسومات نقطية في Earth Engine إلى إنشاء Image
من FeatureCollection. على وجه التحديد، يستخدم Earth Engine البيانات الرقمية
المخزّنة في سمة من السمات لإجراء الاستقراء بين القيم في مواقع جغرافية جديدة خارج
السمات. تؤدي عملية الاستقراء إلى إنشاء Image مستمر من
القيم المستقراءة حتى المسافة المحدّدة.
التقريب المستند إلى الترجيح العكسي للمسافة
تستند دالة "معدّل التأثير العكسي للمسافة" (IDW) في Earth Engine إلى الطريقة التي وصفها
باسو
وآخرون (1999). تتم إضافة مَعلمة تحكّم إضافية في شكل عامل تضاؤل (gamma) على المسافة العكسية. وتشمل المَعلمات الأخرى
متوسّط وانحرافًا معياريًا للسمة المطلوب إجراء الاستقراء عليها وأقصى مدى
للمسافة التي سيتم الاستقراء عليها. ينشئ المثال التالي سطحًا متداخلًا ل
معدّل تركيز الميثان لملء الفجوات المكانية في مجموعة البيانات الأصلية للشبكة المركّبة. يتم إنشاء
FeatureCollection من خلال أخذ عيّنة من مركب الميثان لمدة أسبوعَين.
يُرجى العِلم أنّه، وفقًا لما هو محدّد في المَعلمة range، لا يتم استخدام الاستقراء إلا في نطاق 70 كيلومترًا كحد أقصى من أقرب محطة قياس.
طريقة Kriging
طريقة التداخل الكريجي هي طريقة للتداخل
تستخدِم تقديرًا مستنِدًا إلى نموذج لالتباين النصفي لإنشاء صورة
للقيم المتداخلة التي تشكّل مزيجًا مثاليًا للقيم في المواقع الجغرافية المعروفة.
يتطلّب مقدّر Kriging مَعلمات تصف شكل
نصف المتغير الملائم لنقاط data
المعروفة. يوضّح الشكل 1 هذه المَعلمات.
الشكل 1. مَعلمات nugget وsill وrange
موضّحة في دالة متغيرة مثالية.
يأخذ المثال التالي عيّنات من صورة درجة حرارة سطح البحر (SST) في مواقع عشوائية،
ثم يُحدِّد درجة حرارة سطح البحر من العيّنة باستخدام طريقة Kriging:
يتم تحديد حجم الحي الذي سيتم فيه إجراء الاستقراء بالمَعلمة
maxDistance. سيؤدي استخدام أحجام أكبر إلى الحصول على نتائج أكثر سلاسة ولكن مع
عمليات حسابية أبطأ.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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."]]