Zum Inhalt

AutoOrtho

Die visuelle Qualität der Landschaftsdarstellung ist ein entscheidender Faktor für Sichtflüge (VFR) in Flugsimulatoren. Während X-Plane mit Standardtexturen arbeitet, werden diese häufig als veraltet empfunden. AutoOrtho behebt diese Einschränkung durch die Echtzeit-Integration von Satellitenbildern und ermöglicht eine präzise Darstellung von Infrastruktur, Vegetation und weiteren Geländemerkmalen. Die letzte von kubilus1 veröffentlichte Version 0.7.2 (21. Januar 2024) optimierte die Integration mit X-Plane und minimierte typische Probleme wie Szenerie-Konflikte oder Leistungseinbußen.

Inzwischen existiert ein aktiver Fork unter https://github.com/ProgrammingDinosaur/autoortho4xplane, in dem AutoOrtho kontinuierlich weiterentwickelt wird.

Funktionsweise

AutoOrtho implementiert ein Streaming-System für Orthophotos basierend auf der Flugzeugposition und rendert diese als Texturen in X-Plane. Das System operiert über mehrere Schlüsselmechanismen:

  • Das Echtzeit-Streaming-System lädt Satellitenbilder in Kacheln von Anbietern wie Bing, wobei eine Zoomstufe von bis zu 18 (ZL18) implementiert wird, um Detailgenauigkeit und Ladezeit zu optimieren. Kacheln für aktuelle und angrenzende Bereiche werden präventiv geladen, um nahtlose Übergänge zu gewährleisten, was eine stabile Internetverbindung von mindestens 100 Mbps erfordert.

  • Ein virtuelles Dateisystem (WinFSP/Dokan unter Windows, FUSE unter Linux) verwaltet die Kacheln in einem lokalen Cache auf SSD und stellt sie als Szenerie-Dateien im z_autoortho-Ordner des Custom Scenery-Verzeichnisses dar.

AutoOrtho liefert 2D-Orthophotos ohne 3D-Objekte. Für die Darstellung von Gebäuden und Vegetation wird SimHeaven (X-World) empfohlen, das OpenStreetMap-Daten implementiert. Overlays adaptieren die Bilder an das X-Plane-Terrain-Mesh und enthalten essentielle Informationen wie Flughafen-Glättungen, Verkehrsinfrastruktur und Eisenbahnlinien. Bei Verwendung von SimHeaven X-World sind die yOrtho-Overlays redundant.

Der Streaming-Prozess beeinflusst CPU-Auslastung, RAM-Verbrauch (bis zu 64 GB) und Festplattenleistung. Während SSDs Engpässe minimieren, können bei suboptimalen Verbindungen oder unzureichender Hardware Frame-Drops auftreten.

Erweiterte Funktionen des Forks (Version 2.0)

Der ProgrammingDinosaur Fork baut auf der ursprünglichen Codebasis auf und hat sich mit Version 2.0 zu einer eigenständigen Weiterentwicklung mit signifikanten Verbesserungen entwickelt:

  • C-Pipeline für Texturverarbeitung: Neue native C-Implementierung mit bis zu 3-facher Verbesserung der Ladezeiten gegenüber der Python-Pipeline. Vier Pipeline-Modi verfügbar: Auto (automatische Auswahl), Native (reines C), Hybrid (C + Python) und Python (Fallback)
  • .aob2 Bundle-Format: Neues kompaktes Datenformat für Szenerie-Pakete
  • Erhöhte Zoomstufen und Auflösung für X-Plane 12
  • Neue Benutzeroberfläche mit modernen Frameworks
  • Überarbeiteter Installer mit Sicherheitsprüfungen für Zielverzeichnisse
  • Verbesserte Szenerie-Download-Erfahrung (schneller und benutzerfreundlicher)
  • macOS-Kompatibilität (nur Apple Silicon)
  • Erweiterte Kartenanbieter: Bing, Google, Here, Yandex und Apple Maps
  • Automatische scenery_packs.ini-Konfiguration für die Verwendung mit SimHeaven

