এই ডকুমেন্টে, আপনি শিখবেন কিভাবে Places Insights থেকে নমুনা Place ID ডেটা ব্যবহার করতে হয়, Place Count Functions ব্যবহার করে, লক্ষ্যবস্তু Place Details লুকআপের পাশাপাশি আপনার ফলাফলের উপর আস্থা তৈরি করতে।
এই প্যাটার্নের বিস্তারিত রেফারেন্স বাস্তবায়নের জন্য, এই ব্যাখ্যামূলক নোটবুকটি দেখুন।

স্থাপত্য নকশা
এই স্থাপত্য নকশাটি আপনাকে উচ্চ-স্তরের পরিসংখ্যানগত বিশ্লেষণ এবং স্থল-সত্য যাচাইয়ের মধ্যে ব্যবধান পূরণ করার জন্য একটি পুনরাবৃত্তিযোগ্য কর্মপ্রবাহ দেয়। BigQuery এর স্কেল এবং Places API এর নির্ভুলতা একত্রিত করে, আপনি আত্মবিশ্বাসের সাথে আপনার বিশ্লেষণাত্মক ফলাফলগুলি যাচাই করতে পারেন। এটি বিশেষ করে সাইট নির্বাচন, প্রতিযোগী বিশ্লেষণ এবং বাজার গবেষণার জন্য কার্যকর যেখানে ডেটার উপর আস্থা সবচেয়ে গুরুত্বপূর্ণ।
এই প্যাটার্নের মূল অংশে চারটি মূল ধাপ রয়েছে:
- বৃহৎ-স্কেল বিশ্লেষণ সম্পাদন করুন: একটি বৃহৎ ভূগোল, যেমন একটি সম্পূর্ণ শহর বা অঞ্চলের উপর স্থানের ডেটা বিশ্লেষণ করতে BigQuery-তে স্থানের অন্তর্দৃষ্টি থেকে স্থান গণনা ফাংশন ব্যবহার করুন।
- নমুনা আলাদা করুন এবং বের করুন: সমষ্টিগত ফলাফল থেকে আগ্রহের ক্ষেত্রগুলি (যেমন, উচ্চ ঘনত্বের "হটস্পট") চিহ্নিত করুন এবং ফাংশন দ্বারা প্রদত্ত
sample_place_idsবের করুন। - গ্রাউন্ড-ট্রুথ ডিটেইলস পুনরুদ্ধার করুন: এক্সট্র্যাক্ট করা প্লেস আইডি ব্যবহার করে প্লেস ডিটেইলস এপিআই -তে টার্গেটেড কল করুন এবং প্রতিটি জায়গার জন্য সমৃদ্ধ, বাস্তব-বিশ্বের বিবরণ আনুন।
- একটি সম্মিলিত ভিজ্যুয়ালাইজেশন তৈরি করুন: প্রাথমিক উচ্চ-স্তরের পরিসংখ্যানগত মানচিত্রের উপরে স্থানের বিস্তারিত তথ্য স্তরে
সমাধান কর্মপ্রবাহ
এই কর্মপ্রবাহ আপনাকে ম্যাক্রো-লেভেল ট্রেন্ড এবং মাইক্রো-লেভেল তথ্যের মধ্যে ব্যবধান পূরণ করতে সাহায্য করে। আপনি একটি বিস্তৃত, পরিসংখ্যানগত দৃষ্টিভঙ্গি দিয়ে শুরু করেন এবং নির্দিষ্ট, বাস্তব-বিশ্বের উদাহরণ দিয়ে ডেটা যাচাই করার জন্য কৌশলগতভাবে ড্রিল ডাউন করেন।
স্থানের অন্তর্দৃষ্টি সহ স্কেলে স্থানের ঘনত্ব বিশ্লেষণ করুন
আপনার প্রথম পদক্ষেপ হল উচ্চ স্তরে ভূদৃশ্য বোঝা। হাজার হাজার স্বতন্ত্র আগ্রহের পয়েন্ট (POI) আনার পরিবর্তে, আপনি একটি পরিসংখ্যানগত সারাংশ পেতে একটি একক কোয়েরি চালাতে পারেন।
Places Insights PLACES_COUNT_PER_H3 ফাংশনটি এর জন্য আদর্শ। এটি POI গণনাগুলিকে একটি ষড়ভুজাকার গ্রিড সিস্টেমে (H3) একত্রিত করে, যা আপনাকে আপনার নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে উচ্চ বা নিম্ন ঘনত্বের এলাকাগুলি দ্রুত সনাক্ত করতে দেয় (যেমন, উচ্চ রেটিং সহ রেস্তোরাঁগুলি যা কার্যকর)।
একটি উদাহরণ কোয়েরি নিম্নরূপ। মনে রাখবেন যে আপনাকে আপনার অনুসন্ধান এলাকার ভূগোল প্রদান করতে হবে। ভৌগোলিক সীমানা ডেটা পুনরুদ্ধারের জন্য একটি উন্মুক্ত ডেটাসেট, যেমন ওভারচার ম্যাপস ডেটা বিগকুয়েরি পাবলিক ডেটাসেট ব্যবহার করা যেতে পারে।
ঘন ঘন ব্যবহৃত ওপেন ডেটাসেট সীমানার জন্য, আমরা আপনার নিজস্ব প্রকল্পের একটি টেবিলে সেগুলিকে বাস্তবায়িত করার পরামর্শ দিচ্ছি। এটি BigQuery খরচ উল্লেখযোগ্যভাবে হ্রাস করে এবং কোয়েরির কর্মক্ষমতা উন্নত করে।
-- This query counts all highly-rated, operational restaurants
-- across a large geography, grouping them into H3 cells.
SELECT *
FROM
`places_insights___gb.PLACES_COUNT_PER_H3`(
JSON_OBJECT(
'geography', your_defined_geography,
'h3_resolution', 8,
'types', ['restaurant'],
'business_status', ['OPERATIONAL'],
'min_rating', 3.5
)
);
এই কোয়েরির আউটপুট আপনাকে H3 কোষের একটি টেবিল এবং প্রতিটির মধ্যে স্থানের গণনা দেয়, যা একটি ঘনত্বের তাপম্যাপের ভিত্তি তৈরি করে।

