Các hàm đếm địa điểm là những truy vấn SQL được xác định trước, chạy trong BigQuery và bổ sung cho việc truy vấn trực tiếp tập dữ liệu. Điểm khác biệt chính giữa việc truy vấn trực tiếp dữ liệu và sử dụng một hàm là các hàm không thực thi ngưỡng số lượng tối thiểu mà thay vào đó thực thi diện tích tìm kiếm tối thiểu:
- Truy vấn tập dữ liệu về địa điểm chỉ có thể trả về số lượng từ 5 trở lên, 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.
- Hàm đếm địa điểm có thể trả về mọi số lượng, kể cả 0, nhưng phải có diện tích tìm kiếm tối thiểu là 40 m x 40 m (1.600 m2). Các hàm cũng có thể trả về Place IDs (Mã địa điểm). Bạn có thể dùng mã này để tra cứu thông tin về từng Địa điểm.
Bạn nên sử dụng các hàm Đếm địa điểm nếu cần biết thời điểm một cụm từ tìm kiếm không trả về kết quả hoặc nếu bạn cần biết số lượng địa điểm dưới 5. Thao tác này cũng hữu ích nếu bạn cần lấy thông tin về từng địa điểm để kiểm tra nhanh kết quả.
Các hàm Places Count chỉ cung cấp số lượng, vì vậy, nếu cần thực hiện các truy vấn phức tạp hơn như kết hợp dữ liệu hoặc nhận thêm thông tin chi tiết như điểm xếp hạng trung bình của một nhóm địa điểm, thì hãy truy vấn trực tiếp tập dữ liệu.
Các hàm và quốc gia được hỗ trợ về số lượng địa điểm
Places Insights hỗ trợ các chức năng sau:
PLACES_COUNT: Trả về một hàng chứa số lượng địa điểm.PLACES_COUNT_PER_TYPE: Trả về một bảng BigQuery về số lượng địa điểm theo từng loại địa điểm.PLACES_COUNT_PER_GEO: Trả về một bảng BigQuery về số lượng địa điểm theo từng khu vực địa lý.PLACES_COUNT_PER_H3: Trả về một bảng BigQuery gồm số lượng địa điểm trên mỗi ô H3.
Cùng với số lượng địa điểm, các hàm PLACES_COUNT_PER_TYPE, PLACES_COUNT_PER_GEO và PLACES_COUNT_PER_H3 cũng trả về tối đa 250 mã địa điểm cho mỗi phần tử của phản hồi. Xem tất cả các tham số bộ lọc.
Bạn có thể sử dụng Mã địa điểm với:
Viết truy vấn bằng các hàm
Hãy 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 được liệt kê ở đây. Bạn cũng có thể thêm tên dự án (không bắt buộc). Nếu không có giá trị nào được đưa vào, truy vấn sẽ mặc định là dự án đang hoạt động.
Ví dụ:
PROJECT_NAME.places_insights___us.PLACES_COUNT
Sử dụng JSON_OBJECT để truyền các đối số vào hàm.
Lọc kết quả
Các hàm đếm địa điểm 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 tài liệu tham khảo về các tham số bộ lọc để biết danh sách đầy đủ các lựa chọn.
Trong ví dụ tiếp theo, bạn sẽ áp dụng bộ lọc để giới hạn phạm vi 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 hoạt động của doanh nghiệp và việc nhà hàng có cho phép mang theo chó hay không:
SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) ) as count;
Ví dụ về hàm đếm vị trí
Ví dụ sau đây sử dụng hàm PLACES_COUNT để trả về số lượng nhà hàng đang hoạt động trong phạm vi 1.000 mét tính từ Toà nhà Empire State ở Thành phố New York:
SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) ) as count;
Phản hồi chứa một số lượng duy nhất:

Ví dụ này sử dụng hàm BigQuery ST_GEOGPOINT để trả về giá trị GEOGRAPHY từ một điểm, sau đó truyền giá trị đó vào tham số geography. Thao tác này cũng truyền bán kính tìm kiếm xung quanh điểm và loại địa điểm, "restaurant", để tìm kiếm.
Số lượng địa điểm theo loại, vị trí địa lý hoặc ví dụ về H3
Cùng với số lượng địa điểm, các hàm PLACES_COUNT_PER_TYPE, PLACES_COUNT_PER_GEO và PLACES_COUNT_PER_H3 cũng trả về tối đa 250 mã địa điểm cho những địa điểm có trong phản hồi.
Ví dụ: hàm PLACES_COUNT_PER_TYPE trả về một bảng số lượng địa điểm theo từng loại địa điểm. Nội dung phản hồi bao gồm một mảng gồm các mã địa điểm cho những địa điểm phù hợp với từng loại. Bạn có thể sử dụng mã địa điểm được trả về để tra cứu thông tin về từng địa điểm.
Lệnh gọi hàm sau đây trả về số lượng địa điểm có các loại: restaurant, cafe và bar:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'types', ["restaurant", "cafe", "bar"], 'business_status', ['OPERATIONAL'] ) );
Hàm này trả về một bảng có 3 cột: type, count và sample_place_ids. Cột count cho biết số lượng địa điểm cho mỗi type và cột sample_place_ids cho biết tối đa 250 mã địa điểm cho mỗi type.

Hình dung kết quả
Các công cụ phân tích và dữ liệu doanh nghiệp đóng vai trò quan trọng trong việc 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.
Để biết 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ả. Để biết thêm thông tin và ví dụ 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 phần Trực quan hoá kết quả truy vấn.
Giới hạn và yêu cầu
Các hàm đếm địa điểm có những hạn chế và yêu cầu sau:
- Chỉ hỗ trợ thông tin chi tiết về
COUNT. - Bạn phải có diện tích tìm kiếm tối thiểu là 40 m x 40 m (1.600 m2).
- Giới hạn kích thước của dữ liệu đầu vào tham số số lượng hàm vị trí là 1 MB.
- Không hỗ trợ lọc theo mã địa điểm, thương hiệu, lựa chọn sạc xe điện hoặc thành phần địa chỉ.
- Bạn chỉ có thể truy cập vào các hàm đếm địa điểm cho những thành phố và quốc gia mà bạn đã đăng ký. Hãy xem bài viết Thiết lập Places Insights để 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 truy vấn sẽ không thành công.