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