Zum Hauptinhalt springen

API-Übersicht

Dieser Abschnitt bietet eine vollständige API-Referenzdokumentation für das MipMapEngine SDK, einschließlich aller verfügbaren Schnittstellen, Parameterbeschreibungen und Verwendungsbeispiele.

Bevor Sie beginnen

Falls Sie das SDK noch nicht installiert haben, überprüfen Sie bitte zuerst die Installationsanleitung. Für Erstbenutzer wird empfohlen, mit Schnellstart zu beginnen.

MipMapEngine SDK bietet verschiedene Schnittstellen für unterschiedliche Verwendungsszenarien:

🏗️ SDK-Architektur

MipMapEngine SDK-Architekturebenen

Anwendungsebene

  • Ihre Anwendung | Python/C++/CLI | Webservices

API-Schnittstellenebene

  • ReconstructFull (Vollständiger Prozess) | ReconstructAT (Aerotriangulation) | Reconstruct3D (3D-Rekonstruktion)

Kern-Engine

  • Photogrammetrie-Algorithmen | GPU-Beschleunigung | Parallelverarbeitung

Systemebene

  • NVIDIA CUDA | Dateisystem | Lizenzverwaltung

📚 Schnittstellenkategorien

1. Batch-Verarbeitungsschnittstellen

Geeignet für die Offline-Verarbeitung großer Datenmengen:

SchnittstelleFunktionAnwendungsfall
ReconstructFullVollständige ProzessrekonstruktionSchnellstart, automatische Verarbeitung
ReconstructATAerotriangulationFeine Kontrolle, professionelle Benutzer
Reconstruct3D3D-RekonstruktionModelle aus AT-Ergebnissen generieren
OptimizeATAT optimierenKontrollpunkte zur Genauigkeitsverbesserung verwenden
DivideTilesKachelverarbeitungGroßmaßstäbliche Datenblockrekonstruktion

2. Hilfswerkzeuge

WerkzeugFunktion
License EngineLizenzverwaltung
Progress MonitorFortschrittsüberwachung

🔄 Typische Arbeitsabläufe

Option 1: Schneller Vollprozess (Empfohlen für Anfänger)

Schneller Vollprozess

ReconstructFullAusgabeergebnisse

Einstufige Lösung, behandelt automatisch alle Prozesse

Option 2: Schrittweise Verarbeitung (Professionelle Benutzer)

Schrittweiser Verarbeitungsablauf

ReconstructATOptimizeAT (Optional) → Reconstruct3DAusgabeergebnisse

Feine Kontrolle über jeden Schritt, unterstützt Zwischenergebnisüberprüfung und Optimierung

📝 Schnittstellenaufrufmethoden

1. Kommandozeilenaufruf

SDK unterstützt direkte Kommandozeilenaufrufe für jede Engine:

# Allgemeines Format
<engine_name> [options] -task_json <config_file>

# Beispiel: ReconstructFull aufrufen
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
Installationsüberprüfung

Nach der Erstinstallation beziehen Sie sich bitte auf die Installationsanleitung für Überprüfungstests.

2. Programmintegration

Integration in Ihre Anwendung durch Prozessaufrufe:

import subprocess
import json

# Konfiguration vorbereiten
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... andere Parameter
}

# Konfigurationsdatei speichern
with open("task.json", "w") as f:
json.dump(config, f)

# SDK aufrufen
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)

print(result.stdout)

🎯 Die richtige Schnittstelle wählen

Empfehlungen zur Schnittstellenauswahl
Wenn Sie...EmpfohlenGrund
SDK zum ersten Mal verwendenReconstructFullBehandelt automatisch alle Details, am einfachsten
Kontrollpunkte verwenden müssenReconstructAT + OptimizeATUnterstützt Kontrollpunktoptimierung
Ultra-große Daten verarbeitenDivideTiles + Reconstruct3DUnterstützt parallele Blockverarbeitung
Zwischenergebnisse benötigenSchrittweise VerarbeitungKann Zwischenergebnisse überprüfen und anpassen

📖 Allgemeine Konzepte

JSON-Konfigurationsdateien

Alle Schnittstellen verwenden JSON-Format-Konfigurationsdateien, Grundstruktur:

{
"license_id": 9200, // Erforderlich: Lizenz-ID
"working_dir": "string", // Erforderlich: Arbeitsverzeichnis
"gdal_folder": "string", // Erforderlich: GDAL-Datenverzeichnis
// ... andere Parameter abhängig von der Schnittstelle
}

Koordinatensystemdefinition

{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // EPSG-Code (optional)
"wkt": "string", // WKT-String (optional)
"origin_point": [lon, lat, alt] // LocalENU-Ursprung (nur erforderlich wenn type=0)
}
}

Fehlerbehandlung

Alle Schnittstellen geben Integer-Fehlercodes zurück:

  • 0: Erfolg
  • Negative Zahlen: Verschiedene Fehlerbedingungen

Siehe Fehlercoderreferenz für Details.

🚀 Nächste Schritte

  • 📚 Mehr über ReconstructFull-Schnittstelle erfahren (empfohlen für Anfänger)
  • 🔧 ReconstructAT-Schnittstelle studieren (erweiterte Funktionen)
  • 💡 Vollständige Beispiele für praktische Verwendung überprüfen

Tipp: Die Bedürfnisse der meisten Benutzer können mit ReconstructFull erfüllt werden. Verwenden Sie andere Schnittstellen nur, wenn feine Kontrolle erforderlich ist.