ee.FeatureCollection.randomColumn

تُضيف هذه الدالة عمودًا من الأرقام شبه العشوائية الحتمية إلى مجموعة. تكون النتائج أعدادًا عشرية بدقة مضاعفة. عند استخدام التوزيع "المنتظم" (التلقائي)، تكون النتائج في النطاق [0, 1). باستخدام التوزيع "العادي"، تكون القيم الناتجة هي μ=0 وσ=1، ولكن ليس لها حدود صريحة.

الاستخدامالمرتجعات
FeatureCollection.randomColumn(columnName, seed, distribution, rowKeys)FeatureCollection
الوسيطةالنوعالتفاصيل
هذا: collectionFeatureCollectionمجموعة الإدخال التي تريد إضافة عمود عشوائي إليها
columnNameسلسلة، الإعداد التلقائي: "عشوائي"اسم العمود الذي تريد إضافته.
seedطويلة، القيمة التلقائية: 0بذرة تُستخدَم عند إنشاء الأرقام العشوائية
distributionسلسلة، الإعداد التلقائي: "uniform"نوع توزيع الأرقام العشوائية المطلوب إنشاؤها، إما "موحد" أو "عادي".
rowKeysقائمة، اختياريةقائمة بالسمات التي من المفترض أن تحدّد عنصرًا من المجموعة بشكل فريد ومتكرّر، وتُستخدَم لإنشاء الرقم العشوائي. الإعداد التلقائي هو [system:index].

أمثلة

محرِّر الرموز البرمجية (JavaScript)

// FeatureCollection of power plants in Belgium.
var fc = ee.FeatureCollection('WRI/GPPD/power_plants')
            .filter('country_lg == "Belgium"');
print('N features in collection', fc.size());

// Add a uniform distribution random value column to the FeatureCollection.
fc = fc.randomColumn();

// Randomly split the collection into two sets, 30% and 70% of the total.
var randomSample30 = fc.filter('random < 0.3');
print('N features in 30% sample', randomSample30.size());

var randomSample70 = fc.filter('random >= 0.3');
print('N features in 70% sample', randomSample70.size());

إعداد لغة Python

اطّلِع على صفحة بيئة Python للحصول على معلومات عن واجهة برمجة التطبيقات Python API واستخدام IDE geemap لتطوير التطبيقات التفاعلي.

import ee
import geemap.core as geemap

Colab (Python)

# FeatureCollection of power plants in Belgium.
fc = ee.FeatureCollection('WRI/GPPD/power_plants').filter(
    'country_lg == "Belgium"')
print('N features in collection:', fc.size().getInfo())

# Add a uniform distribution random value column to the FeatureCollection.
fc = fc.randomColumn()

# Randomly split the collection into two sets, 30% and 70% of the total.
random_sample_30 = fc.filter('random < 0.3')
print('N features in 30% sample:', random_sample_30.size().getInfo())

random_sample_70 = fc.filter('random >= 0.3')
print('N features in 70% sample:', random_sample_70.size().getInfo())