Hàm Số lượng địa điểm là các truy vấn SQL được xác định trước, chạy trong BigQuery và là cách nên dùng để truy vấn tập dữ liệu Thông tin chi tiết về địa điểm nhằm truy xuất số lượng chính xác và Mã địa điểm. Mặc dù bạn cũng có thể truy vấn trực tiếp tập dữ liệu, nhưng hai phương thức truy vấn này xử lý ngưỡng quyền riêng tư và khu vực tìm kiếm:
Hàm Đếm địa điểm có thể trả về bất kỳ số lượng nào, kể cả 0, nhưng bắt buộc phải có khu vực tìm kiếm tối thiểu là 40 m x 40 m (1.600 m2). Các hàm này cũng trả về Mã địa điểm, có thể dùng để tra cứu thông tin về từng Địa điểm và hỗ trợ phân tích địa điểm yêu thích trong quá khứ trên các bản tổng quan nhanh hằng tháng trước đây bằng bộ lọc ngày không bắt buộc.
Truy vấn tập dữ liệu địa điểm chỉ có thể trả về số lượng từ 5 trở lên (bỏ qua số lượng thấp từ 0 đến 4 để duy trì sự riêng tư biệt lập), nhưng không áp dụng giới hạn về kích thước của khu vực tìm kiếm.
Trừ phi bạn cần thực hiện phân tích không gian phức tạp, bạn nên bắt đầu bằng các hàm Đếm địa điểm như PLACES_COUNT_PER_H3.
Công cụ này cung cấp thông tin chi tiết tức thì về mật độ không gian trên các ô lưới được chuẩn hoá, trả về Mã địa điểm để kiểm tra thông tin thực tế và được thiết kế riêng cho kỹ thuật trích xuất tính chất không gian địa lý và mô hình học máy.
Chọn hàm Số lượng địa điểm tối ưu
Thông tin chi tiết về địa điểm hỗ trợ một số hàm không gian. Để tối ưu hoá việc thực thi truy vấn, xử lý song song và khả năng mở rộng theo lô, bạn nên sử dụng các hàm sau:
PLACES_COUNT_PER_H3: Trả về một bảng BigQuery chứa số lượng địa điểm trên mỗi ô H3. Bạn nên dùng hàm này để phân tích mật độ theo khu vực và lập bản đồ nhiệt dạng bản đồ chuyên đề.-
PLACES_COUNT_V2: Trả về một bảng chứa số lượng địa điểm và mã địa điểm mẫu. Hàm này chấp nhận một tham số bảng chứa thông tin địa lý đầu vào của bạn. Bằng cách truyền trực tiếp toàn bộ bảng, công cụ thực thi BigQuery có thể phân phối khối lượng công việc và xử lý các giao điểm không gian song song, cho phép xử lý hàng loạt hiệu quả cao để phân tích quy mô lớn. -
PLACES_COUNT_PER_TYPE_V2: Trả về một bảng gồm số lượng địa điểm và Mã địa điểm mẫu, được phân loại theo loại địa điểm. Tương tự nhưPLACES_COUNT_V2, việc truyền dữ liệu địa lý đầu vào dưới dạng tham số bảng cho phép BigQuery tự động song song hoá các giao điểm không gian trên các tập dữ liệu lớn. -
PLACES_COUNT_CHANGE: Trả về một bảng số lượng địa điểm cộng với Mã địa điểm được thêm và xoá giữa hai tháng nhất định. Tương tự nhưPLACES_COUNT_V2, việc truyền dữ liệu địa lý đầu vào dưới dạng tham số bảng cho phép BigQuery tự động song song hoá các giao điểm không gian trên các tập dữ liệu lớn.
Cùng với số lượng địa điểm, các hàm này cũng trả về tối đa 250 Mã địa điểm cho mỗi phần tử của phản hồi.
Bạn có thể sử dụng Mã địa điểm với:
Thực thi truy vấn bằng các hàm Số lượng địa điểm
Sử dụng định dạng sau để gọi các hàm: [project name
(optional)].[table name].[function name].
Nếu bạn đã thay đổi tên tập dữ liệu được liên kết khi thiết lập Thông tin chi tiết về địa điểm, hãy sử dụng tên tuỳ chỉnh thay vì tên bảng mặc định. Bạn cũng có thể thêm tên dự án (không bắt buộc). Nếu bạn không thêm mã dự án, thì truy vấn sẽ mặc định là dự án đang hoạt động.
Ví dụ:
PROJECT_NAME.places_insights___us.PLACES_COUNT_V2
Sử dụng
JSON_OBJECT
để truyền đối số vào hàm.
Lọc kết quả truy vấn bằng các tham số phân biệt chữ hoa chữ thường
Hàm Places Count hỗ trợ nhiều bộ lọc để tinh chỉnh kết quả tìm kiếm. Các tham số này (ví dụ: price_level hoặc types) có phân biệt chữ hoa chữ thường và phải khớp chính xác với tên tham số. Để xem danh sách đầy đủ các lựa chọn, hãy xem
tài liệu tham khảo về tham số bộ lọc.
Truy vấn ảnh chụp nhanh trước đây bằng snapshot_date
Theo mặc định, các hàm Số lượng địa điểm sẽ truy vấn ảnh chụp nhanh dữ liệu mới nhất hiện có.
Để phân tích dữ liệu địa điểm như dữ liệu đó tồn tại trong một tháng cụ thể trong quá khứ, hãy thêm tham số snapshot_date không bắt buộc vào JSON_OBJECT.
- Định dạng:
YYYY-MM(ví dụ:'2026-07'). - Mặc định: Nếu bạn bỏ qua, hàm sẽ tự động truy vấn ảnh chụp nhanh mới nhất.
Ví dụ sau đây truy vấn số lượng nhà hàng xung quanh khu vực tìm kiếm của bạn, được ghi lại trong ảnh chụp nhanh vào tháng 7 năm 2026:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'snapshot_date', '2026-07' -- Optional historical snapshot month ) );
Trong ví dụ tiếp theo, bạn áp dụng các bộ lọc để giới hạn kết quả tìm kiếm theo điểm xếp hạng tối thiểu của người dùng, mức giá, trạng thái doanh nghiệp và liệu nhà hàng có cho phép mang chó vào hay không, bằng cách sử dụng hàm PLACES_COUNT_V2.
Trước tiên, hãy sử dụng bảng địa lý đầu vào hoặc chuẩn bị một bảng có các khu vực địa lý đã chọn:
-- Create a table for the input geographies CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS ( SELECT '1' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building UNION ALL SELECT '2' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square );
Tiếp theo, hãy gọi PLACES_COUNT_V2 bằng bảng và đối tượng JSON chứa các bộ lọc. Bán kính tìm kiếm được đưa vào bộ lọc JSON và sẽ được áp dụng xung quanh mỗi điểm trong bảng my_search_areas.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters around each point in 'geo' 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) );
Ví dụ: Truy vấn số lượng nhà hàng và vị trí thương hiệu bằng PLACES_COUNT_V2
Ví dụ sau đây sử dụng hàm PLACES_COUNT_V2 với bảng địa lý đầu vào tuỳ chỉnh my_search_areas để trả về số lượng nhà hàng đang hoạt động trong phạm vi 1.000 m tính từ Toà nhà Empire State và Quảng trường Thời đại ở Thành phố New York vào tháng 7 năm 2026:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'snapshot_date', '2026-07' ) );
Phản hồi là một bảng BigQuery chứa geo_id, vị trí địa lý, số lượng và mẫu Mã địa điểm.

