Объявление : Все некоммерческие проекты, зарегистрированные для использования Earth Engine до
15 апреля 2025 года, должны
подтвердить право на некоммерческое использование для сохранения доступа. Если вы не подтвердите право до 26 сентября 2025 года, ваш доступ может быть приостановлен.
ee.FeatureCollection.runBigQuery
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выполняет запрос BigQuery, извлекает результаты и представляет их в виде FeatureCollection.
Использование | Возвраты | ee.FeatureCollection.runBigQuery(query, geometryColumn , maxBytesBilled ) | FeatureCollection |
Аргумент | Тип | Подробности | query | Нить | Запрос GoogleSQL для выполнения на ресурсах BigQuery. |
geometryColumn | Строка, по умолчанию: null | Имя столбца, который будет использоваться в качестве основной геометрии объекта. Если не указано, будет использоваться первый столбец геометрии. |
maxBytesBilled | Длинный, по умолчанию: 100000000000 | Максимальное количество байтов, выставленных счет при обработке запроса. Любое задание BigQuery, превышающее этот лимит, будет отклонено и не будет выставлен счет. |
Примеры
Редактор кода (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'));
Настройка Python
Информацию об API Python и использовании geemap
для интерактивной разработки см. на странице Python Environment .
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)
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 UTC."],[],[]]