Places Insights ব্যবহার করা শুরু করা

Places Count ফাংশন হল আগে থেকে সংজ্ঞায়িত SQL কোয়েরি যা BigQuery-তে রান করে এবং সঠিক সংখ্যা ও Place ID পাওয়ার জন্য Places Insights ডেটাসেট কোয়েরি করার সাজেস্ট করা পদ্ধতি। আপনি সরাসরি ডেটাসেট কোয়েরি করতে পারলেও, দুটি কোয়েরি পদ্ধতি গোপনীয়তা থ্রেশহোল্ড ও সার্চ এরিয়া ম্যানেজ করে:

  • Places Count ফাংশন ০ সহ যেকোনও সংখ্যা রিটার্ন করতে পারে, তবে ন্যূনতম ৪০.০ মিটার বাই ৪০.০ মিটার (১৬০০ মি২) (৪০.০ মিটার বাই ৪০.০ মিটার / ১,৬০০ মি²) সার্চ এরিয়া এনফোর্স করে। ফাংশন Place ID-ও রিটার্ন করে, যা নির্দিষ্ট জায়গা সম্পর্কে তথ্য খুঁজতে ব্যবহার করা যেতে পারে এবং ঐচ্ছিক তারিখ ফিল্টার ব্যবহার করে অতীতের মাসিক স্ন্যাপশট জুড়ে ঐতিহাসিক POI বিশ্লেষণ করতে সাহায্য করে।

  • জায়গার ডেটাসেট কোয়েরি শুধুমাত্র ৫ এবং তার বেশি সংখ্যা ফেরত দিতে পারে (পার্থক্যমূলক গোপনীয়তা বজায় রাখতে ০–৪ পর্যন্ত কম সংখ্যা বাদ দিয়ে), তবে সার্চ এরিয়ার সাইজের উপর কোনও সীমাবদ্ধতা আরোপ করে না।

আপনাকে জটিল স্পেশিয়াল বিশ্লেষণ করতে না হলে, আমরা PLACES_COUNT_PER_H3-এর মতো Places Count ফাংশন দিয়ে শুরু করার সাজেশন দিই। এটি স্ট্যান্ডার্ডাইজড গ্রিড সেল জুড়ে তাৎক্ষণিক স্পেশিয়াল ডেনসিটি ইনসাইট প্রদান করে, বাস্তবিক সত্য পরিদর্শনের জন্য প্লেস আইডি রিটার্ন করে এবং জিওস্পেশিয়াল ফিচার ইঞ্জিনিয়ারিং ও ML মডেলের জন্য বিশেষভাবে তৈরি করা হয়েছে।

অপ্টিমাল Places Count ফাংশন বেছে নিন

জায়গা সম্পর্কে ইনসাইট একাধিক স্পেশিয়াল ফাংশন সাপোর্ট করে। অপ্টিমাইজ করা কোয়েরি এক্সিকিউশন, প্যারালাল প্রসেসিং ও ব্যাচ স্কেলেবিলিটির জন্য, আমরা নিম্নলিখিত ফাংশন ব্যবহার করার সাজেশন দিই:

  • PLACES_COUNT_PER_H3: প্রতি H3 সেলে জায়গার সংখ্যার BigQuery টেবিল দেখায়। এই ফাংশনটি আঞ্চলিক ঘনত্ব বিশ্লেষণ এবং কোরোপ্লেথ হিটম্যাপিংয়ের জন্য সাজেস্ট করা হয়।
  • PLACES_COUNT_V2: জায়গার সংখ্যা ও স্যাম্পেল প্লেস আইডি সহ একটি টেবিল দেখায়। এই ফাংশন একটি টেবিল প্যারামিটার গ্রহণ করে যার মধ্যে আপনার ইনপুট করা ভৌগোলিক অঞ্চল থাকে। সরাসরি সম্পূর্ণ টেবিল পাস করার মাধ্যমে, BigQuery এক্সিকিউশন ইঞ্জিন কাজের লোড ডিস্ট্রিবিউট করতে এবং সমান্তরালভাবে স্পেশাল ইন্টারসেকশন প্রসেস করতে পারে, যা বড় স্কেলে বিশ্লেষণের জন্য অত্যন্ত দক্ষ ব্যাচ প্রসেসিং সক্ষম করে।
  • PLACES_COUNT_PER_TYPE_V2: জায়গার ধরন অনুযায়ী শ্রেণীবদ্ধ করা জায়গার সংখ্যা এবং স্যাম্পেল জায়গা আইডির একটি টেবিল দেখায়। PLACES_COUNT_V2-এর মতোই, টেবিল প্যারামিটার হিসেবে আপনার ইনপুট জিওগ্রাফি পাস করলে, BigQuery-কে বড় ডেটাসেট জুড়ে স্পেশাল ইন্টারসেকশনকে নেটিভভাবে প্যারালালাইজ করার অনুমতি দেয়।
  • PLACES_COUNT_CHANGE: দুটি নির্দিষ্ট মাসের মধ্যে জায়গার সংখ্যা এবং যোগ করা ও সরিয়ে দেওয়া জায়গা আইডির সারণী দেখায়। PLACES_COUNT_V2-এর মতো, আপনার ইনপুট জিওগ্রাফি টেবিল প্যারামিটার হিসেবে পাস করলে, BigQuery-কে বড় ডেটাসেট জুড়ে স্পেশাল ইন্টারসেকশনকে নেটিভভাবে প্যারালালাইজ করার অনুমতি দেয়।

