توابع شمارش مکان، روش دیگری برای جستجوی دادههای Places موجود در Places Insights هستند. این توابع، کوئریهای SQL از پیش تعریفشدهای هستند که در BigQuery اجرا میشوند و مکمل کوئریهای دادههای places هستند. تفاوت اصلی این است که توابع، حداقل آستانه شمارش را اعمال نمیکنند، بلکه حداقل ناحیه جستجو را اعمال میکنند:
پرسوجوهای مجموعه دادههای مکانی فقط میتوانند تعداد بالاتر از ۵ را برگردانند، اما هیچ محدودیتی در اندازه ناحیه جستجو اعمال نمیکنند.
توابع شمارش مکان میتوانند هر تعداد عددی، از جمله صفر، را برگردانند، اما حداقل مساحت جستجو را ۴۰.۰ متر در ۴۰.۰ متر (۱۶۰۰ متر مربع ) اعمال میکنند.
اگر مهم است بدانید چه زمانی یک پرسوجو نتیجهای نمیدهد یا اگر نیاز به دانستن تعداد کم مکانها زیر ۵ دارید، ممکن است بخواهید از توابع شمارش مکان استفاده کنید. برای مثال، توانایی بازگرداندن تعداد کم برای موارد استفاده از انتخاب سایت مهم است.
توابع شمارش مکان و کشورها پشتیبانی شده
Places Insights از عملکردهای زیر پشتیبانی میکند:
-
PLACES_COUNT: یک ردیف واحد شامل تعداد مکانها را برمیگرداند. -
PLACES_COUNT_PER_TYPE: یک جدول BigQuery از تعداد مکانها بر اساس نوع مکان را برمیگرداند. -
PLACES_COUNT_PER_GEO: یک جدول BigQuery از تعداد مکانها به ازای هر منطقه جغرافیایی را برمیگرداند. -
PLACES_COUNT_PER_H3: یک جدول BigQuery از تعداد مکانها در هر سلول H3 را برمیگرداند.
همراه با شمارش مکانها، توابع PLACES_COUNT_PER_TYPE ، PLACES_COUNT_PER_GEO و PLACES_COUNT_PER_H3 نیز تا ۲۵۰ شناسه مکان را برای هر عنصر از پاسخ برمیگردانند.
شناسههای مکان را میتوان با موارد زیر استفاده کرد:
برای لیست کامل شهرها و کشورهای پشتیبانی شده، به توابع شمارش مکان مرجع در BigQuery مراجعه کنید.
نوشتن کوئری با توابع
اگر هنگام تنظیم Places Insights نام مجموعه داده پیوند شده را تغییر دادهاید، از نام دلخواه خود به جای نامهای پیشفرض جدول که در اینجا فهرست شدهاند استفاده کنید. همچنین میتوانید به صورت اختیاری نام پروژه خود را نیز وارد کنید. اگر نامی وارد نشود، کوئری به طور پیشفرض روی پروژه فعال اجرا میشود. برای مثال [project name].[dataset name].places_sample.PLACES_COUNT .
مثال تابع شمارش مکان
مثال زیر از تابع PLACES_COUNT برای بازگرداندن تعداد رستورانهای فعال در محدوده ۱۰۰۰ متری ساختمان امپایر استیت در شهر نیویورک استفاده میکند:
SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) ) as count;
پاسخ شامل یک شمارش واحد است:

در این مثال، دستور SELECT با استفاده از سینتکس زیر به تابع PLACES_COUNT برای ایالات متحده ارجاع میدهد:
PROJECT_NAME.places_insights___us.PLACES_COUNT
برای لیست کامل شهرها و کشورهای پشتیبانی شده، به توابع شمارش مکان مرجع در BigQuery مراجعه کنید.
از یک JSON_OBJECT برای ارسال آرگومانها به تابع استفاده کنید. این مثال از تابع BigQuery ST_GEOGPOINT برای بازگرداندن مقدار GEOGRAPHY از یک نقطه استفاده میکند و سپس آن مقدار را به پارامتر geography ارسال میکند. همچنین شعاع جستجو در اطراف نقطه و نوع مکان، "restaurant" ، را برای جستجو ارسال میکند.
تعداد مکانها به ازای هر نوع، موقعیت جغرافیایی یا مثال H3
همراه با شمارش مکانها، توابع PLACES_COUNT_PER_TYPE ، PLACES_COUNT_PER_GEO و PLACES_COUNT_PER_H3 نیز تا ۲۵۰ شناسه مکان را برای مکانهای موجود در پاسخ برمیگردانند.
برای مثال، تابع PLACES_COUNT_PER_TYPE جدولی از تعداد مکانها به ازای هر نوع مکان را برمیگرداند. در پاسخ، آرایهای از شناسههای مکان برای مکانهایی که با هر نوع مطابقت دارند، گنجانده شده است. میتوانید از شناسههای مکان برگردانده شده برای جستجوی اطلاعات مربوط به هر مکان استفاده کنید.
فراخوانی تابع زیر تعدادی مکان با انواع: restaurant ، cafe و bar را برمیگرداند:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'types', ["restaurant", "cafe", "bar"], 'business_status', ['OPERATIONAL'] ) );
این تابع یک جدول با سه ستون برمیگرداند: type ، count و sample_place_ids . ستونهای count تعداد مکانها را برای هر type نشان میدهند و ستون sample_place_ids تا ۲۵۰ شناسه مکان را برای هر type نشان میدهد.

