دقة Web Mercator الأرضية
عند خط الاستواء ومستوى التكبير 0، يغطي بكسل واحد في خريطة ويب قياسية 156543.033928 م، وتغطي البلاطة الكاملة ذات 256 بكسلًا 40075016.6856 م. كل مستوى تكبير يقسم القيمة على اثنين، وخطوط العرض العالية تقللها أكثر. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- خط العرض
- 0
- مستوى التكبير
- 0
- الأمتار لكل بكسل
- 156,543.033928
- الأمتار لكل بلاطة
- 40,075,016.6856
- حجم البلاطة (px)
- 256
- نصف قطر الأرض (m)
- 6,378,137
توضح هذه الحاسبة عدد الأمتار الحقيقية التي يمثلها بكسل واحد في Web Mercator عند خط عرض ومستوى تكبير محددين. وهي تستخدم كرة EPSG:3857 وبلاطات من 256 بكسلاً وهرم XYZ الشائع. تفيد النتيجة في تحويل مسافات الشاشة، وضبط أحجام الرموز، وإنشاء أشرطة المقياس، واختيار صور ذات مستوى التفاصيل المطلوب. الحساب حتمي ولا يحتاج إلى الشبكة، كما يعيد عرض المساحة الأرضية لبلاطة كاملة.
فهم ما تقيسه الدقة الأرضية
تعبر الدقة الأرضية عن المسافة الحقيقية التقريبية التي يغطيها بكسل واحد على الخريطة، وتقاس عادة بالمتر لكل بكسل. وهي ليست دقة الشاشة ولا دقة GPS ولا مستوى التفاصيل الأصلي في صورة جوية. بل تربط شبكة Web Mercator الرقمية بالمسافة على الأرض عند خط عرض معين.
في مستوى التكبير صفر، يقع العالم المسقط كله ضمن بلاطة واحدة حجمها 256 بكسلاً. وكل زيادة بمستوى واحد تضاعف عدد البلاطات في الاتجاهين وتخفض المسافة لكل بكسل إلى النصف. يؤثر خط العرض لأن Web Mercator يوسع المقياس قرب القطبين؛ لذلك يمثل البكسل مسافة شرق-غرب أقل بعيداً عن خط الاستواء عند مستوى التكبير نفسه.
كيفية عمل صيغة Web Mercator
تستخدم الحاسبة نصف القطر الاستوائي 6,378,137 متراً المعتمد في EPSG:3857. وتحسب أولاً محيط الكرة بضرب نصف القطر في اثنين وفي pi. وتعطي قسمة المحيط على 256 الدقة الابتدائية عند خط الاستواء والتكبير صفر.
ثم تقسم القيمة على اثنين مرفوعاً إلى قوة التكبير وتضربها في جيب تمام خط العرض بالراديان. باختصار، الدقة تساوي cos(خط العرض) في 2πR، مقسوماً على 256 في 2^zoom. تفترض النتيجة بلاطة منطقية قياسية حجمها 256 بكسلاً.
وإذا كان العارض يقدم صوراً بحجم 512 بكسلاً، فتحققوا من قواعد البلاطات والتكبير فيه. تقبل الأداة تكبيراً صحيحاً من صفر إلى ثلاثين وخط عرض ضمن حد Web Mercator العملي، أي نحو ±85.05112878 درجة. يمنع هذا التحقق اعتبار موقع خارج عالم الخريطة المحدود موقعاً صالحاً.
استخدام النتيجة من دون مبالغة في الدقة
استخدموا الدقة الأرضية لتحويل المقياس، لا بوصفها ضماناً لدقة البيانات المصدرية. فإذا كانت النتيجة مترين لكل بكسل، فإن خطاً طوله عشرة بكسلات يمتد قرابة عشرين متراً قرب خط العرض المحدد، لكن الطريق أو الصورة أو موقع الجهاز قد يحمل خطأ أكبر. يتغير المقياس أيضاً داخل إطار العرض مع تغير خط العرض؛ ويكفي خط عرض المركز عادة للخريطة التفاعلية، بينما قد يحتاج التصدير الإقليمي الطويل إلى عينات متعددة.
تفيد القيمة في تحديد أنصاف أقطار التجميع، وتحويل سماحية النقر، وتقدير مساحة إخراج الراستر، ووضع عناوين شريط المقياس. كل مستوى تكبير صحيح يخفض الأمتار لكل بكسل إلى النصف. وعند التكبير نفسه ينتج خط العرض المطلق الأعلى قيمة أصغر بسبب تصحيح جيب التمام.
حالات الاستخدام
إنشاء شريط مقياس دقيق
حولوا عرضاً بالبكسل عند خط عرض مركز الخريطة إلى مسافة أرضية تقريبية مناسبة للعرض.
اختيار أنصاف أقطار التجميع والتحديد
حولوا حدود الواجهة المقاسة بالبكسل إلى أمتار عند تكبير وخط عرض محددين.
تخطيط تصدير الراستر
قدروا العرض الأرضي للبلاطات أو البكسلات قبل طلب صور الخرائط أو معالجتها.
الأسئلة الشائعة
ما الصيغة التي تستخدمها الحاسبة؟
تستخدم cos(خط العرض) × 2π × 6378137 مقسوماً على 256 × 2^zoom، بعد تحويل خط العرض إلى راديان.
لماذا تتغير الدقة مع خط العرض؟
يوسع Web Mercator المقياس باتجاه القطبين، ولذلك يمثل البكسل المسقط مسافة أرضية أقل عند خطوط العرض العالية.
ما حجم البلاطة المفترض؟
يفترض الحساب الحجم المنطقي التقليدي البالغ 256 بكسلاً لبلاطات الخرائط المنزلقة.
هل يمكن استخدام مستوى تكبير كسري؟
لا. تقبل هذه القدرة مستويات هرم البلاطات الصحيحة من 0 إلى 30.
كيف أحوّل مسافة على الشاشة إلى أمتار على الأرض؟
اضرب قيمة الأمتار لكل بكسل في العرض بالبكسل الذي قسته على الخريطة. تصلح القيمة قرب خط العرض الذي أدخلته، فأعد الحساب إذا ابتعدت كثيرًا شمالًا أو جنوبًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/web-mercator-ground-resolution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":40.7128,"zoom":12}'const res = await fetch("https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"latitude": 40.7128,
"zoom": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/web-mercator-ground-resolution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"latitude": 40.7128,
"zoom": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"latitude":40.7128,"zoom":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"latitude":40.7128,"zoom":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"latitude": 40.7128,
"zoom": 12
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.web_mercator_ground_resolution",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
فهم ما تقيسه الدقة الأرضية
استخدموا meters_per_pixel للتقدير قرب خط العرض المدخل واضربوه في العرض بالبكسل. أما meters_per_tile فيطبق الدقة نفسها على عرض بلاطة XYZ كاملة.
استخدام النتيجة من دون مبالغة في الدقة
تكلف API مقدار $0.002 لكل عنصر ناجح وتنفذ الحساب الحتمي نفسه المستخدم في المتصفح.
أسئلة تقنية
ما تكلفة طلب API؟
تكلفة كل عنصر تتم معالجته بنجاح هي $0.002. ويعيد الإدخال غير الصالح خطأ invalid_input.