Installation und Konfiguration

Systemanforderungen

Das System erfordert X-Plane 11.50+ oder X-Plane 12, läuft unter Windows, Linux (mit FUSE) oder macOS (Apple Silicon). Abhängigkeiten umfassen WinFSP/Dokan (Windows), FUSE (Linux) und optional Python 3.x für Quellcode. Hardwareanforderungen umfassen 16 GB RAM, SSD-Speicher und eine schnelle Internetverbindung (≥100 Mbps).

Hinweis: Der ProgrammingDinosaur Fork bietet vollständige macOS-Kompatibilität für Apple Silicon-Prozessoren und erweiterte Funktionen für X-Plane 12.

Installationsprozess

AutoOrtho wird von GitHub (kubilus1/autoortho) heruntergeladen, entweder als Binary oder Installer. Für die neuesten Funktionen und Verbesserungen wird der ProgrammingDinosaur Fork empfohlen, der einen überarbeiteten Installer mit Sicherheitsprüfungen bietet. Windows-Benutzer installieren WinFSP/Dokan und starten autoortho_win.exe, während Linux-Benutzer FUSE benötigen und macOS-Benutzer (Apple Silicon) den entsprechenden Anweisungen folgen sollten.

Die Benutzeroberfläche erfordert die Angabe des X-Plane-Hauptverzeichnisses und des Custom Scenery-Verzeichnisses. Regionale Overlays (wenige GB) werden über den "Scenery"-Tab installiert. Der ProgrammingDinosaur Fork bietet eine automatische scenery_packs.ini-Konfiguration für die Verwendung mit SimHeaven. Die manuelle Konfiguration erfolgt mit folgender Struktur:

SCENERY_PACK Custom Scenery/yAutoOrtho_Overlays/
SCENERY_PACK Custom Scenery/z_ao_eur/
SCENERY_PACK Custom Scenery/z_autoortho/

Der z_autoortho-Eintrag wird am Ende platziert, um anderen Szenerien Priorität zu geben. Die aktuelle Version stellt Platzhalterverzeichnisse wieder her, um eine stabile Reihenfolge zu gewährleisten. AutoOrtho muss vor X-Plane gestartet werden, um das virtuelle Dateisystem zu mounten, und die scenery_packs.ini sollte schreibgeschützt sein bzw. von einem Tool wie xOrganizer verwaltet werden.

Das Verzeichnis yAutoOrtho_Overlays wird nur benötigt, sofern nicht SimHeaven benutzt wird.

Konfiguration

Der ProgrammingDinosaur Fork bietet eine moderne GUI für alle Konfigurationseinstellungen, die eine einfache Einrichtung ohne manuelle Dateibearbeitung ermöglicht. Die wichtigsten Einstellungen umfassen:

  • X-Plane-Pfad: Verzeichnis des X-Plane-Installationsordners
  • Cache-Verzeichnis: Speicherort für Orthofoto-Cache (empfohlen: schnelle SSD)
  • Kartenanbieter: Auswahl zwischen Bing, Google, Here, Yandex und Apple Maps
  • Cache-Größe: Maximale Cache-Größe in GB — wird das Limit erreicht, werden ältere Kacheln automatisch entfernt
  • Wartezeit: Balance zwischen Qualität und Reaktionszeit
  • Zoom-Level: Mindest- und Maximalzoom für Satellitenbilder
  • Autostart: Automatischer Start mit X-Plane
  • Debug-Modus: Erweiterte Logging-Informationen

Für erweiterte Konfigurationen kann weiterhin die .autoortho-Konfigurationsdatei manuell bearbeitet werden, wenn gewünscht.

Für optimale Erfahrung fügt SimHeaven X-World 3D-Objekte und Autogen hinzu, während xOrganizer/xToolbox die Szenerie-Verwaltung vereinfacht. vStates bietet eine Alternative für vorgefertigte Orthophotos.

Vergleich mit Ortho4XP

AutoOrtho und Ortho4XP verfolgen architektonisch unterschiedliche Ansätze, die jeweils für verschiedene Spielerprofile optimiert sind.