اعمال فیلترها روی تابع
برای محدود کردن معیارهای جستجوی خود، فیلترها را اعمال کنید. توابع شمارش مکان از فیلترهای زیادی برای اصلاح جستجوی شما پشتیبانی میکنند. در مثال بعدی، فیلترها را برای محدود کردن جستجو بر اساس حداقل امتیاز کاربر، سطح قیمت، وضعیت کسب و کار و اینکه آیا رستوران اجازه ورود سگ را میدهد یا خیر، اعمال میکنید:
SELECT `PROJECT_NAME.places_insights___us.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) ) as count;
نتایج را تجسم کنید
ابزارهای تحلیل و هوش تجاری برای کمک به شما در کشف بینش از دادههای BigQuery بسیار مهم هستند. BigQuery از چندین ابزار تجسم دادههای گوگل و شخص ثالث پشتیبانی میکند که میتوانید از آنها برای تحلیل نتایج توابع خود در دادههای Places Insights استفاده کنید.
برای مثالی از مصورسازی نتایج یک تابع، به Visualize results مراجعه کنید. برای اطلاعات بیشتر و مثالی در مورد مصورسازی نتایج Places Insights، به Visualize query results مراجعه کنید.
محدودیتها و الزامات
توابع شمارش مکان محدودیتها و الزامات زیر را دارند:
- فقط بینشهای
COUNTپشتیبانی میشوند. - حداقل مساحت جستجو ۴۰ متر در ۴۰ متر (۱۶۰۰ متر مربع ) مورد نیاز است.
- اندازه ورودی پارامتر شمارش تابع، حداکثر ۱ مگابایت است.
- از فیلتر کردن بر اساس شناسه مکان یا مؤلفه آدرس پشتیبانی نمیکند.
توابع شمارش مکان و پرسوجوهای مجموعه دادههای مکانی را مقایسه کنید
جدول زیر تفاوتهای کلیدی را فهرست میکند:
| توابع شمارش مکان | نمایش دادههای مجموعه داده | |
|---|---|---|
| رابط | چهار تابع SQL از پیش تعریف شده که بینشهای COUNT را ایجاد میکنند: شمارش تکی، شمارش به ازای هر نوع، شمارش به ازای هر منطقه جغرافیایی، شمارش به ازای هر سلول H3. | از SQL برای اجرای توابع تجمیع مانند COUNT, COUNT_IF, SUM و AVG. با استفاده از JOIN, GROUP BY, WHERE و موارد دیگر میتوان بینشهای بیشتری ایجاد کرد. |
| محدودیتها | حداقل ناحیه جستجو را ۴۰.۰ متر در ۴۰.۰ متر (۱۶۰۰ متر مربع ) اعمال میکند. یک تابع، حتی اگر تعداد تجمع کمتر از ۵ باشد، تا زمانی که حداقل ناحیه جستجو رعایت شود، نتیجه را برمیگرداند. | آستانه شمارش ۵ را اعمال میکند اما حداقل منطقه جستجو را تعیین نمیکند. |
| فیلترهای ویژگی پشتیبانی شده | طرحواره کامل پشتیبانی میشود به جز:
| طرحواره کامل پشتیبانی میشود |
| مزایا |
|
|
توابع شمارش مکان مرجع در BigQuery
توابع شمارش مکان از شهرها ( مجموعه داده نمونه ) و کشورهای ( مجموعه داده کامل ) زیر پشتیبانی میکنند. شما باید به طور جداگانه در هر شهر و کشور مشترک شوید .
دادههای نمونه
| شهر، کشور | نام جدولها |
|---|---|
| سیدنی، استرالیا | places_insights___au___sample. FUNCTION_NAME |
| سائو پائولو، برزیل | places_insights___br___sample. FUNCTION_NAME |
| تورنتو، کانادا | places_insights___ca___sample. FUNCTION_NAME |
| پاریس، فرانسه | places_insights___fr___sample. FUNCTION_NAME |
| برلین، آلمان | places_insights___de___sample. FUNCTION_NAME |
| بمبئی، هند | places_insights___in___sample. FUNCTION_NAME |
| جاکارتا، اندونزی | places_insights___id___sample. FUNCTION_NAME |
| رم، ایتالیا | places_insights___it___sample. FUNCTION_NAME |
| توکیو، ژاپن | places_insights___jp___sample. FUNCTION_NAME |
| مکزیکوسیتی، مکزیک | places_insights___mx___sample. FUNCTION_NAME |
| مادرید، اسپانیا | places_insights___es___sample. FUNCTION_NAME |
| زوریخ، سوئیس | places_insights___ch___sample. FUNCTION_NAME |
| لندن، بریتانیا | places_insights___gb___sample. FUNCTION_NAME |
| شهر نیویورک، ایالات متحده | places_insights___us___sample. FUNCTION_NAME |
دادههای کامل
| کشور | نام جدولها |
|---|---|
| استرالیا | places_insights___au. FUNCTION_NAME |
| برزیل | places_insights___br. FUNCTION_NAME |
| کانادا | places_insights___ca. FUNCTION_NAME |
| فرانسه | places_insights___fr. FUNCTION_NAME |
| آلمان | places_insights___de. FUNCTION_NAME |
| هند | places_insights___in. FUNCTION_NAME |
| اندونزی | places_insights___id. FUNCTION_NAME |
| ایتالیا | places_insights___it. FUNCTION_NAME |
| ژاپن | places_insights___jp. FUNCTION_NAME |
| مکزیک | places_insights___mx. FUNCTION_NAME |
| اسپانیا | places_insights___es. FUNCTION_NAME |
| سوئیس | places_insights___ch. FUNCTION_NAME |
| بریتانیا | places_insights___gb. FUNCTION_NAME |
| ایالات متحده | places_insights___us. FUNCTION_NAME |