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