প্লেসেস কাউন্ট ফাংশনগুলো হলো পূর্বনির্ধারিত SQL কোয়েরি যা BigQuery-তে চলে এবং প্লেসেস ইনসাইটস ডেটাসেট থেকে সঠিক সংখ্যা ও প্লেস আইডি পাওয়ার জন্য এটিই প্রস্তাবিত পদ্ধতি। যদিও আপনি সরাসরি ডেটাসেটটি কোয়েরি করতে পারেন, এই দুটি কোয়েরি পদ্ধতি প্রাইভেসি থ্রেশহোল্ড এবং সার্চ এরিয়াগুলো নিয়ন্ত্রণ করে।
স্থান গণনা ফাংশনগুলো ০ সহ যেকোনো সংখ্যা ফেরত দিতে পারে, তবে এটি সর্বনিম্ন ৪০.০ মিটার বাই ৪০.০ মিটার (১৬০০ মি² ) (৪০.০ মিটার বাই ৪০.০ মিটার / ১,৬০০ মি²) এলাকা অনুসন্ধানে বাধ্য করে। ফাংশনগুলো স্থান আইডি-ও ফেরত দেয়, যা ব্যবহার করে স্বতন্ত্র স্থান সম্পর্কে তথ্য খোঁজা যায়।
প্লেস ডেটাসেট কোয়েরিগুলো শুধুমাত্র ৫ বা তার বেশি সংখ্যাই ফেরত দিতে পারে (ডিফারেনশিয়াল প্রাইভেসি বজায় রাখার জন্য ০-৪ এর মতো কম সংখ্যা বাদ দিয়ে), কিন্তু অনুসন্ধান এলাকার আকারের উপর কোনো সীমাবদ্ধতা আরোপ করে না।
জটিল স্থানিক বিশ্লেষণ করার প্রয়োজন না হলে, আমরা PLACES_COUNT_PER_H3 এর মতো প্লেসেস কাউন্ট ফাংশন দিয়ে শুরু করার পরামর্শ দিই। এটি প্রমিত গ্রিড সেল জুড়ে তাৎক্ষণিক স্থানিক ঘনত্বের ধারণা দেয়, গ্রাউন্ড-ট্রুথ যাচাইয়ের জন্য প্লেস আইডি ফেরত দেয় এবং এটি বিশেষভাবে জিওস্পেশিয়াল ফিচার ইঞ্জিনিয়ারিং ও এমএল মডেলের জন্য তৈরি।
সর্বোত্তম স্থান গণনা ফাংশনটি নির্বাচন করুন
Places Insights বেশ কিছু স্থানিক ফাংশন সমর্থন করে। অপ্টিমাইজড কোয়েরি এক্সিকিউশন, প্যারালাল প্রসেসিং এবং ব্যাচ স্কেলেবিলিটির জন্য, আমরা নিম্নলিখিত ফাংশনগুলি ব্যবহার করার পরামর্শ দিই:
-
PLACES_COUNT_PER_H3: প্রতিটি H3 সেলের জন্য স্থানের সংখ্যাসহ একটি BigQuery টেবিল ফেরত দেয়। আঞ্চলিক ঘনত্ব বিশ্লেষণ এবং কোরোপ্লেথ হিটম্যাপিংয়ের জন্য এই ফাংশনটি ব্যবহার করার পরামর্শ দেওয়া হয়। -
PLACES_COUNT_V2: স্থানের সংখ্যা এবং নমুনা স্থান আইডি সম্বলিত একটি টেবিল ফেরত দেয়। এই ফাংশনটি আপনার ইনপুট করা ভৌগোলিক এলাকা সম্বলিত একটি টেবিল প্যারামিটার গ্রহণ করে। সরাসরি একটি সম্পূর্ণ টেবিল পাস করার মাধ্যমে, BigQuery এক্সিকিউশন ইঞ্জিন কাজের চাপ ভাগ করে নিতে পারে এবং স্থানিক ছেদগুলোকে সমান্তরালভাবে প্রক্রিয়া করতে পারে, যা বৃহৎ পরিসরের বিশ্লেষণের জন্য অত্যন্ত দক্ষ ব্যাচ প্রসেসিং সক্ষম করে। -
PLACES_COUNT_PER_TYPE_V2: স্থানের প্রকার অনুযায়ী শ্রেণীবদ্ধ করে স্থানের সংখ্যা এবং নমুনা স্থান আইডি-র একটি সারণী ফেরত দেয়।PLACES_COUNT_V2এর মতোই, আপনার ইনপুট ভৌগোলিক অঞ্চলগুলিকে একটি টেবিল প্যারামিটার হিসাবে পাস করলে BigQuery বৃহৎ ডেটাসেট জুড়ে স্থানিক ছেদগুলিকে স্বাভাবিকভাবেই সমান্তরাল করতে পারে।
স্থানের সংখ্যার পাশাপাশি, এই ফাংশনগুলো রেসপন্সের প্রতিটি উপাদানের জন্য ২৫০টি পর্যন্ত প্লেস আইডি ফেরত দেয়।
স্থান আইডি নিম্নলিখিত ক্ষেত্রে ব্যবহার করা যেতে পারে:
Places Count ফাংশন ব্যবহার করে কোয়েরি চালান।
ফাংশনগুলো কল করার জন্য নিম্নলিখিত ফরম্যাটটি ব্যবহার করুন: [project name (optional)].[table name].[function name] ।
প্লেসেস ইনসাইটস সেট আপ করার সময় আপনি যদি লিঙ্ক করা ডেটাসেটের নাম পরিবর্তন করে থাকেন, তাহলে ডিফল্ট টেবিলের নামগুলোর পরিবর্তে আপনার নিজস্ব নামটি ব্যবহার করুন। আপনি চাইলে আপনার প্রজেক্টের নামও অন্তর্ভুক্ত করতে পারেন। যদি কোনো নাম অন্তর্ভুক্ত না করা হয়, তাহলে কোয়েরিটি ডিফল্টভাবে সক্রিয় প্রজেক্টটিকে ব্যবহার করবে।
উদাহরণস্বরূপ:
PROJECT_NAME.places_insights___us.PLACES_COUNT_V2
ফাংশনে আর্গুমেন্ট পাস করার জন্য একটি JSON_OBJECT ব্যবহার করুন।
কেস-সেনসিটিভ প্যারামিটার ব্যবহার করে কোয়েরির ফলাফল ফিল্টার করুন
আপনার অনুসন্ধানকে আরও পরিমার্জিত করার জন্য প্লেসেস কাউন্ট ফাংশন অনেকগুলো ফিল্টার সমর্থন করে। এই প্যারামিটারগুলো (উদাহরণস্বরূপ, price_level বা types ) কেস-সেনসিটিভ এবং প্যারামিটারের নামের সাথে হুবহু মিলতে হবে। বিকল্পগুলোর সম্পূর্ণ তালিকার জন্য, ফিল্টার প্যারামিটার রেফারেন্স দেখুন।
পরবর্তী উদাহরণে, আপনি 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 ব্যবহার করে রেস্তোরাঁর সংখ্যা এবং ব্র্যান্ডের অবস্থান অনুসন্ধান করুন।
নিম্নলিখিত উদাহরণটি নিউ ইয়র্ক সিটির এম্পায়ার স্টেট বিল্ডিং এবং টাইমস স্কোয়ারের ১০০০ মিটারের মধ্যে চালু থাকা রেস্তোরাঁর সংখ্যা বের করার জন্য কাস্টম ইনপুট জিওগ্রাফি টেবিল 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"] ) );
প্রতিক্রিয়াটি একটি BigQuery টেবিল, যাতে geo_id , geography, count এবং Place ID-গুলির একটি নমুনা থাকে।

