Để áp dụng cùng một thao tác cho mọi Feature
trong FeatureCollection
, hãy sử dụng featureCollection.map()
. Ví dụ: để thêm một thuộc tính diện tích khác vào mọi đối tượng trong FeatureCollection
lưu vực, hãy sử dụng:
Trình soạn thảo mã (JavaScript)
// Load watersheds from a data table. var sheds = ee.FeatureCollection('USGS/WBD/2017/HUC06'); // This function computes the feature's geometry area and adds it as a property. var addArea = function(feature) { return feature.set({areaHa: feature.geometry().area().divide(100 * 100)}); }; // Map the area getting function over the FeatureCollection. var areaAdded = sheds.map(addArea); // Print the first feature from the collection with the added property. print('First feature:', areaAdded.first());
import ee import geemap.core as geemap
Colab (Python)
# Load watersheds from a data table. sheds = ee.FeatureCollection('USGS/WBD/2017/HUC06') # Map an area calculation function over the FeatureCollection. area_added = sheds.map( lambda feature: feature.set( {'areaHa': feature.geometry().area().divide(100 * 100)} ) ) # Print the first feature from the collection with the added property. display('First feature:', area_added.first())
Trong ví dụ trước, hãy lưu ý rằng một thuộc tính mới được đặt dựa trên phép tính với hình học của đối tượng. Bạn cũng có thể đặt thuộc tính bằng cách sử dụng phép tính liên quan đến các thuộc tính hiện có.
Bạn có thể tạo một FeatureCollection
hoàn toàn mới bằng map()
.
Ví dụ sau đây chuyển đổi các lưu vực thành tâm điểm:
Trình soạn thảo mã (JavaScript)
// This function creates a new feature from the centroid of the geometry. var getCentroid = function(feature) { // Keep this list of properties. var keepProperties = ['name', 'huc6', 'tnmid', 'areasqkm']; // Get the centroid of the feature's geometry. var centroid = feature.geometry().centroid(); // Return a new Feature, copying properties from the old Feature. return ee.Feature(centroid).copyProperties(feature, keepProperties); }; // Map the centroid getting function over the features. var centroids = sheds.map(getCentroid); // Display the results. Map.addLayer(centroids, {color: 'FF0000'}, 'centroids');
import ee import geemap.core as geemap
Colab (Python)
# This function creates a new feature from the centroid of the geometry. def get_centroid(feature): # Keep this list of properties. keep_properties = ['name', 'huc6', 'tnmid', 'areasqkm'] # Get the centroid of the feature's geometry. centroid = feature.geometry().centroid() # Return a new Feature, copying properties from the old Feature. return ee.Feature(centroid).copyProperties(feature, keep_properties) # Map the centroid getting function over the features. centroids = sheds.map(get_centroid) # Display the results. m = geemap.Map() m.set_center(-96.25, 40, 4) m.add_layer(centroids, {'color': 'FF0000'}, 'centroids') m
Xin lưu ý rằng chỉ một tập hợp con các thuộc tính được truyền đến các tính năng trong tập hợp mới.