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

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap สําหรับการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า สภาพแวดล้อม Python

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)