پرس‌وجو کردن تعداد نقاط موردعلاقه براساس 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: نام پروژه Google Cloud شما. اگر نام پروژه را مشخص نکنید، پُرسمان شما به‌طور پیش‌فرض به پروژه فعال اختصاص داده می‌شود.
  • LINKED_DATASET_NAME: نام مجموعه داده «اطلاعات آماری جاها» که در آن مشترک شده‌اید (برای مثال، places_insights___us).
  • filters (JSON): شیء JSON ساخته‌شده بااستفاده از JSON_OBJECT که حاوی پارامترهای فیلتر مقدار کلید است.

فیلترهای JSON الزامی

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

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

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

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

نام ستون نوع داده شرح
h3_cell_index STRING شناسه یکتای نمایه H3 برای سلول.
geography GEOGRAPHY چندضلعی‌ای که مرز فیزیکی سلول H3 را نشان می‌دهد.
count INTEGER تعداد دقیق کل مکان‌های عملیاتی منطبق در این سلول H3 خاص، یا صفر اگر هیچ مکانی منطبق نباشد.
sample_place_ids ARRAY<STRING> آرایه‌ای از حداکثر ۲۵۰ شناسه مکان واقع در این سلول که امکان پرسمان‌های مستقیم واقعیت عینی را بااستفاده از Places 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، روی باز کردن در -> Looker Studio کلیک کنید. نتایج شما به‌طور خودکار به Looker Studio وارد می‌شود.
  3. ‫Looker Studio صفحه گزارش پیش‌فرضی ایجاد می‌کند و آن را با عنوان، جدول، و نمودار میله‌ای نتایج مقداردهی اولیه می‌کند.

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

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

  5. روی درج -> نقشه پرشده کلیک کنید تا نقشه پرشده به گزارشتان اضافه شود.

  6. در بخش انواع نمودار -> راه‌اندازی، فیلدها را به‌صورت زیر پیکربندی کنید:

    راه‌اندازی نقشه حرارتی در Looker Studio.

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

برای اطلاعات بیشتر درباره تجسم نتایج «اطلاعات آماری جاها»، به تجسم نتایج پُرسمان مراجعه کنید.

مثال: پرسمان تعداد نقاط موردعلاقه تاریخی براساس سلول H3 با فیلترهای خاص

این مثال نشان می‌دهد که چگونه می‌توان بااستفاده از فیلتر snapshot_date، تعداد نقاط موردعلاقه تاریخی را در یک شبکه فضایی H3 برای یک ماه عکس آنی خاص جستجو کرد. این روش یک منطقه جستجوی جغرافیایی را بااستفاده از یک حائل در اطراف یک مکان تعریف می‌کند و معیارهای اضافی را برای تعداد اتصال‌دهنده‌های شارژ خودرو برقی بااستفاده از max_ev_charge_connector_count در کنار regular_opening_hours خاص اعمال می‌کند.

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
    'geography', ST_BUFFER(ST_GEOGPOINT(-74.0060, 40.7128), 5000), -- 5km radius around NYC
    'h3_resolution', 8,
    'business_status', ['OPERATIONAL'],
    'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM)
    'max_ev_charge_connector_count', 3, -- Maximum connector count
    'regular_opening_hours', JSON_OBJECT(
      'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')]
    )
  )
);