لكي تعمل الدوال أدناه، يجب أن تحدد إعدادات الخادم المسارات والعناوين اللازمة للوصول إلى جميع القواميس المضمنة. تُحمَّل القواميس عند أول استدعاء لأيٍ من هذه الدوال. وإذا تعذر تحميل القوائم المرجعية، فسيُطلق استثناء.لذلك، فإن الأمثلة الواردة في هذا القسم ستُطلق استثناءً في ClickHouse Fiddle وفي عمليات النشر السريعة وبيئات الإنتاج افتراضيًا، ما لم يتم إعدادها مسبقًا.
قواعد جغرافية متعددة
<path_to_regions_hierarchy_file>/opt/geo/regions_hierarchy.txt</path_to_regions_hierarchy_file>
وبالإضافة إلى هذا الملف، يبحث أيضًا عن ملفات مجاورة تحتوي على الرمز _ وأي لاحقة مضافة إلى الاسم (قبل امتداد الملف).
فعلى سبيل المثال، سيعثر أيضًا على الملف /opt/geo/regions_hierarchy_ua.txt إذا كان موجودًا. وهنا يُسمّى ua مفتاح القاموس. أما القاموس الذي لا يحتوي على لاحقة، فيكون مفتاحه سلسلة فارغة.
تُعاد تحميل جميع القواميس أثناء وقت التشغيل (مرة كل عدد معيّن من الثواني، كما هو محدد في parameter إعدادات builtin_dictionaries_reload_interval، أو مرة واحدة كل ساعة افتراضيًا). ومع ذلك، لا تُحدَّد قائمة القواميس المتاحة إلا مرة واحدة عند بدء تشغيل الخادم.
تحتوي جميع الدوال الخاصة بالعمل مع المناطق على argument اختياري في النهاية — وهو مفتاح القاموس. ويُشار إليه باسم القاعدة الجغرافية.
مثال:
regionToName
يقبل معرّف المنطقة وgeobase ويُرجع سلسلة نصية تحتوي على اسم المنطقة باللغة المقابلة. وإذا لم تكن المنطقة ذات المعرّف المحدد موجودة، فستُرجع سلسلة نصية فارغة. البنيةid— معرّف المنطقة منgeobase. UInt32.geobase— مفتاح القاموس. راجع قواعد geobase متعددة. String. اختياري.
- اسم المنطقة باللغة المقابلة التي يحددها
geobase. String. - وإلا، سلسلة فارغة.
Query
Response
regionToCity
يقبل معرّف منطقة منgeobase. إذا كانت هذه المنطقة مدينةً أو جزءًا من مدينة، فإنه يعيد معرّف المنطقة للمدينة المعنية. وإلا، فإنه يعيد 0.
الصيغة
id— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع قواعد geobase متعددة. String. اختياري.
- معرّف المنطقة للمدينة المناسبة، إن وُجدت. UInt32.
- 0، إذا لم توجد أيّ مدينة.
Query
Response
regionToArea
يحوّل إقليمًا إلى منطقة (النوع 5 في geobase). وفي جميع الجوانب الأخرى، تكون هذه الدالة مماثلة للدالة ‘regionToCity’. البنيةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع عدة geobases. String. اختياري.
- معرّف المنطقة الخاص بالمنطقة المناسبة، إن وُجدت. UInt32.
- 0 إذا لم توجد.
Query
Response
regionToDistrict
يحوّل إقليمًا إلى دائرة اتحادية (النوع 4 في geobase). وفيما عدا ذلك، فهذه الدالة مطابقة للدالة ‘regionToCity’. الصيغةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع geobase متعددة. String. اختياري.
- معرّف المنطقة للمدينة المقابلة، إن وُجدت. UInt32.
- 0، إذا لم توجد.
Query
Response
regionToCountry
يحوّل منطقة إلى بلد (النوع 3 في geobase). وفي جميع الجوانب الأخرى، تكون هذه الدالة مماثلة للدالة ‘regionToCity’. الصيغةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع قواعد geobase المتعددة. String. اختياري.
- معرّف المنطقة للبلد المقابل، إذا وُجد. UInt32.
- 0 إذا لم توجد قيمة.
Query
Response
regionToContinent
يحوّل منطقة إلى قارة (النوع 1 في geobase). وفيما عدا ذلك، فهذه الدالة مماثلة للدالة ‘regionToCity’. الصيغةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع قواعد geobase المتعددة. String. اختياري.
- معرّف المنطقة للقارة المقابلة، إن وُجد. UInt32.
- 0 إذا لم يوجد.
Query
Response
regionToTopContinent
تُرجِع أعلى قارة في التسلسل الهرمي للمنطقة. الصيغةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع قواعد geobase المتعددة. String. اختياري.
- معرّف القارة في أعلى مستوى (أي الأخيرة عند الصعود في التسلسل الهرمي للمناطق). UInt32.
- 0 إذا لم تكن موجودة.
Query
Response
regionToPopulation
يجلب عدد سكان منطقة ما. يمكن أن يكون عدد السكان مسجّلًا في الملفات ضمن geobase. راجع قسم “القواميس”. إذا لم يكن عدد السكان مسجّلًا للمنطقة، فستُرجِع 0. في geobase، قد يكون عدد السكان مسجّلًا للمناطق الفرعية، ولكن ليس للمناطق الأم. الصياغةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع Multiple Geobases. String. اختياري.
- عدد سكان المنطقة. UInt32.
- 0 إذا لم تكن هناك قيمة.
Query
Response
regionIn
يتحقق مما إذا كانت المنطقةlhs تندرج ضمن المنطقة rhs. ويُرجع قيمة من نوع UInt8 تساوي 1 إذا كانت كذلك، أو 0 إذا لم تكن كذلك.
الصيغة
lhs— معرّف المنطقة Lhs من geobase. UInt32.rhs— معرّف المنطقة Rhs من geobase. UInt32.geobase— مفتاح القاموس. راجع قواعد جغرافية متعددة. String. اختياري.
- 1، إذا كانت تابعة لها. UInt8.
- 0، إذا لم تكن تابعة لها.
Query
Response
regionHierarchy
يقبل رقمًا من نوع UInt32، وهو معرّف المنطقة من geobase. ويُرجع مصفوفة من معرّفات المناطق تضمّ المنطقة المُمرَّرة وجميع المناطق الأعلى منها في التسلسل الهرمي. بناء الجملةid— معرّف المنطقة من geobase. UInt32.geobase— مفتاح القاموس. راجع Multiple Geobases. String. اختياري.
Query
Response