Ví dụ sau đây sử dụng hàm PLACES_COUNT_V2 để lọc theo mã thương hiệu cụ thể. Trong ví dụ này, chúng ta sẽ lọc các địa điểm của Starbucks bằng mã thương hiệu "1413758728321880760".
Để tìm mã thương hiệu cho những thương hiệu bạn muốn lọc, hãy truy vấn bảng brands cho tập dữ liệu của bạn (ví dụ: places_insights___us.brands). Để biết thêm thông tin về tập dữ liệu thương hiệu, hãy xem bài viết Viết truy vấn bằng dữ liệu thương hiệu.
Ví dụ: Để tìm mã thương hiệu cho "Starbucks", hãy làm như sau:
SELECT id, name FROM `PROJECT_NAME.places_insights___us.brands` WHERE name = "Starbucks"
Sau khi lấy được mã thương hiệu, bạn có thể sử dụng các mã đó trong bộ lọc brand_ids như trong truy vấn sau:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'brand_ids', ["1413758728321880760"] ) );
Trực quan hoá kết quả truy vấn bằng các công cụ của Google Cloud
Các công cụ phân tích và kinh doanh thông minh giúp bạn khám phá thông tin chi tiết từ dữ liệu BigQuery. BigQuery hỗ trợ một số công cụ trực quan hoá dữ liệu của Google và bên thứ ba mà bạn có thể dùng để phân tích kết quả của các hàm trên dữ liệu Thông tin chi tiết về địa điểm.
Để xem ví dụ về cách trực quan hoá kết quả của một hàm, hãy xem phần Trực quan hoá kết quả trong tài liệu tham khảo PLACES_COUNT_PER_H3. Để biết thêm thông tin về cách trực quan hoá kết quả của Thông tin chi tiết về địa điểm, hãy xem bài viết Trực quan hoá kết quả truy vấn.
Các yêu cầu và giới hạn về chức năng
Các hàm Đếm địa điểm có những hạn chế và yêu cầu sau:
- Các hàm này chỉ hỗ trợ thông tin chi tiết về
COUNT. - Khu vực tìm kiếm tối thiểu phải là 40 m x 40 m (1.600 m2) (40 m x 40 m/1.600 m²).
- Giới hạn kích thước đầu vào của tham số: Đối tượng JSON được truyền dưới dạng tham số cho các hàm bị giới hạn ở mức 1 MB. Mức độ ảnh hưởng của giới hạn này phụ thuộc vào phiên bản hàm:
- Đối với các hàm phiên bản 2 (
PLACES_COUNT_V2,PLACES_COUNT_PER_TYPE_V2,PLACES_COUNT_CHANGE), giới hạn này chỉ áp dụng cho đối tượng JSON của bộ lọc. Vì các khu vực địa lý được cung cấp riêng biệt bằng tham số bảng, nên các hàm này có thể mở rộng cho số lượng khu vực địa lý đầu vào lớn hơn nhiều mà không đạt đến giới hạn kích thước JSON. - Đối với
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPEvàPLACES_COUNT_PER_GEO, giới hạn này áp dụng cho toàn bộ đối tượng JSON, bao gồm tất cả định nghĩa về địa lý. Điều này có thể giới hạn số lượng vị trí địa lý có thể được xử lý trong một lệnh gọi.
- Đối với các hàm phiên bản 2 (
- Không hỗ trợ lọc theo Mã địa điểm hoặc thành phần địa chỉ.
- Bạn chỉ có thể sử dụng các hàm Số lượng địa điểm cho những thành phố và quốc gia mà bạn đã đăng ký. Xem phần Thiết lập Thông tin chi tiết về địa điểm để biết cách truy cập vào tập dữ liệu.
- Các tham số bộ lọc (ví dụ:
geographyhoặctypes) có phân biệt chữ hoa chữ thường và phải khớp chính xác với tên tham số, nếu không thì truy vấn sẽ không thành công.