Dimension AutoOrtho Ortho4XP
Datenbeschaffung On-Demand-Streaming zur Laufzeit Vorab generiert (offline)
Speicherbedarf Cache mit automatischer Bereinigung (Limit konfigurierbar) Dauerhaft pro Region (1–8 GB bei ZL17)
Internetbedarf Ja (bei Cache-Miss) Nein (nach Generierung)
Max. Zoomstufe Bis ZL18 (Fork 2.0) Bis ZL19
Spontanität Sofort fliegbar, weltweit Vorab-Generierung erforderlich (30 Min. bis Stunden)
Visuelle Konsistenz Progressives Laden bei Erstbesuch Sofort volle Qualität
Offline-Fähigkeit Nur gecachte Regionen Vollständig

Welches System passt besser?

  • Habitueller Spieler (wiederkehrende Stammflughäfen): Ortho4XP bietet hier strukturelle Vorteile — nach einmaliger Generierung liegt der gesamte Datenbestand lokal vor, die Cache-Trefferquote beträgt 100 %, und es bestehen keine Laufzeitabhängigkeiten von Netzwerk oder Kartenservern.

  • Explorativer Spieler (ständig neue Destinationen): AutoOrtho ist die bessere Wahl — keine Vorab-Generierung, spontanes Anfliegen weltweit möglich. Ortho4XP würde hier zu einem stetig wachsenden Datenbestand führen, der kaum wiederverwendet wird.

  • Hybrider Spieler: Die Kombination beider Systeme bietet das Beste aus beiden Welten.

Cache-Verhalten

AutoOrtho verfügt über eine automatische Cache-Bereinigung: Wird die konfigurierte Cache-Größe erreicht, werden ältere Kacheln automatisch entfernt, um Platz für neue zu schaffen. Im Gegensatz zu Ortho4XP, wo generierte Tiles dauerhaft auf der Festplatte verbleiben, reguliert AutoOrtho seinen Speicherverbrauch somit selbstständig.

Häufige Probleme und Lösungen

Für grundlegende Installations- und Konfigurationsprobleme (Initialisierungsfehler, FUSE-Probleme, Python-Modul-Probleme, Performance-Probleme) wird auf die aktuelle Dokumentation des ProgrammingDinosaur Forks verwiesen, da diese Probleme in der neueren Version behoben oder vereinfacht wurden.

Weitere spezifische Probleme bei der Verwendung von AutoOrtho:

  1. Flughafen-Topographie-Probleme:

    • Ursache: Fehlende automatische Flughafen-Glättung bzw. fehlende Ortho Patches für die Flughafen-Szenerie
    • Lösung: Implementierung von Ortho Patches oder dem flatten 1 Parameter in der apt.dat und Überprüfung der Priorisierung von Flughafen-Szenerien
  2. Netzwerkprobleme:

    • Log-Eintrag: HTTP 429: Too Many Requests
    • Ursache: Bing-Blacklisting
    • Lösung: VPN verwenden oder zu USGS-Quellen wechseln
  3. Szenerie-Konflikte:

    • Log-Eintrag: Warning: z_autoortho not found in scenery_packs.ini
    • Ursache: Falsche Szenerie-Reihenfolge
    • Lösung: Reihenfolge in scenery_packs.ini korrigieren
  4. Speicherprobleme:

    • Log-Eintrag: MemoryError: Out of memory
    • Ursache: Hohe RAM-Auslastung
    • Lösung: Cache-Größe reduzieren, X-Plane-Grafikeinstellungen senken.
  5. Abstürze:

    • Ursache: RAM-Überlastung oder Add-on-Konflikte
    • Lösung: Deaktivieren von Add-ons, Erhöhen des RAMs oder Reduzieren der Cache-Größe

Log-Analyse

Der Benutzer kann die autoortho.log mit verschiedenen Methoden analysieren:

  • Gesamtes Log anzeigen:

    cat ~/.autoortho-data/autoortho.log | less
    

  • Log in Echtzeit überwachen:

    tail -f ~/.autoortho-data/autoortho.log
    

  • Nach spezifischen Fehlern suchen:

    grep -i "error" ~/.autoortho-data/autoortho.log
    

