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

فك كود مورتون وتحويل فهرس Z-order إلى x وy

تعكس أداة فك كود Morton تعيين Z-order ثنائي الأبعاد. أدخل فهرسًا عشريًا غير موقّع، فتفصل الأداة البتات المتناوبة لاستعادة إحداثيي x وy الأصليين.

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

وهي تدعم نطاق Morton الكامل من 64 بت، ولذلك يمكن لكل إحداثي استخدام 32 بت غير موقعة كاملة. العملية دقيقة وحتمية، وتفيد في فحص الفهارس المكانية وتصحيح برامج الترميز وقراءة معرّفات البلاطات المدمجة والتحقق من شيفرات قواعد البيانات والرسوميات من دون كتابة برنامج خاص لمعالجة البتات.

كيف يستعيد فك Morton إحداثيين

يخزن كود Morton ثنائي الأبعاد سلسلتي بتات للإحداثيين داخل عدد صحيح واحد. بدءًا من الطرف الأقل أهمية، يخص الموضع 0 الإحداثي x، ويخص الموضع 1 الإحداثي y، ثم يعود الموضع 2 إلى x ويستمر التناوب. لذلك لا تتضمن عملية الفك تقريبًا أو قسمة أو تخمينًا للموقع. تنقل كل بت في موضع زوجي إلى الموضع المناظر في x، وكل بت في موضع فردي إلى y. فمثلًا تصبح البت في موضع Morton رقم 6 البت رقم 3 في x، وتصبح البت في الموضع 7 البت رقم 3 في y. تطبق الأداة هذه القاعدة على البتات الـ64 المتاحة لتنتج إحداثيين غير موقعين من 32 بت. كما تعيد الكود في صورة سلسلة عشرية موحّدة، مما يزيل التباس الأصفار البادئة ويحفظ القيمة الرقمية الدقيقة. هذا هو الترتيب الثنائي الشائع الذي يشغل فيه x المواضع الزوجية. إذا كان نظام المصدر يداخل y أولًا، فبدّل الإحداثيين الناتجين أو عدّل قاعدة برنامج الترميز قبل مقارنة النتائج.

إدخال الأكواد الكبيرة من دون فقدان الدقة

أرسل فهرس Morton في الحقل code كسلسلة لعدد صحيح عشري غير موقّع، مثل "39" أو "18446744073709551615". السلسلة ضرورية للقيم الكبيرة لأن أعداد JSON وJavaScript العادية لا تمثل بدقة جميع الأعداد الصحيحة في نطاق 64 بت غير الموقع. تحلل الأداة السلسلة بحساب صحيح دقيق ولا تحول كود Morton المدمج إلى عدد ذي فاصلة عائمة. ترفض الإشارات والكسور والترميز الأسي والمسافات والفواصل وبادئات النظام السداسي عشري والقيم الأكبر من 2^64 ناقص واحد، بدل تقريبها أو تفسيرها ضمنيًا. يقبل التنفيذ الأعداد الصحيحة الصغيرة الآمنة احترازيًا، لكن العقد المنشور يستخدم سلسلة لضمان دقة الطلب في كل SDK ووسيلة نقل. لا تتجاوز قيمتا x وy العدد 4,294,967,295، وهو ضمن المجال الدقيق لأعداد JSON، لذا تعادان كحقلين رقميين. ينتج عن الكود صفر x بقيمة صفر وy بقيمة صفر، وينتج عن أكبر كود أعلى قيمة على المحورين.

استخدام النتيجة لاختبار الأنظمة المكانية

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

تصحيح فهرس مكاني

حوّل مفتاح Z-order غير المتوقع إلى x وy لتحديد خلل في برنامج الترميز أو ترتيب المحاور أو إزاحة البتات.

فحص معرّفات الأشجار الرباعية والبلاطات

استعد موضع الشبكة الصحيح من مفتاح Morton مدمج قبل تطبيق مقياس التطبيق أو إسقاطه.

التحقق من دورة الترميز

أضف اختبارات فك حتمية لقواعد البيانات والمحاكاة والألعاب والرسوميات وترتيبات البيانات الملائمة للذاكرة المخبأة.

أي البتات تخص كل إحداثي؟

تُفك مواضع Morton رقم 0 و2 و4 وسائر المواضع الزوجية إلى x، وتُفك المواضع 1 و3 و5 وسائر المواضع الفردية إلى y.

ما أكبر كود Morton مدعوم؟

الحد الأقصى هو 18446744073709551615، أي 2^64 ناقص واحد. وينتج x = 4294967295 وy = 4294967295.

لماذا يجب إرسال الكود كسلسلة؟

تحفظ السلاسل العشرية كل عدد صحيح من 64 بت بدقة في JSON وJavaScript، بينما قد تُقرّب أعداد JSON الكبيرة.

هل تحول الأداة النتيجة إلى خط عرض وطول؟

لا. تستعيد إحداثيات صحيحة غير موقعة فقط. ويحدد نظام إنشاء الكود الإسقاط والمقياس والإزاحات وقواعد الإشارة.

ما تكلفة طلب API؟

تبلغ تكلفة كل طلب API مقدار $0.002. ولا تستخدم الخوارزمية خدمة شبكة أو نموذجًا احتماليًا.

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

POSThttps://api.kit.forhosting.com/dev/morton-decode

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

curl -X POST https://api.kit.forhosting.com/dev/morton-decode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"39"}'
{
  "code": "39"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.morton_decode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

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