ee.FeatureCollection.runBigQuery
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Exécute une requête BigQuery, récupère les résultats et les présente sous forme de FeatureCollection.
Utilisation | Renvoie |
---|
ee.FeatureCollection.runBigQuery(query, geometryColumn, maxBytesBilled) | FeatureCollection |
Argument | Type | Détails |
---|
query | Chaîne | Requête GoogleSQL à exécuter sur les ressources BigQuery. |
geometryColumn | Chaîne, valeur par défaut : "null" | Nom de la colonne à utiliser comme géométrie principale des éléments géographiques. Si aucune valeur n'est spécifiée, la première colonne de géométrie est utilisée. |
maxBytesBilled | Long, valeur par défaut: 100000000000 | Nombre maximal d'octets facturés lors du traitement de la requête. Tout job BigQuery qui dépasse cette limite échouera et ne sera pas facturé. |
Exemples
Éditeur de code (JavaScript)
// Get places from Overture Maps Dataset in BigQuery public data.
Map.setCenter(-3.69, 40.41, 12)
var mapGeometry= ee.Geometry(Map.getBounds(true)).toGeoJSONString();
var sql =
"SELECT geometry, names.primary as name, categories.primary as category "
+ " FROM bigquery-public-data.overture_maps.place "
+ " WHERE ST_INTERSECTS(geometry, ST_GEOGFROMGEOJSON('" + mapGeometry+ "'))";
var features = ee.FeatureCollection.runBigQuery({
query: sql,
geometryColumn: 'geometry'
});
// Display all relevant features on the map.
Map.addLayer(features,
{'color': 'black'},
'Places from Overture Maps Dataset');
// Create a histogram of the categories and print it.
var propertyOfInterest = 'category';
var histogram = features.filter(ee.Filter.notNull([propertyOfInterest]))
.aggregate_histogram(propertyOfInterest);
print(histogram);
// Create a frequency chart for the histogram.
var categories = histogram.keys().map(function(k) {
return ee.Feature(null, {
key: k,
value: histogram.get(k)
});
});
var sortedCategories = ee.FeatureCollection(categories).sort('value', false);
print(ui.Chart.feature.byFeature(sortedCategories).setChartType('Table'));
Configuration de Python
Consultez la page
Environnement Python pour en savoir plus sur l'API Python et l'utilisation de geemap
pour le développement interactif.
import ee
import geemap.core as geemap
Colab (Python)
import json
import pandas as pd
# Get places from Overture Maps Dataset in BigQuery public data.
location = ee.Geometry.Point(-3.69, 40.41)
map_geometry = json.dumps(location.buffer(5e3).getInfo())
sql = f"""SELECT geometry, names.primary as name, categories.primary as category
FROM bigquery-public-data.overture_maps.place
WHERE ST_INTERSECTS(geometry, ST_GEOGFROMGEOJSON('{map_geometry}'))"""
features = ee.FeatureCollection.runBigQuery(
query=sql, geometryColumn="geometry"
)
# Display all relevant features on the map.
m = geemap.Map()
m.center_object(location, 13)
m.add_layer(features, {'color': 'black'}, 'Places from Overture Maps Dataset')
display(m)
# Create a histogram of the place categories.
property_of_interest = 'category'
histogram = (
features.filter(
ee.Filter.notNull([property_of_interest])
).aggregate_histogram(property_of_interest)
).getInfo()
# Display the histogram as a pandas DataFrame.
df = pd.DataFrame(list(histogram.items()), columns=['category', 'frequency'])
df = df.sort_values(by=['frequency'], ascending=False, ignore_index=True)
display(df)
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[],[],null,["# ee.FeatureCollection.runBigQuery\n\nRuns a BigQuery query, fetches the results and presents the them as a FeatureCollection.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|------------------------------------------------------------------------------------|-------------------|\n| `ee.FeatureCollection.runBigQuery(query, `*geometryColumn* `, `*maxBytesBilled*`)` | FeatureCollection |\n\n| Argument | Type | Details |\n|------------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| `query` | String | GoogleSQL query to perform on the BigQuery resources. |\n| `geometryColumn` | String, default: null | The name of the column to use as the main feature geometry. If not specified, the first geometry column will be used. |\n| `maxBytesBilled` | Long, default: 100000000000 | Maximum number of bytes billed while processing the query. Any BigQuery job that exceeds this limit will fail and won't be billed. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Get places from Overture Maps Dataset in BigQuery public data.\nMap.setCenter(-3.69, 40.41, 12)\nvar mapGeometry= ee.Geometry(Map.getBounds(true)).toGeoJSONString();\nvar sql =\n \"SELECT geometry, names.primary as name, categories.primary as category \"\n + \" FROM bigquery-public-data.overture_maps.place \"\n + \" WHERE ST_INTERSECTS(geometry, ST_GEOGFROMGEOJSON('\" + mapGeometry+ \"'))\";\n\nvar features = ee.FeatureCollection.runBigQuery({\n query: sql,\n geometryColumn: 'geometry'\n});\n\n// Display all relevant features on the map.\nMap.addLayer(features,\n {'color': 'black'},\n 'Places from Overture Maps Dataset');\n\n\n// Create a histogram of the categories and print it.\nvar propertyOfInterest = 'category';\nvar histogram = features.filter(ee.Filter.notNull([propertyOfInterest]))\n .aggregate_histogram(propertyOfInterest);\nprint(histogram);\n\n// Create a frequency chart for the histogram.\nvar categories = histogram.keys().map(function(k) {\n return ee.Feature(null, {\n key: k,\n value: histogram.get(k)\n });\n});\nvar sortedCategories = ee.FeatureCollection(categories).sort('value', false);\nprint(ui.Chart.feature.byFeature(sortedCategories).setChartType('Table'));\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\nimport json\nimport pandas as pd\n\n# Get places from Overture Maps Dataset in BigQuery public data.\nlocation = ee.Geometry.Point(-3.69, 40.41)\nmap_geometry = json.dumps(location.buffer(5e3).getInfo())\n\nsql = f\"\"\"SELECT geometry, names.primary as name, categories.primary as category\nFROM bigquery-public-data.overture_maps.place\nWHERE ST_INTERSECTS(geometry, ST_GEOGFROMGEOJSON('{map_geometry}'))\"\"\"\n\nfeatures = ee.FeatureCollection.runBigQuery(\n query=sql, geometryColumn=\"geometry\"\n)\n\n# Display all relevant features on the map.\nm = geemap.Map()\nm.center_object(location, 13)\nm.add_layer(features, {'color': 'black'}, 'Places from Overture Maps Dataset')\ndisplay(m)\n\n# Create a histogram of the place categories.\nproperty_of_interest = 'category'\nhistogram = (\n features.filter(\n ee.Filter.notNull([property_of_interest])\n ).aggregate_histogram(property_of_interest)\n).getInfo()\n\n# Display the histogram as a pandas DataFrame.\ndf = pd.DataFrame(list(histogram.items()), columns=['category', 'frequency'])\ndf = df.sort_values(by=['frequency'], ascending=False, ignore_index=True)\ndisplay(df)\n```"]]