किसी FeatureCollection
में मौजूद हर Feature
पर एक ही कार्रवाई लागू करने के लिए, featureCollection.map()
का इस्तेमाल करें. उदाहरण के लिए,
किसी जलक्षेत्र FeatureCollection
में मौजूद हर सुविधा के लिए, कोई दूसरा क्षेत्र एट्रिब्यूट जोड़ने के लिए, इनका इस्तेमाल करें:
कोड एडिटर (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())
पिछले उदाहरण में, ध्यान दें कि नई प्रॉपर्टी, फ़ीचर की ज्यामिति के हिसाब से किए गए कैलकुलेशन के आधार पर सेट की गई है. मौजूदा प्रॉपर्टी के हिसाब से कैलकुलेशन का इस्तेमाल करके भी प्रॉपर्टी सेट की जा सकती हैं.
map()
की मदद से, पूरी तरह से नया FeatureCollection
जनरेट किया जा सकता है.
यहां दिए गए उदाहरण में, वाटरशेड को सेंट्राइड में बदला गया है:
कोड एडिटर (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
ध्यान दें कि नए कलेक्शन की सुविधाओं में, प्रॉपर्टी का सिर्फ़ एक सबसेट ही प्रोपैगेट किया जाता है.