ForHosting KIT · أدوات المطورين

أقرب k نقاط مجاورة حسب مسافة الدائرة العظمى

يمكنكم العثور على أقرب النقاط الجغرافية إلى إحداثي استعلام من دون إعداد قاعدة بيانات مكانية.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

أدخلوا خط العرض وخط الطول وقائمة الإحداثيات المرشحة وعدد النتائج المطلوبة. تحسب الإمكانية مسافة الدائرة العظمى إلى كل مرشح، ثم ترتب النتائج من الأقرب إلى الأبعد وتعيد أول k عناصر مع فهارسها الأصلية وتسمياتها الاختيارية. ويجعل الترتيب الحتمي الناتج مناسباً للبحث عن المواقع، والتمهيد لحساب المسارات، وفحوص القرب، ومسارات معالجة البيانات القابلة لإعادة الإنتاج.

جهزوا إحداثي الاستعلام وقائمة المرشحين بوضوح

ابدؤوا بإحداثي استعلام بالدرجات العشرية وقائمة تضم من نقطة واحدة إلى 10000 نقطة مرشحة. يجب أن يكون خط العرض بين -90 و90، وخط الطول بين -180 و180. تنطبق القواعد نفسها على كل مرشح، ويمكن إضافة تسمية مثل اسم متجر أو رمز مستودع أو معرّف مستشعر أو مدينة. تنسخ التسمية إلى النتيجة، لكنها لا تؤثر في الترتيب مطلقاً. اختاروا k عدداً صحيحاً موجباً لا يتجاوز عدد المرشحين. يمنع هذا العقد الواضح عمليات البحث الجزئية الملتبسة، ويكشف السجلات غير الصحيحة مبكراً برسالة إدخال مفيدة. استخدموا صيغة الدرجات العشرية الشائعة في خرائط الويب وملفات GPS. وإذا كان المصدر يستخدم الدرجات والدقائق والثواني أو نظام إحداثيات مسقطاً، فحوّلوه قبل الطلب. عند تساوي المسافات، يُحافظ على ترتيب القائمة الأصلي، وبذلك تبقى النتيجة قابلة لإعادة الإنتاج بين الاستدعاءات وبيئات التشغيل المختلفة.

افهموا الترتيب حسب مسافة الدائرة العظمى

يمثل الحساب الأرض على أنها كرة ذات نصف قطر متوسط مقداره 6,371.0088 كيلومتر. ويطبق على كل مرشح علاقة هافرسين وحساب الزاوية المركزية بواسطة atan2، وهي طريقة مستقرة للمسافات القصيرة جداً وللنقاط المتقابلة تقريباً. تقرّب قيمة distance_km إلى ست منازل عشرية، ثم ترتب النقاط تصاعدياً. هذه مسافة على سطح الكرة الأرضية، وليست خطاً مستقيماً يمر داخل الأرض، ولا مسار قيادة، ولا قياساً في إسقاط خرائطي محلي. تتعامل الطريقة بصورة طبيعية مع التفاف خط الطول قرب خط التاريخ الدولي وتعمل عند القطبين. يناسب النموذج الكروي البحث العالمي والاستكشاف والتوزيع التقريبي وإعداد قائمة مختصرة. أما إذا كنتم تحتاجون إلى قياسات إهليلجية مساحية أو طرق أو ارتفاعات أو حدود أو عوائق، فاستخدموا النتيجة كمرحلة اختيار أولى ثم طبقوا حساباً متخصصاً. ويتيح الفهرس الأصلي ربط كل جار بسجله حتى عند غياب تسمية فريدة.

استخدموا القائمة المرتبة ضمن سير عمل أوسع

غالباً ما تكون نتيجة أقرب الجيران بداية القرار لا نهايته. يمكن لأداة تحديد الفروع طلب أقرب خمسة فروع ثم التصفية وفق ساعات العمل أو المخزون. ويمكن لخدمة لوجستية اختيار المستودعات القريبة أولاً قبل إرسال عدد قليل منها إلى محرك مسارات الطرق. كما يمكن للوحة بيئية ربط قراءة بالمستشعرات الأقرب مع الاحتفاظ بالمسافات لفحوص الجودة. لا تستخدم الدالة الشبكة أو العشوائية أو حالة مخزنة أو الوقت الحالي، ولذلك تنتج المدخلات المتطابقة مخرجات متطابقة. يسهّل ذلك تخزين النتائج مؤقتاً واختبار التكامل بأمثلة ثابتة وإعادة إنتاج ترتيب سابق أثناء التدقيق. ويحافظ الحد المعلن على قابلية توقع التنفيذ، إذ تقاس كل نقطة مرة واحدة ثم ترتب المجموعة المحدودة. للمجموعات الضخمة أو كثيرة التغير يكون الفهرس المكاني أكثر كفاءة. أما القوائم المدمجة المرسلة مع كل طلب، فتتيح هذه الإمكانية تجنب إعداد الفهارس وتعيد بنية JSON واضحة يمكن تمريرها مباشرة إلى مهمة لاحقة.

إعداد قائمة مختصرة من الفروع

أعيدوا أقرب المتاجر أو مراكز الخدمة قبل التصفية حسب المخزون أو ساعات العمل أو المواعيد المتاحة.

ربط القراءات بالمستشعرات

اعثروا على محطات المراقبة الأقرب واحتفظوا بالمسافات والفهارس الأصلية للتحقق اللاحق.

تهيئة مرشحي المسارات

قلّصوا قائمة المستودعات أو نقاط المرور إلى الأقرب قبل طلب حسابات طرق أعلى تكلفة.

ما تكلفة الطلب الواحد؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن تشغيل الحساب الحتمي نفسه في المتصفح أيضاً.

ما معادلة المسافة المستخدمة؟

يُستخدم حساب دائرة عظمى قائم على هافرسين، مع نصف قطر الأرض المتوسط البالغ 6,371.0088 كيلومتر.

كيف ترتب المسافات المتساوية؟

عند التعادل يُحافظ على ترتيب إدخال المرشحين بواسطة الفهارس الأصلية التي تبدأ من الصفر.

هل يمكن أن تتجاوز k عدد المرشحين؟

لا. يجب أن تكون k عدداً صحيحاً موجباً وألا تتجاوز عدد النقاط المقدمة.

هل تحسب الأداة مسافة القيادة؟

لا. إنها تحسب المسافة الكروية ولا تراعي الطرق أو زمن السفر أو الارتفاع أو الحدود أو العوائق.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/geo/k-nearest-neighbors

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/geo/k-nearest-neighbors \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":40.4168,"lon":-3.7038,"points":[{"label":"Toledo","lat":39.8628,"lon":-4.0273},{"label":"Segovia","lat":40.9429,"lon":-4.1088},{"label":"Guadalajara","lat":40.6337,"lon":-3.1674}],"k":2}'
{
  "lat": 40.4168,
  "lon": -3.7038,
  "points": [
    {
      "label": "Toledo",
      "lat": 39.8628,
      "lon": -4.0273
    },
    {
      "label": "Segovia",
      "lat": 40.9429,
      "lon": -4.1088
    },
    {
      "label": "Guadalajara",
      "lat": 40.6337,
      "lon": -3.1674
    }
  ],
  "k": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.k_nearest_neighbors",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_items10000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←