שאילתות לגבי מספר נקודות העניין לפי H3

הפונקציה PLACES_COUNT_PER_H3 צוברת נתונים של נקודות עניין (POI) בתאים של רשת מרחבית H3 סטנדרטיים ברזולוציה שצוינה. הפונקציה הזו היא הדרך המומלצת לניתוח צפיפות אזורית, מיפוי תחרותי ויצירת מפות חום של מפות נושאיות משושות.

כדי להפעיל את הפונקציה PLACES_COUNT_PER_H3, משתמשים בסעיף FROM ב-SQL כי הפונקציה מחזירה טבלה.

תחביר ופרמטרים

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

פרמטרים

  • ‫PROJECT_NAME: השם של הפרויקט ב-Google Cloud. אם לא תציינו שם של פרויקט, השאילתה תתבצע כברירת מחדל בפרויקט הפעיל.
  • 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 STRING המזהה הייחודי של אינדקס H3 של התא.
geography GEOGRAPHY פוליגון שמייצג את הגבול הפיזי של תא H3.
count INTEGER המספר המדויק הכולל של מקומות פעילים שתואמים לתא H3 הספציפי הזה, או אפס אם אין מקומות תואמים.
sample_place_ids ARRAY<STRING> מערך של עד 250 מזהי מקומות שנמצאים בתא הזה, שמאפשר לשלוח שאילתות ישירות לאמת הקרקע (ground truth) באמצעות Places API.

צבירת צפיפות אזורית של נקודות עניין באמצעות PLACES_COUNT_PER_H3

הפונקציה מעבדת את הגבולות הגיאוגרפיים שצוינו במסננים, מזהה את כל המשושים של H3 שנחתכים ברזולוציית היעד, ומחזירה את מספר המקומות המדויק ואת מזהי המקומות של כל משושה.

דוגמה: ספירת חנויות מכולת וחנויות נוחות נגישות לכיסאות גלגלים במדינת ניו יורק

השאילתה הזו צוברת חנויות מכולת וחנויות נוחות פעילות ונגישות לכיסאות גלגלים במדינת ניו יורק, באמצעות רמת רזולוציה של 8 ב-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;

פורמט התשובה

השאילתה מניבה טבלה שורה אחר שורה שממפה תאים ישירות לספירות מרחביות:

תוצאות של שאילתת H3 ב-BigQuery.

דוגמה: ספירת מקומות לכל תא 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). התוצאות מיובאות באופן אוטומטי ל-Looker Studio.
  3. ‫Looker Studio יוצר דף דוח כברירת מחדל ומאתחל אותו עם כותרת, טבלה ותרשים עמודות של התוצאות.

    דוח ברירת המחדל ב-Looker Studio.

  4. בוחרים את כל התוכן בדף ומוחקים אותו.

  5. לוחצים על הוספה -> מפה עם מילוי כדי להוסיף מפה עם מילוי לדוח.

  6. בקטע סוגי תרשימים -> הגדרה, מגדירים את השדות כמו שמוצג בהמשך:

    הגדרת מפת חום ב-Looker Studio.

  7. המפה המלאה מוצגת כמו בתמונה שלמעלה. אפשר גם לבחור באפשרות Chart types -> Style כדי להגדיר את המראה של המפה.

למידע נוסף על הצגת תוצאות Places Insights, ראו הצגת תוצאות שאילתות.

דוגמה: שאילתה על ספירות היסטוריות של נקודות עניין לפי תא H3 עם מסננים ספציפיים

בדוגמה הזו מוסבר איך להריץ שאילתה על מספרים היסטוריים של נקודות עניין ברשת מרחבית H3, לפי חודש ספציפי של תמונת מצב, באמצעות המסנן snapshot_date. הוא מגדיר אזור חיפוש גיאוגרפי באמצעות מאגר נתונים זמני סביב מיקום, ומחיל קריטריונים נוספים לספירת מחברי טעינה לרכב חשמלי באמצעות 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')]
    )
  )
);