שאילתות לגבי מספר נקודות העניין לפי 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): אזור החיפוש המוגבל (Point,‏ Linestring או Polygon) שיתווסף לאינדקס.
  • h3_resolution (מספר שלם): רמת הרזולוציה של תא H3 (הערכים הנתמכים הם מ-0 עד 11).

מסנני JSON אופציונליים

סכימת טבלת הפלט

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

שם העמודה סוג הנתונים תיאור
h3_cell_index STRING המזהה הייחודי של אינדקס H3 של התא.
geography GEOGRAPHY פוליגון שמייצג את הגבול הפיזי של תא H3.
count INTEGER המספר הכולל המדויק של מקומות תפעוליים תואמים בתוך תא H3 הספציפי הזה, או אפס אם אין מקומות תואמים.
sample_place_ids ARRAY<STRING> מערך של עד 250 מזהי מקומות שנמצאים בתוך התא הזה, שמאפשר שאילתות ישירות של נתוני אמת באמצעות Places API.

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

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

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

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

מידע נוסף על הצגת תוצאות של שאילתות ב-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')]
    )
  )
);