Feature di Earth Engine ditentukan sebagai Fitur GeoJSON. Secara khusus,
Feature adalah objek dengan properti geometry yang menyimpan
objek Geometry (atau null) dan properti properties yang menyimpan
kamus properti lainnya.
Membuat objek Fitur
Untuk membuat Feature, berikan Geometry dan (opsional) kamus properti lainnya ke konstruktor. Contoh:
Editor Kode (JavaScript)
// Create an ee.Geometry. var polygon = ee.Geometry.Polygon([ [[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]] ]); // Create a Feature from the Geometry. var polyFeature = ee.Feature(polygon, {foo: 42, bar: 'tart'});
import ee import geemap.core as geemap
Colab (Python)
# Create an ee.Geometry. polygon = ee.Geometry.Polygon( [[[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]] ) # Create a Feature from the Geometry. poly_feature = ee.Feature(polygon, {'foo': 42, 'bar': 'tart'})
Seperti Geometry, Feature dapat dicetak atau ditambahkan ke peta untuk pemeriksaan dan visualisasi:
Editor Kode (JavaScript)
print(polyFeature); Map.addLayer(polyFeature, {}, 'feature');
import ee import geemap.core as geemap
Colab (Python)
display(poly_feature) m = geemap.Map() m.add_layer(poly_feature, {}, 'feature') display(m)
Feature tidak perlu memiliki Geometry dan dapat menggabungkan
kamus properti. Contoh:
Editor Kode (JavaScript)
// Create a dictionary of properties, some of which may be computed values. var dict = {foo: ee.Number(8).add(88), bar: 'nihao'}; // Create a null geometry feature with the dictionary of properties. var nowhereFeature = ee.Feature(null, dict);
import ee import geemap.core as geemap
Colab (Python)
# Create a dictionary of properties, some of which may be computed values. dic = {'foo': ee.Number(8).add(88), 'bar': 'nihao'} # Create a null geometry feature with the dictionary of properties. nowhere_feature = ee.Feature(None, dic)
Dalam contoh ini, perhatikan bahwa kamus yang disediakan ke Feature berisi nilai yang dihitung. Membuat fitur dengan cara ini berguna untuk mengekspor komputasi yang berjalan lama dengan hasil Dictionary (misalnya, image.reduceRegion()). Lihat panduan FeatureCollections dan Mengimpor Data Tabel atau Mengekspor untuk mengetahui detailnya.
Setiap Feature memiliki satu Geometry utama yang disimpan di properti geometry. Geometri tambahan dapat disimpan di properti lain.
Metode Geometry seperti persimpangan dan buffering juga ada di
Feature sebagai kemudahan untuk mendapatkan Geometry utama,
menerapkan operasi, dan menetapkan hasilnya sebagai Geometry utama baru.
Hasilnya akan mempertahankan semua properti Feature lainnya tempat
metode dipanggil. Ada juga metode untuk mendapatkan dan menetapkan properti non-geometri
Feature. Contoh:
Editor Kode (JavaScript)
// Make a feature and set some properties. var feature = ee.Feature(ee.Geometry.Point([-122.22599, 37.17605])) .set('genus', 'Sequoia').set('species', 'sempervirens'); // Get a property from the feature. var species = feature.get('species'); print(species); // Set a new property. feature = feature.set('presence', 1); // Overwrite the old properties with a new dictionary. var newDict = {genus: 'Brachyramphus', species: 'marmoratus'}; var feature = feature.set(newDict); // Check the result. print(feature);
import ee import geemap.core as geemap
Colab (Python)
# Make a feature and set some properties. feature = ( ee.Feature(ee.Geometry.Point([-122.22599, 37.17605])) .set('genus', 'Sequoia') .set('species', 'sempervirens') ) # Get a property from the feature. species = feature.get('species') display(species) # Set a new property. feature = feature.set('presence', 1) # Overwrite the old properties with a new dictionary. new_dic = {'genus': 'Brachyramphus', 'species': 'marmoratus'} feature = feature.set(new_dic) # Check the result. display(feature)
Pada contoh sebelumnya, perhatikan bahwa properti dapat ditetapkan dengan pasangan nilai kunci,
atau dengan kamus. Perhatikan juga bahwa feature.set()
menimpa properti yang ada.