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

نتایج را تجسم کنید
ابزارهای تحلیل و هوش تجاری برای کمک به شما در کشف بینش از دادههای BigQuery بسیار مهم هستند. BigQuery از چندین ابزار تجسم دادههای گوگل و شخص ثالث پشتیبانی میکند که میتوانید از آنها برای تحلیل نتایج توابع خود در دادههای Places Insights استفاده کنید.
برای مثالی از مصورسازی نتایج یک تابع، به 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، شامل تمام تعاریف جغرافیایی، اعمال میشود. این ممکن است تعداد جغرافیاییهایی را که میتوان در یک فراخوانی واحد پردازش کرد، محدود کند.
- برای
- از فیلتر کردن بر اساس شناسه مکان، برندها، گزینههای شارژ خودروی برقی یا مؤلفه آدرس پشتیبانی نمیکند.
- شما فقط میتوانید به توابع شمارش مکانها برای شهرها و کشورهایی که در آنها مشترک شدهاید دسترسی داشته باشید. برای دسترسی به مجموعه دادهها، به بخش «تنظیم بینش مکانها» مراجعه کنید.
- پارامترهای فیلتر (برای مثال،
geographyیاtypes) به حروف کوچک و بزرگ حساس هستند و باید دقیقاً با نام پارامترها مطابقت داشته باشند، در غیر این صورت پرس و جو با شکست مواجه خواهد شد.
توابع شمارش مکانهای مرجع در BigQuery
تمام شهرهای موجود در مجموعه دادههای نمونه و مجموعه دادههای کامل کشورها از توابع شمارش مکانها پشتیبانی میکنند.
شما به توابع شمارش مکانها (Places Count) مربوط به مجموعه دادههای شهرها و کشورهایی که در آنها مشترک شدهاید، دسترسی دارید. برای دسترسی به مجموعه دادهها، به بخش «تنظیمات بینش مکانها» مراجعه کنید.
این جداول، شهرها، کشورهای موجود و نام جدول مربوط به آنها را فهرست میکنند.
دادههای نمونه
| شهر، کشور | نام جدولها |
|---|---|
| بوئنوس آیرس، آرژانتین | places_insights___ar___sample. FUNCTION_NAME |
| سیدنی، استرالیا | places_insights___au___sample. FUNCTION_NAME |
| باد گاستین، اتریش | places_insights___at___sample. FUNCTION_NAME |
| الرفاع، بحرین | places_insights___bh___sample. FUNCTION_NAME |
| بروکسل، بلژیک | places_insights___be___sample. FUNCTION_NAME |
| سائو پائولو، برزیل | places_insights___br___sample. FUNCTION_NAME |
| پلوودیو، بلغارستان | places_insights___bg___sample. FUNCTION_NAME |
| تورنتو، کانادا | places_insights___ca___sample. FUNCTION_NAME |
| سانتیاگو، شیلی | places_insights___cl___sample. FUNCTION_NAME |
| مدلین، کلمبیا | places_insights___co___sample. FUNCTION_NAME |
| برنو، جمهوری چک | places_insights___cz___sample. FUNCTION_NAME |
| کپنهاگ، دانمارک | places_insights___dk___sample. FUNCTION_NAME |
| قاهره، مصر | places_insights___eg___sample. FUNCTION_NAME |
| هلسینکی، فنلاند | places_insights___fi___sample. FUNCTION_NAME |
| پاریس، فرانسه | places_insights___fr___sample. FUNCTION_NAME |
| برلین، آلمان | places_insights___de___sample. FUNCTION_NAME |
| آتن، یونان | places_insights___gr___sample. FUNCTION_NAME |
| هنگ کنگ، هنگ کنگ | places_insights___hk___sample. FUNCTION_NAME |
| دبرسن، مجارستان | places_insights___hu___sample. FUNCTION_NAME |
| بمبئی، هند | places_insights___in___sample. FUNCTION_NAME |
| جاکارتا، اندونزی | places_insights___id___sample. FUNCTION_NAME |
| کورک، ایرلند | places_insights___ie___sample. FUNCTION_NAME |
| تلآویو-یافو، اسرائیل | places_insights___il___sample. FUNCTION_NAME |
| رم، ایتالیا | places_insights___it___sample. FUNCTION_NAME |
| توکیو، ژاپن | places_insights___jp___sample. FUNCTION_NAME |
| بوسان، کره جنوبی | places_insights___kr___sample. FUNCTION_NAME |
| کوالالامپور، مالزی | places_insights___my___sample. FUNCTION_NAME |
| مکزیکوسیتی، مکزیک | places_insights___mx___sample. FUNCTION_NAME |
| آمستردام، هلند | places_insights___nl___sample. FUNCTION_NAME |
| ولینگتون، نیوزیلند | places_insights___nz___sample. FUNCTION_NAME |
| اسلو، نروژ | places_insights___no___sample. FUNCTION_NAME |
| آرکیپا، پرو | places_insights___pe___sample. FUNCTION_NAME |
| مانیل، فیلیپین | places_insights___ph___sample. FUNCTION_NAME |
| ورشو، لهستان | places_insights___pl___sample. FUNCTION_NAME |
| لیسبون، پرتغال | places_insights___pt___sample. FUNCTION_NAME |
| لوسیل، قطر | places_insights___qa___sample. FUNCTION_NAME |
| بخارست، رومانی | places_insights___ro___sample. FUNCTION_NAME |
| جده، عربستان سعودی | places_insights___sa___sample. FUNCTION_NAME |
| سنگاپور، سنگاپور | places_insights___sg___sample. FUNCTION_NAME |
| ژوهانسبورگ، آفریقای جنوبی | places_insights___za___sample. FUNCTION_NAME |
| مادرید، اسپانیا | places_insights___es___sample. FUNCTION_NAME |
| استکهلم، سوئد | places_insights___se___sample. FUNCTION_NAME |
| زوریخ، سوئیس | places_insights___ch___sample. FUNCTION_NAME |
| تایپه، تایوان | places_insights___tw___sample. FUNCTION_NAME |
| چیانگ مای، تایلند | places_insights___th___sample. FUNCTION_NAME |
| آنکارا، ترکیه | places_insights___tr___sample. FUNCTION_NAME |
| شارجه، امارات متحده عربی | places_insights___ae___sample. FUNCTION_NAME |
| لندن، بریتانیا | places_insights___gb___sample. FUNCTION_NAME |
| شهر نیویورک، ایالات متحده | places_insights___us___sample. FUNCTION_NAME |
| هانوی، ویتنام | places_insights___vn___sample. FUNCTION_NAME |
دادههای کامل
| کشور | نام جدولها |
|---|---|
| آرژانتین | places_insights___ar. FUNCTION_NAME |
| استرالیا | places_insights___au. FUNCTION_NAME |
| اتریش | places_insights___at. FUNCTION_NAME |
| بحرین | places_insights___bh. FUNCTION_NAME |
| بلژیک | places_insights___be. FUNCTION_NAME |
| برزیل | places_insights___br. FUNCTION_NAME |
| بلغارستان | places_insights___bg. FUNCTION_NAME |
| کانادا | places_insights___ca. FUNCTION_NAME |
| شیلی | places_insights___cl. FUNCTION_NAME |
| کلمبیا | places_insights___co. FUNCTION_NAME |
| چک | places_insights___cz. FUNCTION_NAME |
| دانمارک | places_insights___dk. FUNCTION_NAME |
| مصر | places_insights___eg. FUNCTION_NAME |
| فنلاند | places_insights___fi. FUNCTION_NAME |
| فرانسه | places_insights___fr. FUNCTION_NAME |
| آلمان | places_insights___de. FUNCTION_NAME |
| یونان | places_insights___gr. FUNCTION_NAME |
| هنگ کنگ | places_insights___hk. FUNCTION_NAME |
| مجارستان | places_insights___hu. FUNCTION_NAME |
| هند | places_insights___in. FUNCTION_NAME |
| اندونزی | places_insights___id. FUNCTION_NAME |
| ایرلند | places_insights___ie. FUNCTION_NAME |
| اسرائیل | places_insights___il. FUNCTION_NAME |
| ایتالیا | places_insights___it. FUNCTION_NAME |
| ژاپن | places_insights___jp. FUNCTION_NAME |
| مالزی | places_insights___my. FUNCTION_NAME |
| مکزیک | places_insights___mx. FUNCTION_NAME |
| هلند | places_insights___nl. FUNCTION_NAME |
| نیوزیلند | places_insights___nz. FUNCTION_NAME |
| نروژ | places_insights___no. FUNCTION_NAME |
| پرو | places_insights___pe. FUNCTION_NAME |
| فیلیپین | places_insights___ph. FUNCTION_NAME |
| لهستان | places_insights___pl. FUNCTION_NAME |
| پرتغال | places_insights___pt. FUNCTION_NAME |
| قطر | places_insights___qa. FUNCTION_NAME |
| رومانی | places_insights___ro. FUNCTION_NAME |
| عربستان سعودی | places_insights___sa. FUNCTION_NAME |
| سنگاپور | places_insights___sg. FUNCTION_NAME |
| آفریقای جنوبی | places_insights___za. FUNCTION_NAME |
| کره جنوبی | places_insights___kr. FUNCTION_NAME |
| اسپانیا | places_insights___es. FUNCTION_NAME |
| سوئد | places_insights___se. FUNCTION_NAME |
| سوئیس | places_insights___ch. FUNCTION_NAME |
| تایوان | places_insights___tw. FUNCTION_NAME |
| تایلند | places_insights___th. FUNCTION_NAME |
| ترکیه | places_insights___tr. FUNCTION_NAME |
| امارات متحده عربی | places_insights___ae. FUNCTION_NAME |
| بریتانیا | places_insights___gb. FUNCTION_NAME |
| ایالات متحده | places_insights___us. FUNCTION_NAME |
| ویتنام | places_insights___vn. FUNCTION_NAME |