API-Übersicht
Dieser Abschnitt bietet eine vollständige API-Referenzdokumentation für das MipMapEngine SDK, einschließlich aller verfügbaren Schnittstellen, Parameterbeschreibungen und Verwendungsbeispiele.
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
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:
| Schnittstelle | Funktion | Anwendungsfall |
|---|---|---|
| ReconstructFull | Vollständige Prozessrekonstruktion | Schnellstart, automatische Verarbeitung |
| ReconstructAT | Aerotriangulation | Feine Kontrolle, professionelle Benutzer |
| Reconstruct3D | 3D-Rekonstruktion | Modelle aus AT-Ergebnissen generieren |
| OptimizeAT | AT optimieren | Kontrollpunkte zur Genauigkeitsverbesserung verwenden |
| DivideTiles | Kachelverarbeitung | Großmaßstäbliche Datenblockrekonstruktion |
2. Hilfswerkzeuge
| Werkzeug | Funktion |
|---|---|
| License Engine | Lizenzverwaltung |
| Progress Monitor | Fortschrittsüberwachung |
🔄 Typische Arbeitsabläufe
Option 1: Schneller Vollprozess (Empfohlen für Anfänger)
ReconstructFull → Ausgabeergebnisse
Einstufige Lösung, behandelt automatisch alle Prozesse
Option 2: Schrittweise Verarbeitung (Professionelle Benutzer)
ReconstructAT → OptimizeAT (Optional) → Reconstruct3D → Ausgabeergebnisse
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
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
| Wenn Sie... | Empfohlen | Grund |
|---|---|---|
| SDK zum ersten Mal verwenden | ReconstructFull | Behandelt automatisch alle Details, am einfachsten |
| Kontrollpunkte verwenden müssen | ReconstructAT + OptimizeAT | Unterstützt Kontrollpunktoptimierung |
| Ultra-große Daten verarbeiten | DivideTiles + Reconstruct3D | Unterstützt parallele Blockverarbeitung |
| Zwischenergebnisse benötigen | Schrittweise Verarbeitung | Kann 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: ErfolgNegative 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.