Für detailliertere Log-Informationen kann in den Settings oder der .autoortho Konfigurationsdatei der Debug-Modus aktiviert werden:

# Debug-Modus
debug = true

Linux-spezifische Installation

Installationsbeispiel: AutoOrtho auf Debian 12 mit pyenv

Dieser Abschnitt bietet eine detaillierte Anleitung zur Installation von AutoOrtho mit der Python-Version auf einem Debian 12-System. Das Beispiel zeigt, wie eine isolierte Python-Umgebung mit pyenv eingerichtet wird und enthält umfassende Fehlerbehebung mit der autoortho.log-Datei.

Hinweis: Für die neuesten Funktionen wird der ProgrammingDinosaur Fork empfohlen, der eine verbesserte GUI und erweiterte Kompatibilität bietet.

Systemanforderungen

Das Beispielsystem läuft mit Debian 12 (Bookworm) und X-Plane 12, verfügt über eine SSD, 32 GB RAM und eine stabile Internetverbindung mit 200 Mbps. Erforderliche Abhängigkeiten umfassen:

  • fuse3 für das virtuelle Dateisystem
  • git, build-essential, libssl-dev, zlib1g-dev für pyenv und Python
  • Python 3.12+ (verwaltet über pyenv) - empfohlen für den ProgrammingDinosaur Fork
  • Einige GB SSD-Speicher für Overlays und Cache

Schritt-für-Schritt Installation

  1. Systemvorbereitung: Der Benutzer aktualisiert das System und installiert grundlegende Abhängigkeiten:

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y fuse3 libfuse2 git curl build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev \
    xz-utils tk-dev libffi-dev liblzma-dev python3-openssl
    
  2. pyenv-Einrichtung: Nach der Installation von pyenv konfiguriert der Benutzer seine Umgebung:

    curl https://pyenv.run | bash
    

    Zu ~/.bashrc hinzufügen:

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init --path)"
    eval "$(pyenv init -)"
    

    Python 3.12.0 installieren:

    pyenv install 3.12.0
    pyenv global 3.12.0
    

  3. AutoOrtho-Installation: Repository klonen und virtuelle Umgebung einrichten:

    # Für den ProgrammingDinosaur Fork (empfohlen):
    git clone https://github.com/ProgrammingDinosaur/autoortho4xplane.git ~/autoortho
    cd ~/autoortho
    
    pyenv virtualenv 3.12.0 autoortho
    pyenv activate autoortho
    pip install --upgrade pip
    pip install -r requirements.txt
    
  4. X-Plane-Konfiguration: scenery_packs.ini mit der korrekten Reihenfolge konfigurieren:

    SCENERY_PACK Custom Scenery/yAutoOrtho_Overlays/
    SCENERY_PACK Custom Scenery/z_ao_eur/
    SCENERY_PACK Custom Scenery/z_autoortho/
    

    Datei schreibgeschützt machen:

    chmod 444 ~/X-Plane-12/Custom\ Scenery/scenery_packs.ini
    

Fazit

Dieses Installationsbeispiel zeigt, wie AutoOrtho in einer Python-Umgebung auf Debian 12 eingerichtet wird. Die Python-Version bietet Flexibilität durch Quellcode-Zugriff, während die autoortho.log-Datei detaillierte Einblicke in den Systembetrieb liefert. Mit korrekter Konfiguration und Optimierung können Benutzer hochwertige Orthophotos in X-Plane 12 genießen, verbessert durch 3D-Objekte von SimHeaven.

Die Kombination von AutoOrtho mit SimHeaven X-World schafft eine umfassende Szenerie-Lösung, die sowohl detaillierte Orthophotos als auch präzise 3D-Objekte bietet. Während AutoOrtho die Bodentexturen handhabt, fügt SimHeaven Gebäude, Bäume und andere 3D-Elemente basierend auf OpenStreetMap-Daten hinzu.

Ressourcen