জায়গার সংখ্যার সাথে, এই ফাংশনগুলি উত্তরের প্রতিটি এলিমেন্টের জন্য সর্বাধিক ২৫০টি প্লেস আইডিও ফেরত দেয়।

প্লেস আইডি এগুলির সাথে ব্যবহার করা যেতে পারে:

Places Count ফাংশন ব্যবহার করে কোয়েরি এক্সিকিউট করা

ফাংশন কল করার জন্য নিম্নলিখিত ফর্ম্যাট ব্যবহার করুন: [project name (optional)].[table name].[function name].

Places Insights সেট-আপ করার সময় আপনি লিঙ্ক করা ডেটাসেটের নাম পরিবর্তন করে থাকলে, ডিফল্ট টেবিলের নামের পরিবর্তে আপনার কাস্টম নাম ব্যবহার করুন। এছাড়াও, আপনি চাইলে আপনার প্রোজেক্টের নাম যোগ করতে পারেন। কোনওটি অন্তর্ভুক্ত না থাকলে, কোয়েরি ডিফল্ট হিসেবে অ্যাক্টিভ প্রোজেক্টে সেট হয়ে যায়।

যেমন:

PROJECT_NAME.places_insights___us.PLACES_COUNT_V2

ফাংশনে আর্গুমেন্ট পাস করতে JSON_OBJECT ব্যবহার করুন।

ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করা হয় এমন প্যারামিটার ব্যবহার করে কোয়েরি ফলাফল ফিল্টার করুন

আপনার সার্চ রিফাইন করার জন্য Places Count ফাংশন অনেক ফিল্টার সাপোর্ট করে। এইসব প্যারামিটার (যেমন, price_level বা types) ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করে এবং প্যারামিটারের নামের সাথে হুবহু মিলতে হবে। বিকল্পের সম্পূর্ণ তালিকার জন্য, ফিল্টার প্যারামিটার রেফারেন্স দেখুন।

snapshot_date-এর মাধ্যমে পুরনো স্ন্যাপশট কোয়েরি করা

ডিফল্ট হিসেবে, Places Count ফাংশন উপলভ্য সবচেয়ে সাম্প্রতিক ডেটা স্ন্যাপশট কোয়েরি করে। অতীতে কোনও নির্দিষ্ট মাসে জায়গার ডেটা যেমন ছিল তা বিশ্লেষণ করতে, আপনার JSON_OBJECT-এ ঐচ্ছিক snapshot_date প্যারামিটার যোগ করুন।

  • ফর্ম্যাট: YYYY-MM (যেমন, '2026-07')।
  • ডিফল্ট: বাদ দেওয়া হলে, ফাংশনটি অটোমেটিক লেটেস্ট স্ন্যাপশট কোয়েরি করে।

