فهرس شبكة ثلاثة أمتار من خط العرض والطول
يسند فهرس شبكة الثلاثة أمتار عنوان خلية رقميًا ثابتًا إلى كل زوج من خط العرض والطول.
شغّل الأداة مجانًا
فهو يقسم الكرة الأرضية إلى صفوف عرض ضيقة، ويضبط أعمدة الطول في كل صف للحصول على مساحة تقارب ثلاثة أمتار. تتضمن النتيجة الفهرس المركب والصف والعمود وعدد الأعمدة في ذلك الصف وإحداثيات المركز والحدود الجغرافية. يفيد ذلك عندما يكون مفتاح الموقع المختصر والقابل للتكرار أهم من عنوان الشارع، ولا يتطلب استعلامًا شبكيًا أو قاموس كلمات مملوكًا لجهة أخرى.
حوّلوا الإحداثيات إلى عنوان رقمي قابل للتكرار
أدخلوا `lat` و`lon` بالدرجات العشرية، فتسند الحاسبة النقطة إلى خلية عالمية واحدة بالضبط. تجمع القيمة الأساسية `grid_index` بين صف خط العرض وعمود خط الطول بنقطة فاصلة، وبذلك توفر مفتاحًا مختصرًا يمكنكم تخزينه أو مقارنته أو تسجيله أو إدراجه في عنوان URL. يسهّل الحقلان المنفصلان `row` و`column` عمليات الفرز والعمل في قواعد البيانات، بينما يوضح `columns_in_row` هندسة نطاق العرض المحدد. تنتج المدخلات المحدودة نفسها النتيجة نفسها دائمًا، لأن الخوارزمية لا تستخدم طلبات شبكة أو اختيارًا عشوائيًا أو ساعة أو جدولًا مرجعيًا قابلًا للتغيير. تتبع الإحداثيات الواقعة على الحدود العادية قاعدة ثابتة للفترات نصف المفتوحة: تُضم الحدود الجنوبية والغربية إلى الخلية، وتُستبعد الحدود الشمالية والشرقية منها. يُسند القطب الشمالي صراحة إلى الصف الأخير، ويُعامل خط الطول 180 درجة على أنه خط التاريخ المقابل نفسه عند -180 درجة. تمنع هذه القواعد ظهور عناوين مكررة أو ملتبسة عند أطراف نظام الإحداثيات.
افهموا معنى ثلاثة أمتار على شبكة كروية
يمثل الحساب الأرض على أنها كرة ذات نصف قطر متوسط ثابت. وينشئ صفوف عرض متساوية الزاوية لا تتجاوز مسافتها من الشمال إلى الجنوب ثلاثة أمتار. ثم يقيس لكل صف محيط دائرة العرض المارة بمركزه، ويختار عددًا كافيًا من أعمدة الطول حتى لا يتجاوز عرضها على خط المركز ثلاثة أمتار أيضًا. لذلك ينخفض عدد الأعمدة كلما اقترب الصف من القطبين، حيث تقصر دوائر العرض. هذه الطريقة أنسب من تطبيق خطوة طول واحدة في كل مكان، لأن الخطوة الثابتة تجعل الخلايا أضيق تدريجيًا من الشرق إلى الغرب عند خطوط العرض العالية. تصف الحدود المعادة المستطيل الزاوي الدقيق الذي يستخدمه هذا التعريف، ويوفر المركز إحداثيًا تمثيليًا مناسبًا. تبقى الأبعاد المادية تقريبية، فالأرض ليست كرة مثالية، والتضاريس تزيد مسافة السطح، وأجهزة تحديد الموقع لها هامش خطأ خاص بها. استخدموا الفهرس للتجميع والعنونة الحتميين، لا بديلًا عن الحدود العقارية أو الملاحة الحساسة للسلامة أو المسح الجيوديسي المتخصص.
استخدموا الفهرس بأمان في أنظمة البيانات
خزّنوا `grid_index` كنص لأنه يتكون من عددين صحيحين قد يكونان كبيرين تفصل بينهما نقطة. لا تحللوا القيمة المركبة كعدد ذي فاصلة عائمة، لأن ذلك يزيل الفرق بين الصف والعمود وقد يفقد دقة الأعداد الصحيحة في بعض البيئات. ويمكن في مفاتيح قواعد البيانات المركبة حفظ `row` و`column` في عمودين صحيحين منفصلين. أضيفوا إصدارًا أو اسم الشبكة إلى مجموعات البيانات طويلة الأجل كيلا تختلط خوارزمية مستقبلية بهذا التعريف. غالبًا ما تشترك الإحداثيات المتقاربة في الفهرس نفسه، ولذلك يفيد المفتاح في إزالة التكرار وسجلات الحضور التقريبية وتقسيم الذاكرة المؤقتة والتجميع المراعي للخصوصية. لكن نقطتين يفصل بينهما حد خلية تحصلان على مفتاحين مختلفين ولو كانت المسافة بينهما بضعة سنتيمترات. إذا كان القرب مهمًا، فقارنوا الخلية المختارة بصفوفها وأعمدتها المجاورة أو استخدموا حسابًا فعليًا للمسافة. يستلهم النظام المقياس التقريبي المرتبط بخدمة what3words، لكنه رقمي ومستقل؛ فلا يحول عناوين الكلمات الثلاث الرسمية ولا يعيد إنتاج معرفاتها أو تعييناتها المملوكة.
حالات الاستخدام
تجميع تقارير الموقع المتكررة
اجمعوا المشاهدات الواقعة في الخلية الصغيرة نفسها مع الاحتفاظ بمفتاح حتمي للمقارنة اللاحقة.
إنشاء مراجع خرائط مختصرة
مثّلوا الإحداثيات بصف وعمود رقميين عندما لا يكون الشكل العشري الكامل ملائمًا.
تقسيم السجلات المكانية
استخدموا مكوني الصف والعمود أقسامًا متوقعة في قاعدة البيانات أو الذاكرة المؤقتة للبيانات النقطية.
الأسئلة الشائعة
هل تعيد النتيجة عنوانًا رسميًا من what3words؟
لا. إنها تعيد فهرس شبكة رقميًا مستقلًا، ولا تستخدم قاموس كلمات what3words أو خدمة العنونة الرسمية ولا تعيد إنتاجهما.
هل كل الخلايا مربعات دقيقة طول ضلعها ثلاثة أمتار؟
لا. إنها خلايا كروية من خطوط العرض والطول، صممت بحيث يقارب ارتفاعها وعرضها ثلاثة أمتار أو أقل عند مركز كل صف. يسبب الشكل الإهليلجي والتضاريس والقطبان اختلافات فعلية.
ماذا يحتوي فهرس الشبكة؟
يحتوي صف خط العرض الذي يبدأ من الصفر، ثم نقطة، ثم عمود خط الطول الذي يبدأ من الصفر ضمن ذلك الصف. وتعيد الاستجابة العددين منفصلين أيضًا.
لماذا يتغير عدد الأعمدة من صف إلى آخر؟
تقصر دوائر العرض باتجاه القطبين. ويحافظ تغيير عدد الأعمدة على عرض الخلية من الشرق إلى الغرب قريبًا من المقياس المطلوب.
كيف تعالج الإحداثيات الواقعة على حد؟
تدخل الحافتان الجنوبية والغربية في الخلية، بينما تقود الحافتان الشمالية والشرقية إلى الخلية التالية. وتضع قواعد خاصة القطب الشمالي في الصف الأخير وتعامل 180 مثل -180.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن تشغيل المنطق الحتمي نفسه محليًا داخل المتصفح أيضًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/what3words-grid-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":51.520847,"lon":-0.195521}'const res = await fetch("https://api.kit.forhosting.com/geo/what3words-grid-index", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat": 51.520847,
"lon": -0.195521
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/what3words-grid-index",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat": 51.520847,
"lon": -0.195521
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/what3words-grid-index", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat":51.520847,"lon":-0.195521}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat":51.520847,"lon":-0.195521}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/what3words-grid-index", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"lat": 51.520847,
"lon": -0.195521
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.what3words_grid_index",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |