Annuncio: tutti i progetti non commerciali registrati per l'utilizzo di Earth Engine prima del
15 aprile 2025 devono
verificare l'idoneità non commerciale per mantenere l'accesso a Earth Engine.
ee.Filter.notEquals
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Crea un filtro unario o binario che viene superato a meno che i due operandi non siano uguali.
Utilizzo | Resi |
---|
ee.Filter.notEquals(leftField, rightValue, rightField, leftValue) | Filtro |
Argomento | Tipo | Dettagli |
---|
leftField | Stringa, valore predefinito: null | Un selettore per l'operando di sinistra. Non deve essere specificato se è specificato leftValue. |
rightValue | Oggetto, valore predefinito: null | Il valore dell'operando di destra. Non deve essere specificato se è specificato rightField. |
rightField | Stringa, valore predefinito: null | Un selettore per l'operando di destra. Non deve essere specificato se è specificato rightValue. |
leftValue | Oggetto, valore predefinito: null | Il valore dell'operando di sinistra. Non deve essere specificato se è specificato leftField. |
Esempi
Editor di codice (JavaScript)
// Field site vegetation characteristics from projects in western USA.
var fc = ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM')
.filter('ProjectName == "Colorado NWDO Kremmling FO 2016"');
// Display field plots on the map.
Map.setCenter(-107.792, 39.871, 7);
Map.addLayer(fc);
// Compare the per-feature values of two properties and filter the collection
// based on the results of various relational expressions. The two properties
// to compare are invasive and non-invasive annual forb cover at each plot.
var leftProperty = 'InvAnnForbCover_AH';
var rightProperty = 'NonInvAnnForbCover_AH';
print('Plots where invasive forb cover is…');
print('…EQUAL to non-invasive cover',
fc.filter(ee.Filter.equals(
{leftField: leftProperty, rightField: rightProperty})));
print('…NOT EQUAL to non-invasive cover',
fc.filter(ee.Filter.notEquals(
{leftField: leftProperty, rightField: rightProperty})));
print('…LESS THAN non-invasive cover',
fc.filter(ee.Filter.lessThan(
{leftField: leftProperty, rightField: rightProperty})));
print('…LESS THAN OR EQUAL to non-invasive cover',
fc.filter(ee.Filter.lessThanOrEquals(
{leftField: leftProperty, rightField: rightProperty})));
print('…GREATER THAN non-invasive cover',
fc.filter(ee.Filter.greaterThan(
{leftField: leftProperty, rightField: rightProperty})));
print('…GREATER THAN OR EQUAL to non-invasive cover',
fc.filter(ee.Filter.greaterThanOrEquals(
{leftField: leftProperty, rightField: rightProperty})));
print('…is not greater than 10 percent different than non-invasive cover',
fc.filter(ee.Filter.maxDifference(
{difference: 10, leftField: leftProperty, rightField: rightProperty})));
// Instead of comparing values of two feature properties using the leftField
// and rightField parameters, you can compare a property value (leftProperty)
// against a constant value (rightValue).
print('Plots where invasive forb cover is greater than 20%',
fc.filter(ee.Filter.greaterThan(
{leftField: leftProperty, rightValue: 20})));
// You can also swap the operands to assign the constant to the left side of
// the relational expression (leftValue) and the feature property on the right
// (rightField). Here, we get the complement of the previous example.
print('Plots where 20% is greater than invasive forb cover.',
fc.filter(ee.Filter.greaterThan(
{leftValue: 20, rightField: leftProperty})));
// Binary filters are useful in joins. For example, group all same-site plots
// together using a saveAll join.
var groupingProp = 'SiteID';
var sitesFc = fc.distinct(groupingProp);
var joinFilter = ee.Filter.equals(
{leftField: groupingProp, rightField: groupingProp});
var groupedPlots = ee.Join.saveAll('site_plots').apply(sitesFc, fc, joinFilter);
print('List of plots in first site', groupedPlots.first().get('site_plots'));
Configurazione di Python
Consulta la pagina
Ambiente Python per informazioni sull'API Python e sull'utilizzo di
geemap
per lo sviluppo interattivo.
import ee
import geemap.core as geemap
Colab (Python)
# Field site vegetation characteristics from projects in western USA.
fc = ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM').filter(
'ProjectName == "Colorado NWDO Kremmling FO 2016"'
)
# Display field plots on the map.
m = geemap.Map()
m.set_center(-107.792, 39.871, 7)
m.add_layer(fc)
display(m)
# Compare the per-feature values of two properties and filter the collection
# based on the results of various relational expressions. The two properties
# to compare are invasive and non-invasive annual forb cover at each plot.
left_property = 'InvAnnForbCover_AH'
right_property = 'NonInvAnnForbCover_AH'
display('Plots where invasive forb cover is…')
display(
'…EQUAL to non-invasive cover',
fc.filter(
ee.Filter.equals(leftField=left_property, rightField=right_property)
),
)
display(
'…NOT EQUAL to non-invasive cover',
fc.filter(
ee.Filter.notEquals(leftField=left_property, rightField=right_property)
),
)
display(
'…LESS THAN non-invasive cover',
fc.filter(
ee.Filter.lessThan(leftField=left_property, rightField=right_property)
),
)
display(
'…LESS THAN OR EQUAL to non-invasive cover',
fc.filter(
ee.Filter.lessThanOrEquals(
leftField=left_property, rightField=right_property
)
),
)
display(
'…GREATER THAN non-invasive cover',
fc.filter(
ee.Filter.greaterThan(
leftField=left_property, rightField=right_property
)
),
)
display(
'…GREATER THAN OR EQUAL to non-invasive cover',
fc.filter(
ee.Filter.greaterThanOrEquals(
leftField=left_property, rightField=right_property
)
),
)
display(
'…is not greater than 10 percent different than non-invasive cover',
fc.filter(
ee.Filter.maxDifference(
difference=10, leftField=left_property, rightField=right_property
)
),
)
# Instead of comparing values of two feature properties using the leftField
# and rightField parameters, you can compare a property value (left_property)
# against a constant value (rightValue).
display(
'Plots where invasive forb cover is greater than 20%',
fc.filter(ee.Filter.greaterThan(leftField=left_property, rightValue=20)),
)
# You can also swap the operands to assign the constant to the left side of
# the relational expression (leftValue) and the feature property on the right
# (rightField). Here, we get the complement of the previous example.
display(
'Plots where 20% is greater than invasive forb cover.',
fc.filter(ee.Filter.greaterThan(leftValue=20, rightField=left_property)),
)
# Binary filters are useful in joins. For example, group all same-site plots
# together using a saveAll join.
grouping_prop = 'SiteID'
sites_fc = fc.distinct(grouping_prop)
join_filter = ee.Filter.equals(
leftField=grouping_prop, rightField=grouping_prop
)
grouped_plots = ee.Join.saveAll('site_plots').apply(sites_fc, fc, join_filter)
display('List of plots in first site', grouped_plots.first().get('site_plots'))
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[null,null,["Ultimo aggiornamento 2025-07-26 UTC."],[[["\u003cp\u003eCreates a filter that passes features unless the specified operands (properties or values) are equal.\u003c/p\u003e\n"],["\u003cp\u003eOperands can be feature properties (\u003ccode\u003eleftField\u003c/code\u003e, \u003ccode\u003erightField\u003c/code\u003e) or constant values (\u003ccode\u003eleftValue\u003c/code\u003e, \u003ccode\u003erightValue\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eUseful for filtering collections based on property comparisons and in joins for grouping features.\u003c/p\u003e\n"],["\u003cp\u003eCan be used to create unary or binary filters depending on the arguments provided.\u003c/p\u003e\n"],["\u003cp\u003eProvides flexibility in specifying the operands for comparison, allowing for various relational expressions.\u003c/p\u003e\n"]]],[],null,["# ee.Filter.notEquals\n\nCreates a unary or binary filter that passes unless the two operands are equals.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------------------------------------|---------|\n| `ee.Filter.notEquals(`*leftField* `, `*rightValue* `, `*rightField* `, `*leftValue*`)` | Filter |\n\n| Argument | Type | Details |\n|--------------|-----------------------|---------------------------------------------------------------------------------------|\n| `leftField` | String, default: null | A selector for the left operand. Should not be specified if leftValue is specified. |\n| `rightValue` | Object, default: null | The value of the right operand. Should not be specified if rightField is specified. |\n| `rightField` | String, default: null | A selector for the right operand. Should not be specified if rightValue is specified. |\n| `leftValue` | Object, default: null | The value of the left operand. Should not be specified if leftField is specified. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Field site vegetation characteristics from projects in western USA.\nvar fc = ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM')\n .filter('ProjectName == \"Colorado NWDO Kremmling FO 2016\"');\n\n// Display field plots on the map.\nMap.setCenter(-107.792, 39.871, 7);\nMap.addLayer(fc);\n\n// Compare the per-feature values of two properties and filter the collection\n// based on the results of various relational expressions. The two properties\n// to compare are invasive and non-invasive annual forb cover at each plot.\nvar leftProperty = 'InvAnnForbCover_AH';\nvar rightProperty = 'NonInvAnnForbCover_AH';\n\nprint('Plots where invasive forb cover is...');\n\nprint('...EQUAL to non-invasive cover',\n fc.filter(ee.Filter.equals(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...NOT EQUAL to non-invasive cover',\n fc.filter(ee.Filter.notEquals(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...LESS THAN non-invasive cover',\n fc.filter(ee.Filter.lessThan(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...LESS THAN OR EQUAL to non-invasive cover',\n fc.filter(ee.Filter.lessThanOrEquals(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...GREATER THAN non-invasive cover',\n fc.filter(ee.Filter.greaterThan(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...GREATER THAN OR EQUAL to non-invasive cover',\n fc.filter(ee.Filter.greaterThanOrEquals(\n {leftField: leftProperty, rightField: rightProperty})));\n\nprint('...is not greater than 10 percent different than non-invasive cover',\n fc.filter(ee.Filter.maxDifference(\n {difference: 10, leftField: leftProperty, rightField: rightProperty})));\n\n// Instead of comparing values of two feature properties using the leftField\n// and rightField parameters, you can compare a property value (leftProperty)\n// against a constant value (rightValue).\nprint('Plots where invasive forb cover is greater than 20%',\n fc.filter(ee.Filter.greaterThan(\n {leftField: leftProperty, rightValue: 20})));\n\n// You can also swap the operands to assign the constant to the left side of\n// the relational expression (leftValue) and the feature property on the right\n// (rightField). Here, we get the complement of the previous example.\nprint('Plots where 20% is greater than invasive forb cover.',\n fc.filter(ee.Filter.greaterThan(\n {leftValue: 20, rightField: leftProperty})));\n\n// Binary filters are useful in joins. For example, group all same-site plots\n// together using a saveAll join.\nvar groupingProp = 'SiteID';\nvar sitesFc = fc.distinct(groupingProp);\n\nvar joinFilter = ee.Filter.equals(\n {leftField: groupingProp, rightField: groupingProp});\n\nvar groupedPlots = ee.Join.saveAll('site_plots').apply(sitesFc, fc, joinFilter);\nprint('List of plots in first site', groupedPlots.first().get('site_plots'));\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# Field site vegetation characteristics from projects in western USA.\nfc = ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM').filter(\n 'ProjectName == \"Colorado NWDO Kremmling FO 2016\"'\n)\n\n# Display field plots on the map.\nm = geemap.Map()\nm.set_center(-107.792, 39.871, 7)\nm.add_layer(fc)\ndisplay(m)\n\n# Compare the per-feature values of two properties and filter the collection\n# based on the results of various relational expressions. The two properties\n# to compare are invasive and non-invasive annual forb cover at each plot.\nleft_property = 'InvAnnForbCover_AH'\nright_property = 'NonInvAnnForbCover_AH'\n\ndisplay('Plots where invasive forb cover is...')\n\ndisplay(\n '...EQUAL to non-invasive cover',\n fc.filter(\n ee.Filter.equals(leftField=left_property, rightField=right_property)\n ),\n)\n\ndisplay(\n '...NOT EQUAL to non-invasive cover',\n fc.filter(\n ee.Filter.notEquals(leftField=left_property, rightField=right_property)\n ),\n)\n\ndisplay(\n '...LESS THAN non-invasive cover',\n fc.filter(\n ee.Filter.lessThan(leftField=left_property, rightField=right_property)\n ),\n)\n\ndisplay(\n '...LESS THAN OR EQUAL to non-invasive cover',\n fc.filter(\n ee.Filter.lessThanOrEquals(\n leftField=left_property, rightField=right_property\n )\n ),\n)\n\ndisplay(\n '...GREATER THAN non-invasive cover',\n fc.filter(\n ee.Filter.greaterThan(\n leftField=left_property, rightField=right_property\n )\n ),\n)\n\ndisplay(\n '...GREATER THAN OR EQUAL to non-invasive cover',\n fc.filter(\n ee.Filter.greaterThanOrEquals(\n leftField=left_property, rightField=right_property\n )\n ),\n)\n\ndisplay(\n '...is not greater than 10 percent different than non-invasive cover',\n fc.filter(\n ee.Filter.maxDifference(\n difference=10, leftField=left_property, rightField=right_property\n )\n ),\n)\n\n# Instead of comparing values of two feature properties using the leftField\n# and rightField parameters, you can compare a property value (left_property)\n# against a constant value (rightValue).\ndisplay(\n 'Plots where invasive forb cover is greater than 20%',\n fc.filter(ee.Filter.greaterThan(leftField=left_property, rightValue=20)),\n)\n\n# You can also swap the operands to assign the constant to the left side of\n# the relational expression (leftValue) and the feature property on the right\n# (rightField). Here, we get the complement of the previous example.\ndisplay(\n 'Plots where 20% is greater than invasive forb cover.',\n fc.filter(ee.Filter.greaterThan(leftValue=20, rightField=left_property)),\n)\n\n# Binary filters are useful in joins. For example, group all same-site plots\n# together using a saveAll join.\ngrouping_prop = 'SiteID'\nsites_fc = fc.distinct(grouping_prop)\n\njoin_filter = ee.Filter.equals(\n leftField=grouping_prop, rightField=grouping_prop\n)\n\ngrouped_plots = ee.Join.saveAll('site_plots').apply(sites_fc, fc, join_filter)\ndisplay('List of plots in first site', grouped_plots.first().get('site_plots'))\n```"]]