Bắt đầu sử dụng tính năng Thông tin chi tiết về địa điểm

Hàm Đếm địa điểm là các truy vấn SQL được xác định trước, chạy trong BigQuery và là cách được đề xuất để 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 2 phương thức truy vấn này sẽ xử lý các ngưỡng quyền riêng tư và khu vực tìm kiếm:

  • Các 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) (40 m x 40 m / 1.600 m²). Các hàm này cũng trả về Place ID (Mã địa điểm) mà bạn có thể dùng để tra cứu thông tin về từng Địa điểm và hỗ trợ phân tích điểm đến yêu thích (POI) trong các ảnh chụp nhanh hằng tháng trước đây bằng cách sử dụng bộ lọc ngày không bắt buộc.

  • Các truy vấn về 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, nếu không, bạn nên bắt đầu bằng các hàm Đếm địa điểm, chẳng hạn như PLACES_COUNT_PER_H3. API này cung cấp thông tin chi tiết ngay lập tức 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 dữ liệu thực tế và được thiết kế riêng cho kỹ thuật trích xuất tính chất địa lý và mô hình học máy.

Chọn hàm Số đị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 về 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 choropleth.
  • 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 các vị trí đị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 trên 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 các vị trí đầu vào dưới dạng một tham số bảng cho phép BigQuery song song hoá các giao điểm không gian một cách tự nhiên trên các tập dữ liệu lớn.
  • PLACES_COUNT_CHANGE: Trả về một bảng gồm số lượng địa điểm, cộng với mã địa điểm được thêm và bị xoá trong khoảng thời gian giữa hai tháng đã cho. Tương tự như PLACES_COUNT_V2, việc truyền các vị trí địa lý đầu vào dưới dạng một tham số bảng cho phép BigQuery song song hoá một cách tự nhiên 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 Place ID 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 Places Count

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. Bạn cũng có thể tuỳ ý thêm tên dự án. Nếu không có, 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 các đố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

Các hàm Đếm địa điểm hỗ trợ nhiều bộ lọc để tinh chỉnh nội dung 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ề các tham số bộ lọc.

Truy vấn ảnh chụp nhanh trong quá khứ bằng snapshot_date

Theo mặc định, các hàm Đếm địa điểm sẽ truy vấn ảnh chụp nhanh dữ liệu gần đây nhất hiện có. Để phân tích dữ liệu về địa điểm như dữ liệu đó đã tồn tại trong một tháng cụ thể trước đây, 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 như được ghi lại trong ảnh chụp nhanh 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 sẽ áp dụng các 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 kinh doanh và việc nhà hàng có cho phép mang theo chó 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 đị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 vòng 1.000 mét 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ột mẫu mã địa điểm.

Kết quả cho hàm Số địa điểm ở Thành phố New York.

Ví dụ sau đây sử dụng hàm PLACES_COUNT_V2 để lọc theo mã nhận dạng thương hiệu cụ thể. Trong ví dụ này, chúng ta sẽ lọc các vị trí của Starbucks bằng cách sử dụng mã thương hiệu "1413758728321880760".

Để tìm mã thương hiệu cho những thương hiệu mà 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 nhận được mã nhận dạng thương hiệu, bạn có thể sử dụng mã nhận dạng đó trong bộ lọc brand_ids như minh hoạ 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à thông tin kinh doanh 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 phần Trực quan hoá kết quả truy vấn.

Yêu cầu và hạn chế về chức năng

Hàm Đếm địa điểm có các giới hạn và yêu cầu sau:

  • Các hàm này chỉ hỗ trợ thông tin chi tiết 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) (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ố đến các hàm bị giới hạn ở mức 1 MB. Mức độ tác độ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 V2 (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 bộ lọc. Vì các vị trí địa lý được cung cấp riêng bằng cách sử dụng một tham số bảng, nên các hàm này có thể mở rộng đến số lượng vị trí đị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_TYPEPLACES_COUNT_PER_GEO, giới hạn này áp dụng cho toàn bộ đối tượng JSON, bao gồm cả tất cả cá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.
  • Không hỗ trợ lọc theo Mã địa điểm hoặc thành phần địa chỉ.
  • Bạn chỉ có thể truy cập vào các hàm Places Count cho những thành phố và quốc gia mà bạn đã đăng ký. Hãy xem phần Thiết lập Thông tin chi tiết về địa điểm để có quyền truy cập vào tập dữ liệu.
  • Các tham số bộ lọc (ví dụ: geography 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ố, nếu không truy vấn sẽ không thành công.