H3 के हिसाब से, पीओआई की संख्या के बारे में क्वेरी करना

PLACES_COUNT_PER_H3 फ़ंक्शन, लोकप्रिय जगहों (पीओआई) के डेटा को तय किए गए रिज़ॉल्यूशन पर, स्टैंडर्ड 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_OBJECT का इस्तेमाल करके बनाया गया JSON ऑब्जेक्ट, जिसमें कुंजी-वैल्यू फ़िल्टर पैरामीटर शामिल हैं.

ज़रूरी 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 आईडी का कलेक्शन. इससे 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']
    )
);

Looker Studio में H3 के नतीजों को डाइनैमिक तौर पर विज़ुअलाइज़ करना

इन इमेज में, 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')]
    )
  )
);