غيّرت Foursquare طريقة الوصول إلى OS Places. كانت الإصدارات السابقة من هذا الدليل تستعلم
عن ملفات مثبّتة بتاريخ في حاوية S3 عامة؛ أما الآن، فيتم الوصول عبر Places Portal وكتالوج
Iceberg موثَّق. راجع وثائق Foursquare للوصول إلى OS Places
لمزيد من التفاصيل.
قبل البدء
- حساب على بوابة Foursquare Places
- رمز وصول مُنشأ من علامة التبويب Access Data ضمن مجموعة البيانات OS Places
الاتصال بكتالوج Foursquare
<YOUR_ACCESS_TOKEN> برمزك في الاستعلام التالي:
Query
places_os الإصدار المنشور الحالي من Foursquare
بدلًا من إصدار Parquet المثبّت بتاريخ، لذا قد تتغير صفوفه ومخططه
بمرور الوقت. لذلك، قد تعيد الاستعلامات التي لا تتضمن عبارة ORDER BY
صفوف عيّنة مختلفة عن النتائج المعروضة في هذا الدليل.
تحقّق من الاتصال
places_os:
Query
Response
استكشاف البيانات
Query
Response
DESCRIBE لفحص مخطط الجدول:
Query
Response
حمّل البيانات إلى ClickHouse
clickhouse-server أو ClickHouse Cloud.
أنشئ جدول MergeTree بأعمدة مُشفَّرة بالقاموس وإحداثيات Web Mercator
مُخزَّنة فعليًا:
Query
LowCardinality،
الذي يخزّن القيم المتكررة بترميز القاموس. ويمكن لهذا التمثيل تحسين
أداء استعلامات SELECT بشكل ملحوظ.
يحوّل العمودان UInt32 ذوا السمة MATERIALIZED، mercator_x وmercator_y، خط العرض
وخط الطول إلى إسقاط ويب مركاتور،
مما يسهّل تقسيم الخريطة إلى بطاقات:
- تُزيح
longitude + 180نطاق خط الطول من [-180, 180] إلى [0, 360]. - تؤدي القسمة على 360 إلى تطبيع القيمة لتصبح ضمن نطاق من 0 إلى 1.
- يؤدي الضرب في
0xFFFFFFFF، وهو أكبر عدد صحيح غير موقّع من 32 بت، إلى تحجيم القيمة المُطبَّعة لتغطي النطاق الكامل لعدد صحيح من 32 بت.
- تُزيح
latitude + 90نطاق خط العرض من [-90, 90] إلى [0, 180]. - تؤدي القسمة على 360 والضرب في
piإلى تحويل القيمة إلى راديان لاستخدامها في الدوال المثلثية. - تطبّق
log(tan(...))صيغة إسقاط مركاتور الأساسية. - يؤدي الضرب في
0xFFFFFFFFإلى تحجيم النتيجة لتغطي النطاق الكامل لعدد صحيح من 32 بت.
MATERIALIZED إلى جعل ClickHouse يحسب هذه القيم عند إدراج البيانات،
من دون اشتراط احتواء البيانات المصدر على الأعمدة.
يُرتَّب الجدول حسب mortonEncode(mercator_x, mercator_y)، مما ينشئ منحنى Z يملأ
المساحة وينظّم البيانات حسب تقاربها المكاني:
minmax إضافيان التصفية المكانية أكثر:
Query
unresolved_flags لأنه
غير مطلوب في الجدول المحلي، ويستبعد الصفوف التي لا تحتوي على إحداثيات لأنه
لا يمكن وضعها على الخريطة. وتظل قيم المصدر الأخرى القابلة للقيم الفارغة فارغة في الجدول المحلي.
استعرض البيانات بصريًا
تغيّر نموذج الوصول في Foursquare منذ إنشاء هذه التصوّرات. يسبق
عرض Places التفاعلي الأصلي
نموذج الوصول الحالي، وقد أُدرج رابطه للرجوع إليه تاريخيًا، لكنه قد لا
يعرض بيانات Places بعد الآن. احتُفظ بالصور أدناه كأمثلة تاريخية.