H3 অনুযায়ী কোয়েরি করা POI-এর সংখ্যা

PLACES_COUNT_PER_H3 ফাংশনটি নির্দিষ্ট রেজোলিউশনে স্ট্যান্ডার্ডাইজড H3 স্পেশিয়াল গ্রিড সেলে আকর্ষণীয় স্থানের (POI) ডেটা একত্রিত করে। এই ফাংশনটি আঞ্চলিক ঘনত্ব বিশ্লেষণ, প্রতিযোগিতামূলক ম্যাপিং এবং হেক্সাগোনাল কোরোপ্লেথ হিটম্যাপ তৈরি করার জন্য সাজেস্ট করা পাথওয়ে।

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 ডেটাসেটের নাম (যেমন, places_insights___us)।
  • filters (JSON): JSON_OBJECT ব্যবহার করে তৈরি করা JSON অবজেক্ট যাতে কী-ভ্যালু ফিল্টার প্যারামিটার থাকে।

প্রয়োজনীয় JSON ফিল্টার

  • geography (GEOGRAPHY): ইনডেক্স করার জন্য বাউন্ডিং সার্চ এরিয়া (পয়েন্ট, লাইনস্ট্রিং বা পলিগন)।
  • h3_resolution (INTEGER): H3 সেল রেজোলিউশন লেভেল (সাপোর্ট করা ভ্যালুর রেঞ্জ 0 থেকে 11 পর্যন্ত)।

ঐচ্ছিক JSON ফিল্টার

আউটপুট টেবিল স্কিমা

ফাংশনটি আপনার টার্গেট জিওমেট্রিকে ইন্টারসেক্ট করা প্রতিটি H3 সেল ইনডেক্সের জন্য একটি করে সারি সহ একটি BigQuery টেবিল রিটার্ন করে:

কলামের নাম ডেটার ধরন বিবরণ
h3_cell_index STRING সেলের জন্য অনন্য H3 ইনডেক্স শনাক্তকারী।
geography GEOGRAPHY H3 সেলের ফিজিক্যাল বাউন্ডারি দেখানো পলিগন।
count INTEGER এই নির্দিষ্ট H3 সেলের মধ্যে ম্যাচিং অপারেশনাল জায়গার মোট সঠিক সংখ্যা, অথবা কোনও জায়গা ম্যাচ না করলে শূন্য।
sample_place_ids ARRAY<STRING> এই সেলের মধ্যে ২৫০টি পর্যন্ত প্লেস আইডির একটি অ্যারে, যা Places API ব্যবহার করে সরাসরি গ্রাউন্ড-ট্রুথ কোয়েরি করার সুবিধা দেয়।

PLACES_COUNT_PER_H3 ব্যবহার করে আঞ্চলিক POI ঘনত্ব একত্রিত করুন

ফাংশনটি আপনার ফিল্টারে নির্দিষ্ট করা বাউন্ডিং জিওগ্রাফি প্রসেস করে, আপনার টার্গেট রেজোলিউশনে সব ইন্টারসেক্টিং 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;

উত্তর দেওয়ার ফর্ম্যাট

কোয়েরিটি একটি সারি-বাই-সারি টেবিল তৈরি করে যা সেলগুলিকে সরাসরি স্থানিক গণনার সাথে ম্যাপ করে:

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 ফলাফল ভিজ্যুয়ালাইজ করা

নিচের ছবিতে Looker Studio-তে ফিল করা ম্যাপ হিসেবে PLACES_COUNT_PER_H3 থেকে পাওয়া ডেটা দেখানো হয়েছে। H3 সেল যত গাঢ় হবে, ফলাফলের ঘনত্ব তত বেশি হবে:

নিউ ইয়র্কে হুইলচেয়ার ব্যবহার করা যাবে এমন কনভেনিয়েন্স ও গ্রসারি স্টোর ফিল্টার করার জন্য ফিল করা ম্যাপ।

Looker Studio-তে আপনার ডেটা ইমপোর্ট করতে:

  1. আপনার ফলাফল তৈরি করতে BigQuery-তে উপরের ফাংশনটি রান করুন।
  2. BigQuery ফলাফল প্যানে, এতে খুলুন -> Looker Studio বিকল্পে ক্লিক করুন। আপনার ফলাফল Looker Studio-তে অটোমেটিক ইমপোর্ট করা হয়।
  3. Looker Studio একটি ডিফল্ট রিপোর্ট পৃষ্ঠা তৈরি করে এবং ফলাফলের একটি শিরোনাম, টেবিল এবং বার গ্রাফ দিয়ে এটি শুরু করে।

    Looker Studio-তে ডিফল্ট রিপোর্ট।

  4. পৃষ্ঠার সবকিছু বেছে নিয়ে মুছে দিন।

  5. আপনার রিপোর্টে ফিল করা ম্যাপ যোগ করতে যোগ করুন -> ফিল করা ম্যাপ বিকল্পে ক্লিক করুন।

  6. চার্টের ধরন -> সেট-আপ বিকল্পের অধীনে, নিচে দেখানো ফিল্ডগুলি কনফিগার করুন:

    Looker Studio-তে হিটম্যাপ সেট-আপ করা।

  7. পূরণ করা ম্যাপ উপরে দেখানো হয়েছে। ম্যাপের চেহারা আরও কনফিগার করতে আপনি চাইলে চার্টের ধরন -> স্টাইল বেছে নিতে পারেন।

Places Insights-এর ফলাফল ভিজ্যুয়ালাইজ করার ব্যাপারে আরও জানতে, কোয়েরির ফলাফল ভিজ্যুয়ালাইজ করুন দেখুন।

উদাহরণ: নির্দিষ্ট ফিল্টার সহ H3 সেল অনুযায়ী ঐতিহাসিক POI সংখ্যা কোয়েরি করুন

এই উদাহরণটি দেখায় যে কীভাবে snapshot_date ফিল্টার ব্যবহার করে একটি নির্দিষ্ট স্ন্যাপশট মাসের জন্য H3 স্পেশিয়াল গ্রিড জুড়ে ঐতিহাসিক POI গণনা কোয়েরি করতে হয়। এটি কোনও লোকেশনের চারপাশে বাফার ব্যবহার করে ভৌগোলিক সার্চ এলাকা নির্ধারণ করে এবং নির্দিষ্ট regular_opening_hours-এর পাশাপাশি max_ev_charge_connector_count ব্যবহার করে EV চার্জিং কানেক্টরের সংখ্যার জন্য অতিরিক্ত মাপকাঠি প্রয়োগ করে।

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')]
    )
  )
);