סקירה כללית על התכונה
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Feature
ב-Earth Engine מוגדר כתכונה של GeoJSON. באופן ספציפי, Feature
הוא אובייקט עם נכס geometry
שמאחסן אובייקט Geometry
(או null) ונכס properties
שמאחסן מילון של נכסים אחרים.
יצירת אובייקטים מסוג Feature
כדי ליצור Feature
, מספקים ל-constructor Geometry
(אופציונלי) ומילון של מאפיינים אחרים. לדוגמה:
Code Editor (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'});
הגדרת Python
בדף
סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap
לפיתוח אינטראקטיבי.
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'})
כמו Geometry
, אפשר להדפיס את Feature
או להוסיף אותו למפה לצורך בדיקה חזותית:
Code Editor (JavaScript)
print(polyFeature);
Map.addLayer(polyFeature, {}, 'feature');
הגדרת Python
בדף
סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap
לפיתוח אינטראקטיבי.
import ee
import geemap.core as geemap
Colab (Python)
display(poly_feature)
m = geemap.Map()
m.add_layer(poly_feature, {}, 'feature')
display(m)
לא חייב להיות ל-Feature
Geometry
, והוא יכול פשוט לעטוף מילון של נכסים. לדוגמה:
Code Editor (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);
הגדרת Python
בדף
סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap
לפיתוח אינטראקטיבי.
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)
בדוגמה הזו, שימו לב שהמילון שסופק ל-Feature
מכיל ערך מחושב. יצירת תכונות באופן הזה שימושית לייצוא חישובים ממושכים עם תוצאה מסוג Dictionary
(למשל image.reduceRegion()
). פרטים נוספים זמינים במדריכים בנושא FeatureCollections, ייבוא נתוני טבלה וייצוא.
לכל Feature
יש Geometry
ראשי אחד שמאוחסן בנכס geometry
. ייתכן שגיאומטריות נוספות יישמרו בנכסים אחרים.
שיטות Geometry
כמו 'חיתוך' ו'מאגר' קיימות גם ב-Feature
, כנוחות לקבלת Geometry
הראשי, החלת הפעולה והגדרת התוצאה כ-Geometry
הראשי החדש.
התוצאה תכלול את כל שאר המאפיינים של Feature
שאליו נקרא השיטה. יש גם שיטות לאחזור ולהגדרה של המאפיינים שאינם גיאומטריה של Feature
. לדוגמה:
Code Editor (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);
הגדרת Python
בדף
סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap
לפיתוח אינטראקטיבי.
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)
בדוגמה הקודמת, חשוב לשים לב שאפשר להגדיר מאפיינים באמצעות צמד מפתח/ערך או באמצעות מילון. חשוב גם לזכור שהשפעת feature.set()
גוברת על הגדרת המאפיינים הקיימים.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-25 (שעון UTC).
[null,null,["עדכון אחרון: 2025-07-25 (שעון UTC)."],[[["\u003cp\u003eIn Earth Engine, a \u003ccode\u003eFeature\u003c/code\u003e is a GeoJSON Feature containing a \u003ccode\u003egeometry\u003c/code\u003e and \u003ccode\u003eproperties\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFeature\u003c/code\u003e objects can be created using a \u003ccode\u003eGeometry\u003c/code\u003e and an optional dictionary of properties.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFeature\u003c/code\u003e objects can be visualized on the map and printed for inspection.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFeature\u003c/code\u003e objects can have their properties set, retrieved, and overwritten using \u003ccode\u003eset()\u003c/code\u003e and \u003ccode\u003eget()\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Feature Overview\n\nA `Feature` in Earth Engine is defined as a GeoJSON Feature. Specifically,\na `Feature` is an object with a `geometry` property storing a\n`Geometry` object (or null) and a `properties` property storing a\ndictionary of other properties.\n\nCreating Feature objects\n------------------------\n\nTo create a `Feature`, provide the constructor with a `Geometry`\nand (optionally) a dictionary of other properties. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Create an ee.Geometry.\nvar polygon = ee.Geometry.Polygon([\n [[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]\n]);\n\n// Create a Feature from the Geometry.\nvar polyFeature = ee.Feature(polygon, {foo: 42, bar: 'tart'});\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Create an ee.Geometry.\npolygon = ee.Geometry.Polygon(\n [[[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]]\n)\n\n# Create a Feature from the Geometry.\npoly_feature = ee.Feature(polygon, {'foo': 42, 'bar': 'tart'})\n```\n\nAs with a `Geometry`, a `Feature` may be printed or added to the\nmap for inspection and visualization:\n\n### Code Editor (JavaScript)\n\n```javascript\nprint(polyFeature);\nMap.addLayer(polyFeature, {}, 'feature');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\ndisplay(poly_feature)\nm = geemap.Map()\nm.add_layer(poly_feature, {}, 'feature')\ndisplay(m)\n```\n\nA `Feature` need not have a `Geometry` and may simply wrap a\ndictionary of properties. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Create a dictionary of properties, some of which may be computed values.\nvar dict = {foo: ee.Number(8).add(88), bar: 'nihao'};\n\n// Create a null geometry feature with the dictionary of properties.\nvar nowhereFeature = ee.Feature(null, dict);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Create a dictionary of properties, some of which may be computed values.\ndic = {'foo': ee.Number(8).add(88), 'bar': 'nihao'}\n\n# Create a null geometry feature with the dictionary of properties.\nnowhere_feature = ee.Feature(None, dic)\n```\n\nIn this example, note that the dictionary supplied to the `Feature` contains a\ncomputed value. Creating features in this manner is useful for exporting long-running\ncomputations with a `Dictionary` result (e.g. `image.reduceRegion()`).\nSee the [FeatureCollections](/earth-engine/guides/feature_collections) and\n[Importing Table Data](/earth-engine/guides/table_upload) or [Exporting](/earth-engine/guides/exporting) guides for\ndetails.\n\nEach `Feature` has one primary `Geometry` stored in the\n`geometry` property. Additional geometries may be stored in other properties.\n`Geometry` methods such as intersection and buffer also exist on\n`Feature` as a convenience for getting the primary `Geometry`,\napplying the operation, and setting the result as the new primary `Geometry`.\nThe result will retain all the other properties of the `Feature` on which\nthe method is called. There are also methods for getting and setting the non-geometry\nproperties of the `Feature`. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Make a feature and set some properties.\nvar feature = ee.Feature(ee.Geometry.Point([-122.22599, 37.17605]))\n .set('genus', 'Sequoia').set('species', 'sempervirens');\n\n// Get a property from the feature.\nvar species = feature.get('species');\nprint(species);\n\n// Set a new property.\nfeature = feature.set('presence', 1);\n\n// Overwrite the old properties with a new dictionary.\nvar newDict = {genus: 'Brachyramphus', species: 'marmoratus'};\nvar feature = feature.set(newDict);\n\n// Check the result.\nprint(feature);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Make a feature and set some properties.\nfeature = (\n ee.Feature(ee.Geometry.Point([-122.22599, 37.17605]))\n .set('genus', 'Sequoia')\n .set('species', 'sempervirens')\n)\n\n# Get a property from the feature.\nspecies = feature.get('species')\ndisplay(species)\n\n# Set a new property.\nfeature = feature.set('presence', 1)\n\n# Overwrite the old properties with a new dictionary.\nnew_dic = {'genus': 'Brachyramphus', 'species': 'marmoratus'}\nfeature = feature.set(new_dic)\n\n# Check the result.\ndisplay(feature)\n```\n\nIn the previous example, note that properties can be set with either a key-value pair,\nor with a dictionary. Also note that `feature.set()`\noverwrites existing properties."]]