تعداد POI های جستجو شده بر اساس H3

تابع PLACES_COUNT_PER_H3 داده‌های مکان‌های مورد علاقه (POI) را در سلول‌های شبکه مکانی استاندارد H3 با وضوح مشخص تجمیع می‌کند. این تابع مسیر پیشنهادی برای تحلیل چگالی منطقه‌ای، نقشه‌برداری رقابتی و تولید نقشه‌های حرارتی کروپلت شش‌ضلعی است.

برای فراخوانی تابع PLACES_COUNT_PER_H3 ، از یک عبارت SQL FROM استفاده کنید زیرا این تابع یک جدول برمی‌گرداند.

سینتکس و پارامترها

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_H3`(
  filters
)

پارامترها

  • PROJECT_NAME : نام پروژه گوگل کلود شما. اگر نامی برای پروژه مشخص نکنید، کوئری شما به طور پیش‌فرض به پروژه فعال ارجاع داده می‌شود.
  • LINKED_DATASET_NAME : نام مجموعه داده‌ی Places Insights مشترک شما (برای مثال، places_insights___us ).
  • filters ( JSON ) : یک شیء JSON که با استفاده از JSON_OBJECT ساخته شده و حاوی پارامترهای فیلتر کلید-مقدار است.

فیلترهای JSON مورد نیاز

  • geography ( GEOGRAPHY ) : ناحیه جستجوی مرزی (نقطه، رشته خط یا چندضلعی) که باید اندیس‌گذاری شود.
  • h3_resolution (INTEGER) : سطح وضوح سلول H3 (مقادیر پشتیبانی شده از 0 تا 11 متغیر است).

فیلترهای JSON اختیاری

طرح جدول خروجی

این تابع یک جدول BigQuery با یک ردیف به ازای هر شاخص سلول H3 که هندسه هدف شما را قطع می‌کند، برمی‌گرداند:

نام ستون نوع داده توضیحات
h3_cell_index رشته شناسه منحصر به فرد شاخص H3 برای سلول.
geography جغرافیا یک چندضلعی که مرز فیزیکی سلول H3 را نشان می‌دهد.
count عدد صحیح تعداد دقیق کل مکان‌های عملیاتی منطبق در این سلول H3 خاص، یا صفر در صورت عدم تطابق مکان‌ها.
sample_place_ids آرایه آرایه‌ای شامل حداکثر ۲۵۰ شناسه مکان (Place ID) که در این سلول قرار دارد و امکان پرس‌وجوهای مستقیم مبتنی بر واقعیت را با استفاده از API مکان‌ها فراهم می‌کند.

تراکم نقاط مورد توجه منطقه‌ای با استفاده از PLACES_COUNT_PER_H3

این تابع، جغرافیای مرزی مشخص شده در فیلترهای شما را پردازش می‌کند، تمام شش‌ضلعی‌های H3 متقاطع را در وضوح هدف شما شناسایی می‌کند و تعداد دقیق مکان‌ها و شناسه‌های مکان را برای هر شش‌ضلعی برمی‌گرداند.

مثال: تعداد فروشگاه‌های مواد غذایی و خواربارفروشی‌های مناسب برای ویلچر در ایالت نیویورک را بشمارید

این پرس‌وجو، فروشگاه‌های رفاهی و مواد غذایی فعال و قابل دسترس برای ویلچر در ایالت نیویورک را با استفاده از سطح وضوح H3 برابر با ۸ جمع‌آوری می‌کند. هندسه مرزی ایالت نیویورک به صورت پویا از مجموعه داده عمومی bigquery-public-data.geo_us_boundaries.states پرس‌وجو می‌شود.

-- Query POI count per H3 cell intersecting the New York State polygon boundary
SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', (
        -- Dynamically retrieve the boundary geography for New York State
        SELECT state_geom
        FROM `bigquery-public-data.geo_us_boundaries.states`
        WHERE state = 'NY'
        LIMIT 1
      ),
      'types', ['grocery_store', 'convenience_store'],
      'business_status', ['OPERATIONAL'],
      'h3_resolution', 8,
      'wheelchair_accessible_entrance', TRUE
  )
)
ORDER BY count DESC;

قالب پاسخ

این پرس‌وجو یک جدول سطر به سطر ایجاد می‌کند که سلول‌ها را مستقیماً به شمارش‌های مکانی نگاشت می‌کند:

نتایج BigQuery برای پرس و جوی H3.

مثال: تعداد مکان‌ها در هر سلول H3 که بر اساس برند فیلتر شده است را بشمارید

مثال زیر از فیلتر brand_ids برای بازیابی تعداد مکان‌ها و نمونه شناسه‌های مکان برای برندهای خاص، مانند Starbucks "1413758728321880760" و Dunkin "1314981297593671295" استفاده می‌کند:

DECLARE geo GEOGRAPHY;

-- Get the geography for New York City.
SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area`
  WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York'  LIMIT 1);

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', geo,
      'h3_resolution', 8,
      'brand_ids', ["1413758728321880760", "1314981297593671295"],
      'business_status', ['OPERATIONAL']
    )
);

نتایج H3 را به صورت پویا در Looker Studio تجسم کنید

تصاویر زیر داده‌های PLACES_COUNT_PER_H3 را که در Looker Studio به صورت یک نقشه پر شده نمایش داده شده‌اند، نشان می‌دهند. هرچه سلول H3 تیره‌تر باشد، غلظت نتایج بیشتر است:

نقشه پر شده برای فیلتر کردن فروشگاه‌های رفاهی و مواد غذایی مناسب برای ویلچر در نیویورک.

برای وارد کردن داده‌ها به Looker Studio:

  1. تابع بالا را در BigQuery اجرا کنید تا نتایج خود را تولید کنید.
  2. در پنجره نتایج BigQuery، روی Open in -> Looker Studio کلیک کنید. نتایج شما به طور خودکار به Looker Studio وارد می‌شوند.
  3. Looker Studio یک صفحه گزارش پیش‌فرض ایجاد می‌کند و آن را با عنوان، جدول و نمودار میله‌ای نتایج مقداردهی اولیه می‌کند.

    گزارش پیش‌فرض در Looker Studio.

  4. هر چیزی که در صفحه وجود دارد را انتخاب کرده و حذف کنید.

  5. برای افزودن یک نقشه پر شده به گزارش خود، روی Insert -> Filled map کلیک کنید.

  6. در قسمت انواع نمودار -> تنظیمات ، فیلدها را مطابق شکل زیر پیکربندی کنید:

    تنظیم نقشه حرارتی در Looker Studio.

  7. نقشه پر شده مانند بالا ظاهر می‌شود. می‌توانید به صورت اختیاری انواع نمودار -> سبک را برای پیکربندی بیشتر ظاهر نقشه انتخاب کنید.

برای اطلاعات بیشتر در مورد تجسم نتایج Places Insights، به Visualize query results مراجعه کنید.