انتقل إلى المحتوى الرئيسي

نظرة عامة على واجهة برمجة التطبيقات

يوفر هذا القسم وثائق مرجعية كاملة لواجهة برمجة التطبيقات لحزمة MipMapEngine SDK، بما في ذلك جميع الواجهات المتاحة ووصف المعاملات وأمثلة الاستخدام.

قبل أن تبدأ

إذا لم تقم بتثبيت حزمة SDK بعد، يرجى التحقق من دليل التثبيت أولاً. للمستخدمين الجدد، يُنصح بالبدء بـ البداية السريعة.

توفر حزمة MipMapEngine SDK واجهات مختلفة لتلبية سيناريوهات الاستخدام المختلفة:

🏗️ هيكلة حزمة SDK

طبقات هيكلة MipMapEngine SDK

طبقة التطبيق

  • تطبيقك | Python/C++/CLI | خدمات الويب

طبقة واجهة برمجة التطبيقات

  • ReconstructFull (العملية الكاملة) | ReconstructAT (التثليث الجوي) | Reconstruct3D (إعادة البناء ثلاثي الأبعاد)

المحرك الأساسي

  • خوارزميات القياس التصويري | تسريع GPU | المعالجة المتوازية

طبقة النظام

  • NVIDIA CUDA | نظام الملفات | إدارة التراخيص

📚 فئات الواجهات

1. واجهات المعالجة المجمعة

مناسبة للمعالجة دون اتصال لكميات كبيرة من البيانات:

الواجهةالوظيفةحالة الاستخدام
ReconstructFullإعادة بناء العملية الكاملةبداية سريعة، معالجة تلقائية
ReconstructATالتثليث الجويتحكم دقيق، المستخدمون المحترفون
Reconstruct3Dإعادة البناء ثلاثي الأبعادإنشاء نماذج من نتائج AT
OptimizeATتحسين ATاستخدام نقاط التحكم لتحسين الدقة
DivideTilesمعالجة البلاطإعادة بناء كتل البيانات واسعة النطاق

2. الأدوات المساعدة

الأداةالوظيفة
License Engineإدارة التراخيص
Progress Monitorمراقبة التقدم

🔄 سير العمل النموذجي

الخيار 1: العملية الكاملة السريعة (موصى به للمبتدئين)

العملية الكاملة السريعة

ReconstructFullإخراج النتائج

حل من خطوة واحدة، يتعامل تلقائياً مع جميع العمليات

الخيار 2: المعالجة خطوة بخطوة (المستخدمون المحترفون)

تدفق المعالجة خطوة بخطوة

ReconstructATOptimizeAT (اختياري) → Reconstruct3Dإخراج النتائج

تحكم دقيق في كل خطوة، يدعم فحص النتائج الوسطية والتحسين

📝 طرق استدعاء الواجهة

1. استدعاء سطر الأوامر

تدعم حزمة SDK استدعاء سطر الأوامر المباشر لكل محرك:

# التنسيق العام
<engine_name> [options] -task_json <config_file>

# مثال: استدعاء ReconstructFull
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
التحقق من التثبيت

بعد التثبيت الأولي، يرجى الرجوع إلى دليل التثبيت لاختبار التحقق.

2. تكامل البرنامج

التكامل في تطبيقك من خلال استدعاءات العملية:

import subprocess
import json

# تحضير التكوين
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... معاملات أخرى
}

# حفظ ملف التكوين
with open("task.json", "w") as f:
json.dump(config, f)

# استدعاء SDK
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)

print(result.stdout)

🎯 اختيار الواجهة الصحيحة

توصيات اختيار الواجهة
إذا كنت...الموصى بهالسبب
تستخدم SDK لأول مرةReconstructFullيتعامل تلقائياً مع جميع التفاصيل، الأبسط
تحتاج لاستخدام نقاط التحكمReconstructAT + OptimizeATيدعم تحسين نقاط التحكم
معالجة بيانات فائقة الحجمDivideTiles + Reconstruct3Dيدعم المعالجة المتوازية للكتل
تحتاج لنتائج وسطيةالمعالجة خطوة بخطوةيمكن فحص وتعديل النتائج الوسطية

📖 المفاهيم الشائعة

ملفات تكوين JSON

جميع الواجهات تستخدم ملفات تكوين بتنسيق JSON، الهيكل الأساسي:

{
"license_id": 9200, // مطلوب: معرف الترخيص
"working_dir": "string", // مطلوب: دليل العمل
"gdal_folder": "string", // مطلوب: دليل بيانات GDAL
// ... معاملات أخرى تعتمد على الواجهة
}

تعريف نظام الإحداثيات

{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // رمز EPSG (اختياري)
"wkt": "string", // سلسلة WKT (اختياري)
"origin_point": [lon, lat, alt] // أصل LocalENU (مطلوب فقط عندما type=0)
}
}

معالجة الأخطاء

جميع الواجهات ترجع رموز أخطاء عددية صحيحة:

  • 0: نجح
  • أرقام سالبة: حالات خطأ مختلفة

راجع مرجع رموز الأخطاء للتفاصيل.

🚀 الخطوات التالية

  • 📚 تعلم المزيد عن واجهة ReconstructFull (موصى به للمبتدئين)
  • 🔧 ادرس واجهة ReconstructAT (المميزات المتقدمة)
  • 💡 راجع أمثلة كاملة للاستخدام العملي

نصيحة: يمكن تلبية احتياجات معظم المستخدمين باستخدام ReconstructFull. استخدم الواجهات الأخرى فقط عندما تحتاج للتحكم الدقيق.