توابع شمارش مکان، کوئریهای SQL از پیش تعریفشدهای هستند که در BigQuery اجرا میشوند و مکمل کوئری مستقیم از مجموعه دادهها هستند. تفاوت اصلی بین کوئری مستقیم از دادهها و استفاده از یک تابع این است که توابع حداقل آستانه شمارش را اعمال نمیکنند، بلکه در عوض حداقل ناحیه جستجو را اعمال میکنند:
- پرسوجوهای مجموعه دادههای مکانی فقط میتوانند تعداد ۵ و بالاتر را برگردانند، اما هیچ محدودیتی در اندازه ناحیه جستجو اعمال نمیکنند.
- توابع شمارش مکانها میتوانند هر تعداد مکانی، از جمله عدد ۰، را برگردانند، اما حداقل مساحت جستجو را ۴۰ در ۴۰ متر (۱۶۰۰ متر مربع ) تعیین میکنند. توابع همچنین میتوانند شناسه مکانها (Place IDs ) را برگردانند که میتوان از آنها برای جستجوی اطلاعات مربوط به مکانهای خاص استفاده کرد.
اگر مهم است بدانید چه زمانی یک پرسوجو نتیجهای نمیدهد یا اگر نیاز به دانستن تعداد کم مکانها زیر ۵ دارید، ممکن است بخواهید از توابع شمارش مکانها استفاده کنید. همچنین اگر نیاز به دریافت اطلاعات مکانهای خاص برای بررسی دقیق نتایج خود دارید، مفید است.
توابع شمارش مکانها فقط تعداد مکانها را ارائه میدهند، بنابراین اگر نیاز به انجام پرسوجوهای پیچیدهتری مانند اتصال دادهها یا دریافت بینشهای اضافی مانند میانگین امتیاز گروهی از مکانها دارید، مستقیماً از مجموعه دادهها پرسوجو کنید .
توابع و کشورهای پشتیبانی شده برای شمارش مکانها
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 نیز تا ۲۵۰ شناسه مکان را برای هر عنصر از پاسخ برمیگردانند. همه پارامترهای فیلتر را ببینید .
شناسههای مکان را میتوان با موارد زیر استفاده کرد:
نوشتن کوئریها با توابع
برای فراخوانی توابع از فرمت زیر استفاده کنید: [project name (optional)].[table name].[function name] .
اگر هنگام تنظیم Places Insights نام مجموعه داده پیوند شده را تغییر دادهاید، از نام دلخواه خود به جای نامهای پیشفرض جدول که در توابع شمارش مکان مرجع در BigQuery ذکر شدهاند، استفاده کنید. همچنین میتوانید به صورت اختیاری نام پروژه خود را نیز وارد کنید. اگر نامی وارد نشود، پرس و جو به طور پیشفرض به پروژه فعال ارجاع داده میشود.
برای مثال:
PROJECT_NAME.places_insights___us.PLACES_COUNT
برای ارسال آرگومانها به تابع، از JSON_OBJECT استفاده کنید.
نتایج خود را فیلتر کنید
توابع شمارش مکان (Places Count) از فیلترهای زیادی برای اصلاح جستجوی شما پشتیبانی میکنند. این پارامترها (برای مثال، price_level یا types ) به حروف کوچک و بزرگ حساس هستند و باید دقیقاً با نام پارامترها مطابقت داشته باشند. برای مشاهده لیست کامل گزینهها، به مرجع پارامترهای فیلتر مراجعه کنید .
در مثال بعدی، فیلترهایی را برای محدود کردن جستجو بر اساس حداقل امتیاز کاربر، سطح قیمت، وضعیت کسبوکار و اینکه آیا رستوران اجازه ورود سگ را میدهد یا خیر، اعمال میکنید:
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;
مثال تابع شمارش مکانها
مثال زیر از تابع 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;
پاسخ شامل یک شمارش واحد است:

این مثال از تابع 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 نشان میدهد.

نتایج را تجسم کنید
ابزارهای تحلیل و هوش تجاری برای کمک به شما در کشف بینش از دادههای BigQuery بسیار مهم هستند. BigQuery از چندین ابزار تجسم دادههای گوگل و شخص ثالث پشتیبانی میکند که میتوانید از آنها برای تحلیل نتایج توابع خود در دادههای Places Insights استفاده کنید.
برای مثالی از مصورسازی نتایج یک تابع، به Visualize results مراجعه کنید. برای اطلاعات بیشتر و مثالی در مورد مصورسازی نتایج Places Insights، به Visualize query results مراجعه کنید.
محدودیتها و الزامات
توابع شمارش مکان محدودیتها و الزامات زیر را دارند:
- فقط بینشهای
COUNTپشتیبانی میشوند. - حداقل مساحت جستجو ۴۰ متر در ۴۰ متر (۱۶۰۰ متر مربع ) مورد نیاز است.
- اندازه ورودی پارامتر شمارش تابع، حداکثر ۱ مگابایت است.
- از فیلتر کردن بر اساس شناسه مکان، برندها، گزینههای شارژ خودروی برقی یا مؤلفه آدرس پشتیبانی نمیکند.
- شما فقط میتوانید به توابع شمارش مکانها برای شهرها و کشورهایی که در آنها مشترک شدهاید دسترسی داشته باشید. برای دسترسی به مجموعه دادهها، به بخش «تنظیم بینش مکانها» مراجعه کنید.
- پارامترهای فیلتر (برای مثال،
geographyیاtypes) به حروف کوچک و بزرگ حساس هستند و باید دقیقاً با نام پارامترها مطابقت داشته باشند، در غیر این صورت پرس و جو با شکست مواجه خواهد شد.
توابع شمارش مکانهای مرجع در BigQuery
تمام شهرهای موجود در مجموعه دادههای نمونه و مجموعه دادههای کامل کشورها از توابع شمارش مکانها پشتیبانی میکنند.
شما به توابع شمارش مکانها (Places Count) مربوط به مجموعه دادههای شهرها و کشورهایی که در آنها مشترک شدهاید، دسترسی دارید. برای دسترسی به مجموعه دادهها، به بخش «تنظیمات بینش مکانها» مراجعه کنید.
این جداول، شهرها، کشورهای موجود و نام جدول مربوط به آنها را فهرست میکنند.
دادههای نمونه
| شهر، کشور | نام جدولها |
|---|---|
| سیدنی، استرالیا | 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 |