নিম্নলিখিত উদাহরণটি জুলাই ২০২৬-এর স্ন্যাপশটে রেকর্ড করা আপনার সার্চ করা এলাকার আশেপাশে রেস্তোরাঁর সংখ্যা কোয়েরি করে:

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'snapshot_date', '2026-07' -- Optional historical snapshot month
  )
);

পরবর্তী উদাহরণে, আপনি PLACES_COUNT_V2 ফাংশন ব্যবহার করে ন্যূনতম ব্যবহারকারী রেটিং, দামের লেভেল, ব্যবসার স্ট্যাটাস এবং রেস্তোরাঁতে কুকুর নিয়ে যাওয়ার অনুমতি আছে কিনা তার ভিত্তিতে সার্চ সীমিত করার জন্য ফিল্টার প্রয়োগ করেন।

প্রথমে, আপনার ইনপুট ভৌগোলিক টেবিল ব্যবহার করুন অথবা বেছে নেওয়া ভৌগোলিক অঞ্চলের সাথে একটি প্রস্তুত করুন:

-- Create a table for the input geographies
CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS (
  SELECT
    '1' AS geo_id, -- Unique identifier
    ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building
  UNION ALL
  SELECT
    '2' AS geo_id, -- Unique identifier
    ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square
);

এরপর, টেবিল এবং ফিল্টার সহ JSON অবজেক্টের সাথে PLACES_COUNT_V2 কল করুন। সার্চ রেডিয়াস JSON ফিল্টারে অন্তর্ভুক্ত করা হয়েছে এবং my_search_areas টেবিলের প্রতিটি পয়েন্টের আশেপাশে প্রয়োগ করা হবে।

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters around each point in 'geo'
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'min_rating', 1.3,
      'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'],
      'allows_dogs', TRUE
      )
);

উদাহরণ: PLACES_COUNT_V2-এর মাধ্যমে রেস্তোরাঁর সংখ্যা ও ব্র্যান্ড লোকেশন কোয়েরি করা

নিম্নলিখিত উদাহরণে কাস্টম ইনপুট geography টেবিল my_search_areas সহ PLACES_COUNT_V2 ফাংশন ব্যবহার করে জুলাই ২০২৬-এ নিউ ইয়র্ক সিটির এম্পায়ার স্টেট বিল্ডিং ও টাইমস স্কোয়ারের ১০০০ মিটারের মধ্যে কতগুলি রেস্তোরাঁ চালু আছে তা দেখানো হয়েছে:

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'snapshot_date', '2026-07'
      )
);

উত্তরে একটি BigQuery টেবিল পাওয়া যায় যাতে geo_id, ভৌগোলিক অবস্থান, সংখ্যা এবং স্থান আইডির একটি স্যাম্পেল থাকে।

নিউ ইয়র্ক সিটিতে Places Count ফাংশনের ফলাফল।

নিম্নলিখিত উদাহরণে নির্দিষ্ট ব্র্যান্ড আইডি অনুযায়ী ফিল্টার করতে PLACES_COUNT_V2 ফাংশন ব্যবহার করা হয়েছে। এই উদাহরণে, আমরা ব্র্যান্ড আইডি "1413758728321880760" ব্যবহার করে Starbucks লোকেশন ফিল্টার করি।

আপনি যে ব্র্যান্ডের আইডি ফিল্টার করতে চান, সেটি খুঁজতে আপনার ডেটাসেটের জন্য brands টেবিল কোয়েরি করুন (যেমন, places_insights___us.brands)। ব্র্যান্ড ডেটাসেট সম্পর্কে আরও জানতে, ব্র্যান্ড ডেটা ব্যবহার করে কোয়েরি লিখুন দেখুন।

যেমন, "Starbucks"-এর ব্র্যান্ড আইডি খুঁজতে:

SELECT id, name
FROM `PROJECT_NAME.places_insights___us.brands`
WHERE name = "Starbucks"

ব্র্যান্ড আইডি পাওয়ার পরে, আপনি নিম্নলিখিত কোয়েরিতে দেখানো উপায়ে brand_ids ফিল্টারে সেগুলি ব্যবহার করতে পারবেন:

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'brand_ids', ["1413758728321880760"]
      )
);