হটস্পট বিচ্ছিন্ন করুন এবং নমুনা স্থানের আইডি বের করুন
PLACES_COUNT_PER_H3 ফাংশনের ফলাফলটি sample_place_ids এর একটি অ্যারেও প্রদান করে, যা প্রতিক্রিয়ার প্রতিটি উপাদানের জন্য সর্বোচ্চ 250টি Place ID। এই IDগুলি হল সমষ্টিগত পরিসংখ্যান থেকে এতে অবদান রাখে এমন পৃথক স্থানের লিঙ্ক।
আপনার সিস্টেম প্রথমে প্রাথমিক কোয়েরি থেকে সবচেয়ে প্রাসঙ্গিক কোষগুলি সনাক্ত করতে পারে। উদাহরণস্বরূপ, আপনি সর্বোচ্চ সংখ্যা সহ শীর্ষ ২০টি কোষ নির্বাচন করতে পারেন। তারপর, এই হটস্পটগুলি থেকে, আপনি sample_place_ids কে একটি একক তালিকায় একত্রিত করেন। এই তালিকাটি সবচেয়ে প্রাসঙ্গিক ক্ষেত্রগুলি থেকে সবচেয়ে আকর্ষণীয় POI গুলির একটি কিউরেটেড নমুনা উপস্থাপন করে, যা আপনাকে লক্ষ্যবস্তু যাচাইয়ের জন্য প্রস্তুত করে।
যদি আপনি Python-এ pandas DataFrame ব্যবহার করে আপনার BigQuery ফলাফল প্রক্রিয়াকরণ করেন, তাহলে এই আইডিগুলি বের করার যুক্তিটি সহজ:
# Assume 'results_df' is a pandas DataFrame from your BigQuery query.
# 1. Identify the 20 busiest H3 cells by sorting and taking the top results.
top_hotspots_df = results_df.sort_values(by='count', ascending=False).head(20)
# 2. Extract and flatten the lists of sample_place_ids from these hotspots.
# The .explode() function creates a new row for each ID in the lists.
all_sample_ids = top_hotspots_df['sample_place_ids'].explode()
# 3. Create a final list of unique Place IDs to verify.
place_ids_to_verify = all_sample_ids.unique().tolist()
print(f"Consolidated {len(place_ids_to_verify)} unique Place IDs for spot-checking.")
অন্যান্য প্রোগ্রামিং ভাষা ব্যবহার করলেও একই রকম যুক্তি প্রয়োগ করা যেতে পারে।
প্লেসেস এপিআই ব্যবহার করে গ্রাউন্ড-ট্রুথ ডিটেইলস পুনরুদ্ধার করুন
আপনার স্থান আইডির একত্রিত তালিকার মাধ্যমে, আপনি এখন বৃহৎ-স্কেল বিশ্লেষণ থেকে নির্দিষ্ট ডেটা পুনরুদ্ধারে রূপান্তরিত হবেন। প্রতিটি নমুনা অবস্থানের বিস্তারিত তথ্যের জন্য স্থান বিবরণী API অনুসন্ধান করতে আপনি এই আইডিগুলি ব্যবহার করবেন।
এটি একটি গুরুত্বপূর্ণ যাচাইকরণ পদক্ষেপ। যেখানে Places Insights আপনাকে বলে যে কোন এলাকায় কতগুলি রেস্তোরাঁ রয়েছে, সেখানে Places API আপনাকে বলে যে কোন রেস্তোরাঁগুলি, তাদের নাম, সঠিক ঠিকানা, অক্ষাংশ/দ্রাঘিমাংশ, ব্যবহারকারীর রেটিং এবং এমনকি Google Maps-এ তাদের অবস্থানের সরাসরি লিঙ্ক প্রদান করে। এটি আপনার নমুনা ডেটা সমৃদ্ধ করে, বিমূর্ত আইডিগুলিকে সুনির্দিষ্ট, যাচাইযোগ্য স্থানে পরিণত করে।
Place Details API থেকে উপলব্ধ ডেটার সম্পূর্ণ তালিকা এবং পুনরুদ্ধারের সাথে সম্পর্কিত খরচের জন্য, API ডকুমেন্টেশন পর্যালোচনা করুন ।
Python ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি নির্দিষ্ট আইডির জন্য Places API-এর কাছে অনুরোধ করলে তা দেখতে এরকম হবে। আরও বিস্তারিত জানার জন্য Places API (নতুন) ক্লায়েন্ট লাইব্রেরির উদাহরণ দেখুন।
# A request to fetch details for a single Place ID.
request = {"name": f"places/{place_id}"}
# Define the fields you want returned in the response as a comma-separated string.
fields_to_request = "formattedAddress,location,displayName,googleMapsUri"
# The response contains ground truth data.
response = places_client.get_place(
request=request,
metadata=[("x-goog-fieldmask", fields_to_request)]
)
মনে রাখবেন যে এই অনুরোধের ক্ষেত্রগুলি দুটি ভিন্ন বিলিং SKU থেকে ডেটা সংগ্রহ করে।
-
formattedAddressএবংlocationস্থানের বিবরণ অপরিহার্য SKU- এর অংশ। -
displayNameএবংgoogleMapsUriহল Place Details Pro SKU এর অংশ।
যখন একটি একক স্থান বিবরণী অনুরোধে একাধিক SKU থেকে ক্ষেত্র অন্তর্ভুক্ত থাকে, তখন সম্পূর্ণ অনুরোধটি সর্বোচ্চ-স্তরের SKU-এর হারে বিল করা হয়। অতএব, এই নির্দিষ্ট কলটি স্থান বিবরণী প্রো অনুরোধ হিসাবে বিল করা হবে।
আপনার খরচ নিয়ন্ত্রণ করতে, সর্বদা FieldMask ব্যবহার করে শুধুমাত্র আপনার আবেদনের জন্য প্রয়োজনীয় ক্ষেত্রগুলি অনুরোধ করুন।
যাচাইকরণের জন্য একটি সম্মিলিত ভিজ্যুয়ালাইজেশন তৈরি করুন
চূড়ান্ত ধাপ হল উভয় ডেটাসেটকে একটি একক ভিউতে একত্রিত করা। এটি আপনার প্রাথমিক বিশ্লেষণকে স্পট-চেক করার জন্য একটি তাৎক্ষণিক এবং স্বজ্ঞাত উপায় প্রদান করে। আপনার ভিজ্যুয়ালাইজেশনের দুটি স্তর থাকা উচিত:
- বেস লেয়ার: প্রাথমিক
PLACES_COUNT_PER_H3ফলাফল থেকে তৈরি একটি কোরোপ্লেথ বা হিটম্যাপ, যা আপনার ভূগোল জুড়ে স্থানগুলির সামগ্রিক ঘনত্ব দেখায়। - শীর্ষ স্তর: প্রতিটি নমুনা POI-এর জন্য পৃথক চিহ্নিতকারীর একটি সেট, পূর্ববর্তী ধাপে Places API থেকে প্রাপ্ত সুনির্দিষ্ট স্থানাঙ্ক ব্যবহার করে প্লট করা হয়েছে।
এই সম্মিলিত দৃশ্য তৈরির যুক্তি এই ছদ্ম-কোড উদাহরণে প্রকাশ করা হয়েছে:
# Assume 'h3_density_data' is your aggregated data from Step 1.
# Assume 'detailed_places_data' is your list of place objects from Step 3.
# Create the base choropleth map from the H3 density data.
# The 'count' column determines the color of each hexagon.
combined_map = create_choropleth_map(
data=h3_density_data,
color_by_column='count'
)
# Iterate through the detailed place data to add individual markers.
for place in detailed_places_data:
# Construct the popup information with key details and a link.
popup_html = f"""
<b>{place.name}</b><br>
Address: {place.address}<br>
<a href="{place.google_maps_uri}" target="_blank">View on Maps</a>
"""
# Add a marker for the current place to the base map.
combined_map.add_marker(
location=[place.latitude, place.longitude],
popup=popup_html,
tooltip=place.name
)
# Display the final map with both layers.
display(combined_map)
উচ্চ-স্তরের ঘনত্বের মানচিত্রে নির্দিষ্ট, স্থল-সত্য চিহ্নিতকারীগুলিকে ওভারলে করে, আপনি তাৎক্ষণিকভাবে নিশ্চিত করতে পারেন যে হটস্পট হিসাবে চিহ্নিত অঞ্চলগুলিতে, প্রকৃতপক্ষে, আপনি যে স্থানগুলি বিশ্লেষণ করছেন তার উচ্চ ঘনত্ব রয়েছে। এই চাক্ষুষ নিশ্চিতকরণ আপনার ডেটা-চালিত সিদ্ধান্তের উপর উল্লেখযোগ্য আস্থা তৈরি করে।
উপসংহার
এই স্থাপত্য নকশাটি বৃহৎ-স্কেল ভূ-স্থানিক অন্তর্দৃষ্টি যাচাই করার জন্য একটি শক্তিশালী এবং দক্ষ পদ্ধতি প্রদান করে। বিস্তৃত, স্কেলেবল বিশ্লেষণের জন্য Places Insights এবং লক্ষ্যবস্তু, স্থল-সত্য যাচাইয়ের জন্য Place Details API ব্যবহার করে, আপনি একটি শক্তিশালী প্রতিক্রিয়া লুপ তৈরি করেন। এটি নিশ্চিত করে যে আপনার কৌশলগত সিদ্ধান্তগুলি, খুচরা সাইট নির্বাচন বা লজিস্টিক পরিকল্পনার ক্ষেত্রে, কেবল পরিসংখ্যানগতভাবে গুরুত্বপূর্ণ নয় বরং যাচাইযোগ্যভাবে সঠিক ডেটার উপর ভিত্তি করে।
পরবর্তী পদক্ষেপ
- অন্যান্য স্থান গণনা ফাংশনগুলি কীভাবে বিভিন্ন বিশ্লেষণাত্মক প্রশ্নের উত্তর দিতে পারে তা দেখতে অন্বেষণ করুন।
- আপনার বিশ্লেষণকে আরও সমৃদ্ধ করার জন্য অনুরোধ করা অন্যান্য ক্ষেত্রগুলি আবিষ্কার করতে Places API ডকুমেন্টেশন পর্যালোচনা করুন।
অবদানকারীরা
হেনরিক ভালভ | ডেভএক্স ইঞ্জিনিয়ার