নিম্নলিখিত উদাহরণটি নির্দিষ্ট ব্র্যান্ড আইডি দ্বারা ফিল্টার করার জন্য PLACES_COUNT_V2 ফাংশন ব্যবহার করে। এই উদাহরণে, আমরা "1413758728321880760" ব্র্যান্ড আইডি ব্যবহার করে স্টারবাকস লোকেশনগুলি ফিল্টার করি।
আপনি যে ব্র্যান্ডগুলো দিয়ে ফিল্টার করতে চান, সেগুলোর ব্র্যান্ড আইডি খুঁজে পেতে আপনার ডেটাসেটের জন্য brands টেবিলটি কোয়েরি করুন (উদাহরণস্বরূপ, places_insights___us.brands )। brands ডেটাসেট সম্পর্কে আরও তথ্যের জন্য, "Write a query using brands data" দেখুন।
উদাহরণস্বরূপ, 'স্টারবাকস'-এর ব্র্যান্ড আইডি খুঁজে বের করতে:
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"] ) );
গুগল ক্লাউড টুলস ব্যবহার করে কোয়েরি আউটপুট ভিজ্যুয়ালাইজ করুন
বিশ্লেষণ এবং ব্যবসায়িক বুদ্ধিমত্তার সরঞ্জামগুলি আপনাকে আপনার BigQuery ডেটা থেকে গুরুত্বপূর্ণ তথ্য খুঁজে পেতে সাহায্য করে। BigQuery বেশ কিছু গুগল এবং তৃতীয় পক্ষের ডেটা ভিজ্যুয়ালাইজেশন টুল সমর্থন করে, যা আপনি Places Insights ডেটার উপর আপনার ফাংশনগুলির ফলাফল বিশ্লেষণ করতে ব্যবহার করতে পারেন।
কোনো ফাংশনের ফলাফল ভিজ্যুয়ালাইজ করার একটি উদাহরণের জন্য, PLACES_COUNT_PER_H3 রেফারেন্সের মধ্যে থাকা 'Visualize results' দেখুন। Places Insights-এর ফলাফল ভিজ্যুয়ালাইজ করার বিষয়ে আরও তথ্যের জন্য, 'Visualize query results' দেখুন।
কার্যকারিতার সীমাবদ্ধতা এবং প্রয়োজনীয়তা
স্থান গণনা ফাংশনগুলির নিম্নলিখিত সীমাবদ্ধতা এবং প্রয়োজনীয়তা রয়েছে:
- ফাংশনগুলো শুধুমাত্র
COUNTইনসাইট সমর্থন করে। - ন্যূনতম ৪০.০ মিটার × ৪০.০ মিটার (১৬০০ মি² ) (৪০.০ মিটার × ৪০.০ মিটার / ১,৬০০ মি²) আকারের একটি অনুসন্ধান এলাকা প্রয়োজন।
- প্যারামিটার ইনপুট আকারের সীমা: ফাংশনগুলিতে প্যারামিটার হিসাবে পাঠানো JSON অবজেক্টের সীমা ১ মেগাবাইট। এই সীমার প্রভাব ফাংশনের সংস্করণের উপর নির্ভর করে:
- V2 ফাংশনগুলোর (
PLACES_COUNT_V2,PLACES_COUNT_PER_TYPE_V2) ক্ষেত্রে, এই সীমাটি শুধুমাত্র ফিল্টার JSON অবজেক্টের জন্য প্রযোজ্য। যেহেতু একটি টেবিল প্যারামিটার ব্যবহার করে ভৌগোলিক অঞ্চলগুলো আলাদাভাবে সরবরাহ করা হয়, তাই এই ফাংশনগুলো JSON আকারের সীমায় না পৌঁছেই আরও অনেক বেশি সংখ্যক ইনপুট ভৌগোলিক অঞ্চলের জন্য কাজ করতে পারে। -
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPE, এবংPLACES_COUNT_PER_GEOক্ষেত্রে , এই সীমাটি সমস্ত ভৌগোলিক সংজ্ঞা সহ সম্পূর্ণ JSON অবজেক্টের উপর প্রযোজ্য। এর ফলে একটি একক কলে প্রক্রিয়া করা যেতে পারে এমন ভৌগোলিক অঞ্চলের সংখ্যা সীমিত হতে পারে।
- V2 ফাংশনগুলোর (
- স্থান আইডি, ইভি চার্জ বিকল্প বা ঠিকানার উপাদান দ্বারা ফিল্টার করার সুবিধা নেই।
- আপনি শুধুমাত্র সেইসব শহর এবং দেশের জন্য প্লেসেস কাউন্ট ফাংশনগুলো অ্যাক্সেস করতে পারবেন যেগুলোতে আপনি সাবস্ক্রাইব করেছেন। ডেটাসেট অ্যাক্সেসের জন্য ‘সেট আপ প্লেসেস ইনসাইটস’ দেখুন।
- ফিল্টার প্যারামিটারগুলো (যেমন,
geographyবাtypes) কেস-সেনসিটিভ এবং প্যারামিটারের নামগুলোর সাথে হুবহু মিলতে হবে, অন্যথায় কোয়েরিটি ব্যর্থ হবে।