Google Cloud টুলের সাহায্যে কোয়েরি আউটপুট ভিজ্যুয়ালাইজ করা

বিশ্লেষণ এবং বিজনেস ইন্টেলিজেন্স টুল আপনাকে BigQuery ডেটা থেকে ইনসাইট খুঁজে পেতে সাহায্য করে। BigQuery একাধিক Google ও থার্ড-পার্টি ডেটা ভিজ্যুয়ালাইজেশন টুল সাপোর্ট করে, যা আপনি Places Insights ডেটায় আপনার ফাংশনের ফলাফল বিশ্লেষণ করতে ব্যবহার করতে পারেন।

কোনও ফাংশনের ফলাফল ভিজ্যুয়ালাইজ করার উদাহরণ দেখতে, PLACES_COUNT_PER_H3 রেফারেন্সের মধ্যে ফলাফল ভিজ্যুয়ালাইজ করুন বিকল্প দেখুন। Places Insights-এর ফলাফল ভিজ্যুয়ালাইজ করার ব্যাপারে আরও জানতে, কোয়েরির ফলাফল ভিজ্যুয়ালাইজ করুন দেখুন।

ফাংশনের সীমাবদ্ধতা ও প্রয়োজনীয়তা

Places Count ফাংশনের নিম্নলিখিত সীমাবদ্ধতা ও প্রয়োজনীয়তা আছে:

  • ফাংশনগুলি শুধুমাত্র COUNT ইনসাইট সমর্থন করে।
  • ৪০.০ মিটার বাই ৪০.০ মিটার (১৬০০ মি২) (৪০.০ মিটার বাই ৪০.০ মিটার / ১,৬০০ মি²) ন্যূনতম সার্চ এরিয়া প্রয়োজন।
  • প্যারামিটার ইনপুট সাইজের সীমা: ফাংশনে প্যারামিটার হিসেবে পাস করা JSON অবজেক্টের সাইজ ১ এমবির মধ্যে সীমিত। এই সীমার প্রভাব ফাংশন ভার্সনের উপর নির্ভর করে:
    • V2 ফাংশনের জন্য (PLACES_COUNT_V2, PLACES_COUNT_PER_TYPE_V2, PLACES_COUNT_CHANGE), এই সীমা শুধুমাত্র ফিল্টার JSON অবজেক্টের ক্ষেত্রে প্রযোজ্য। যেহেতু ভৌগোলিক অঞ্চলগুলি একটি টেবিল প্যারামিটার ব্যবহার করে আলাদাভাবে প্রদান করা হয়, তাই এই ফাংশনগুলি JSON সাইজের সীমায় না পৌঁছেই অনেক বেশি সংখ্যক ইনপুট ভৌগোলিক অঞ্চলে স্কেল করতে পারে।
    • PLACES_COUNT_PER_H3, PLACES_COUNT, PLACES_COUNT_PER_TYPE এবং PLACES_COUNT_PER_GEO-এর জন্য, এই সীমা সম্পূর্ণ JSON অবজেক্টের ক্ষেত্রে প্রযোজ্য, যার মধ্যে সব ভৌগোলিক সংজ্ঞা অন্তর্ভুক্ত। এর ফলে, একটি কলে প্রসেস করা যায় এমন ভৌগোলিক অঞ্চলের সংখ্যা সীমিত হতে পারে।
  • প্লেস আইডি বা অ্যাড্রেস কম্পোনেন্ট অনুযায়ী ফিল্টার করার সুবিধা নেই।
  • আপনি যেসব শহর ও দেশের জন্য সাবস্ক্রাইব করেছেন, শুধুমাত্র সেগুলির জন্য 'জায়গার সংখ্যা' ফাংশন অ্যাক্সেস করতে পারবেন। ডেটাসেট অ্যাক্সেস করতে জায়গা সম্পর্কে ইনসাইট সেট-আপ করুন বিকল্প দেখুন।
  • ফিল্টার প্যারামিটার (যেমন, geography বা types) ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করে এবং প্যারামিটারের নামের সাথে হুবহু মিলতে হবে, অন্যথায় কোয়েরি কাজ করবে না।