Fungsi PLACES_COUNT_PER_TYPE_V2 menampilkan tabel BigQuery yang berisi jumlah tempat dan contoh ID Tempat, yang dikelompokkan menurut jenis tempat, untuk beberapa geografi input. Fungsi ini dirancang untuk batch processing yang efisien dengan
menerima parameter tabel input
geografi. Anda memberikan geografi melalui tabel input dan menentukan
jenis tempat sebagai array.
Sintaksis
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`( TABLE input_geographies, target_types, filters )
Parameter
PROJECT_NAME: Nama project Google Cloud Anda.LINKED_DATASET_NAME: Nama set data BigQuery yang berisi fungsi Places Insights (misalnya,places_insights___us).input_geographies: Tabel BigQuery yang berisi geografi yang akan dianalisis. Tabel ini harus menyertakan kolom berikut:target_types(ARRAY<STRING>): Array string jenis tempat yang ingin Anda dapatkan jumlahnya. Tempat akan dihitung jika cocok dengan salah satu jenis yang tercantum dalam arraytypes, bukan hanyaprimary_type.filters(JSON): Objek JSON yang berisi key-value pair untuk pemfilteran tambahan tempat. Lihat Parameter Filter.
Skema Tabel Output
Fungsi PLACES_COUNT_PER_TYPE_V2 menampilkan tabel dengan kolom berikut:
| Nama Kolom | Jenis Data | Deskripsi |
|---|---|---|
geo_id |
STRING | ID unik untuk geografi input, dari tabel input_geographies. |
input_geography |
GEOGRAPHY | Objek GEOGRAPHY asli dari tabel input_geographies. |
place_type |
STRING | Jenis tempat dari array target_types yang diwakili baris ini. |
place_count |
INTEGER | Jumlah tempat yang cocok dengan place_type dan filter lainnya di dalam atau di dekat geografi. |
sample_place_ids |
ARRAY<STRING> | Array yang berisi hingga 250 ID Tempat yang cocok dengan kriteria untuk jenis dan geografi ini. |
Output akan berisi baris untuk setiap kombinasi geo_id dan place_type
yang ditentukan dalam array target_types, meskipun jumlahnya nol.
Cara kerjanya
Fungsi ini memproses setiap geografi yang disediakan dalam tabel input_geographies.
Untuk setiap wilayah, API ini menghitung tempat yang cocok dengan salah satu jenis yang tercantum dalam
array target_types dan juga memenuhi semua kondisi dalam objek JSON
filters. Hasilnya digabungkan dan diperinci berdasarkan setiap geo_id dan
setiap jenis di target_types.
Contoh: Menghitung berbagai jenis tempat makan di County NYC
Contoh ini menghasilkan tabel jumlah untuk jenis "restaurant", "cafe", dan "bar" di tiga county di New York City.
SELECT geo_id, input_geography, place_type, place_count FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_V2`( ( SELECT county_name AS geo_id, ST_SIMPLIFY(county_geom, 100) AS geo FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE state_fips_code = "36" -- New York State AND county_name IN ("Queens", "Kings", "New York") ), ['restaurant', 'cafe', 'bar'], -- target_types JSON_OBJECT( 'business_status', ['OPERATIONAL'] ) );
Hasilnya adalah tabel dengan 9 baris (3 county * 3 jenis). Setiap baris akan menampilkan jumlah tempat usaha "restoran", "kafe", atau "bar" di setiap county. Anda juga dapat menyertakan contoh ID Tempat jika Anda menambahkannya ke pernyataan SELECT.

Manfaat Menggunakan PLACES_COUNT_PER_TYPE_V2
PLACES_COUNT_PER_TYPE_V2 menawarkan beberapa keuntungan utama, terutama jika dibandingkan dengan fungsi PLACES_COUNT_PER_TYPE yang lebih lama:
- Pemrosesan Batch Geografi: Tidak seperti
PLACES_COUNT_PER_TYPEyang memproses satu geografi dalam satu waktu,PLACES_COUNT_PER_TYPE_V2menerimaTABLEgeografi input. Dengan begitu, Anda dapat menganalisis dan mendapatkan jumlah spesifik per jenis di berbagai geografi (titik, poligon) dalam satu kueri, tanpa perlu melakukan beberapa panggilan fungsi. - Peningkatan Performa dan Skalabilitas: Dengan mengambil input tabel,
PLACES_COUNT_PER_TYPE_V2dapat memanfaatkan gabungan geospasial BigQuery yang dioptimalkan dan kemampuan pemrosesan paralel di semua geografi yang disediakan secara bersamaan. Hal ini menghasilkan peningkatan performa yang signifikan dan skalabilitas yang lebih baik saat menangani sejumlah besar geografi. - Zero Counts Included: Menampilkan baris dengan jumlah 0 untuk jenis yang tidak ditemukan di area tertentu dalam batch, sehingga memastikan set hasil yang lengkap untuk semua kombinasi jenis-geografi.
- Snapshot historis: Buat kueri data jumlah tempat dari bulan tertentu menggunakan filter
snapshot_dateopsional.
Contoh: Membuat kueri jumlah POI historis berdasarkan jenis dengan filter tertentu
Contoh ini menunjukkan cara menemukan jumlah untuk jenis tempat tertentu, seperti Stasiun Pengisian Kendaraan Listrik Umum, menggunakan parameter snapshot_date untuk mengambil jumlah untuk bulan lalu. Filter ini menerapkan filter tambahan untuk regular_opening_hours guna mencari hanya tempat yang buka sepanjang hari pada akhir pekan, dan ketersediaan pengisian daya EV (setidaknya tersedia 10 konektor) yang ditentukan oleh min_ev_charge_connector_count.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_V2`( ( SELECT county_name AS geo_id, ST_SIMPLIFY(county_geom, 100) AS geo FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE state_fips_code = "36" -- New York State AND county_name IN ("Queens", "Kings", "New York") ), ['electric_vehicle_charging_station'], -- target_types array JSON_OBJECT( 'geography_radius', 10000, 'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM) 'min_ev_charge_connector_count', 10, -- Look for a min amount of chargers 'regular_opening_hours', JSON_OBJECT( 'saturday', [JSON_OBJECT('start_time', '00:00', 'end_time', '23:59')], 'sunday', [JSON_OBJECT('start_time', '00:00', 'end_time', '23:59')] ) ) );