Aufbereiten eines Luftbilds für den Flugsimulator FSX/P3D

  • Hallo zusammen.


    Vermutlich sind an diesem Punkt schon einige Leute nicht weitergekommen: Man möchte sein akquiriertes Luftbild in den Flugsimulator so einbinden, dass es sich nahtlos in das bestehende Terrain einbettet.


    Einleitung
    In der Regel bestehen Luftbilder aus rechteckigen Kacheln und liegen, wenn sie von einer deutschen Behörde kommen, zumeist in der Projektion ETRS89-UTM32/33 vor. Diese Projektion, die unter anderem die Erdkrümmung berücksichtigt und eine hohe Lagegenauigkeit hat, wird aber vom FSX/P3D bzw. deren Verarbeitungswerkzeugen nicht unterstützt - die einzige Projektion, die der FSX/P3D unterstützt, ist die Projektion WGS84 oder auch EPSG:4326. Neben diesen Projektionen gibt es noch viele andere Projektionen, je nachdem für welchen Zweck das Projekt ist.


    So muss man die Daten zunächst reprojizieren, was mit den Mitteln der modernen Geodatenverarbeitung recht einfach ist. Wir nehmen in unserem Beispiel das frei zugängliche Programm QuantumGis. QuantumGis, kurz QGIS, ist eine so genannte GIS-Software - das "GIS" steht für Geographisches Informationssystem.


    Diese Art von Software wird in allen Bereichen der modernen Geoverarbeitung verwendet, so auch in vielen wissenschaftlichen Bereichen. So kann man damit auch Überflutungsgebiete zu berechnen. Besonderes interessant die Software aber für die Stadt.- und Landschaftsplanung. Der FSX/P3D sind mittels dieser Software aufgebaut. Neben dem kostenlosen QGIS gibt auch professionelle Software, allem voran ArcMap von der Firma ESRI, siehe Bild 1 und 2:



    Bild 1: QuantumGis - Lindau Bodensee Bild 2: ArcMap - Lindau Bodensee






    Abschnitte
    - reprojizieren von Luftbilddaten (von etrs89 zu wgs84)
    - aufbereiten der INF-Datei um das Luftbild zu resampeln
    - erstellen eines Vektor-Layers um damit eine Blendmaske zu erstellen




    Reprojizieren der Luftbilddaten von ETRS89 zu WGS84


    Zunächst starten wir QGIS und speichern sogleich das Projekt unter dem Namen "mainz_etrs89". Menü -> Projekt -> Speichern als". In das noch leere Layerfenster ziehen wir nun das originale etrs89-Luftbild, siehe Bild 3:



    Bild 3: Das zusammenhängende Luftbild in der ETRS89-Projektion in QGIS


    Sollte das Luftbild aus mehreren Kacheln bestehen, wenden wir zuvor den Befehl "Verschmelzen an: "Menü - Raster -> Sonstiges -> verschmelzen". Der Grund: es ist sehr viel einfacher zunächst mit einem zusammenhängenden Lufbild zu arbeiten, anstatt mit vielen kleinen Lufbildkacheln :-)


    Nachdem wir das ETRS89-Luftbild nun im Layerfenster gezogen haben und es im Hauptfenster zu sehen ist, können wir es mit nun in der Projektion WGS84 exportieren: Wir klicken im Layerfenster mit der rechten Maustaste auf das Luftbild und wählen "Speichern als ..." aus. Daraufhin öffnet sich der Export-Dialog in dem wir unsere Optionen setzten müssen. Dies ist ein wichtiger Schritt, die wichtigen Stellen sind rot-markiert!



    Bild 4 und Bild 5: Exportoptionen setzen und exportieren


    Nachdem das Luftbild exportiert ist, können wir QGIS zunächst schließen.


    Für einen ersten Test könnten wir das Luftbild resampeln - zwecks überprüfen der Lagegenauigkeit. Falls noch nicht geschehen erstellen wir eine neue INF-Datei, zum Beispiel mit Notepad und kopieren dort die folgenden Zeilen hinein:


    [Source]
    Type = TIFF
    Layer = Imagery
    SourceDir = "."
    SourceFile = "mainz.tif"
    Variation = March,April,May,June,July,August,September,October,November
    ulyMap = 49.9915
    ulxMap = 8.13504
    xDim = 5.5154e-06
    yDim = 3.6375e-06

    NullValue = ,,,,0


    [Destination]
    DestDir = "."
    DestBaseFileName = "mainz"
    DestFileType = BGL
    LOD = Auto
    CompressionQuality = 100


    *natürlich müssen der Dateiname und die Pixeldimensionen gemäß deinem Projekt angepasst werden.


    Frage: Woher bekomme ich "diese" Pixeldimensionen?
    Antwort: Von QGIS selbst; unter Eigenschaften und im Reiter "Metadaten".


    Dann speichern wir die INF-Datei unter dem Namen "mainz" und mit der Dateiendung "inf" -> mainz.inf. Mit Hilfe dieser INF-Datei und dem Luftbild können wird eine BGL-Datei kompilieren, welche dann vom Sim gelesen werden kann und im Simulator als Luftbild angezeigt wird, siehe Bild 6:



    Bild 6: Testweise kompiliertes Luftbild - die schwarzen Ränder werden später mittels Alphakanal ausgeblendet. Aber die Lage des Luftbilds stimmt schon mal :-)





    Erstellen einer Blendmaske mittels Polygon-Shapedatei


    Wir starten QGIS und ziehen in das noch leere Layerfenster das exportierte WGS84-Luftbild "mainz.tif" und speichern zunächst das Projekt. Dieses Projekt dient für alle weiteren Arbeitsschritte.


    Wir erstellen nun einen neuen Vektor-Layer auf Polygon-Basis, um damit unsere Blendmaske herzustellen: "Menü -> Layer -> Shapedatei-Layer anlegen. Im sich öffnenden Dialog ändern wir oben auf "Polygon" und wählen KBS=WGS84 aus, siehe Bild 7 und Bild 8:



    Bild 7: Via Menü einen Vektorlayer erstellen, Bild 8: Die Optionen für den neuen Vektorlayer einstellen


    Anschließend klicken wir auf Ok und geben der Shapedatei den Namen "blendmaske". Mit klicken auf "Speichern" wird die neu erstellte Shapedatei dem Layerfenster hinzugefügt, siehe Bild 9:



    Bild 9: Neu erstellte Shapedatei mit dem Namen blendmaske.shp


    Nun können wir unsere Blendmaske einzeichnen, der Fachausdruck ist allerdings nicht einzeichnen, sondern digitalisieren, das aber nur am Rande.


    Wir schalten in den Bearbeitungsmodus (Bleistift) und können nun mit "Objekt hinzufügen" unsere Maske wie gewünscht einzeichnen. Mit Maus-Rechtsklick beenden wir das Einzeichnen des Polygons. Im sich öffnenden ID-Dialog können wir eine 1 eingeben, das ist aber für diesen Zweck nicht unbedingt notwendig. Nun schalten wir den Bearbeitungsmodus um (Bleistift) und klicken auf Speichern. Fertig ist unsere Blendmaske als Shapedatei auf Polygonbasis, siehe Bild 10:



    Bild 10: Fertig eingezeichnete Blendmaske als Shapedatei

    Edited once, last by Christian Bahr: Bildformatierung nachgebessert ().

  • Exportieren des maskierten Luftbilds als Alphakanal


    Mit Hilfe der in QGIS eingebauten Clipper-Funktion können wir unser Luftbild mit eines Polygons wunschgemäß schneiden, das heißt, man kann so bestimmte Bereiche des Luftbilds entweder als Rechteck, oder wie in unserem Fall als irregulären (nicht rechteckigen) Polygon ausschneiden.


    Zunächst markieren wir im Layerfenster "blendmaske" und wählen den Polygon im Hauptfenster aus und starten danach die Clipper-Funktion "Menü -> Raster -> Extraktion -> Clipper". Das setzten der richtigen Optionen im Clipper-Dialog ist sehr wichtig, auch der Text im unteren Eingabefeld muss stimmen!


    Als Ausgabedatei nehmen wir den Namen "blendmaske". Als Ausschnittsmodus wählen wir "Maskenlayer", siehe Bild 11 und 12:



    Bild 11: ausgewählter Blendmaske-Polygon, Bild 12: Optionen der Clipper-Funktion


    Nach dem setzten der Optionen und klicken auf Ok wird im Hintergrund das maskierte Luftbild als Tif-Datei exportiert und sobald der Export fertig ist, kommt der QGIS-Dialog "Verarbeitung abgeschlossen".




    Einarbeiten der Blendmaske "blendmaske.tif" in das Luftbild "mainz.tif"


    Dies wird der abschließende Schritt zur Aufbereitung eines Luftbilds mit Alphakanäle sein. Nach diesem Schritt kann das Luftbild resampelt werden und alle Bildinhalte, die im Luftbild nicht angezeigt werden sollen, werden mittels des Alphakanals 2 ausgeblendet:


    Wir laden die beiden Dateien mainz.tif und blendmaske.tif in Photoshop. Bei der Datei mainz.tif klicken wir zunächst im Ebenenfenster mit der rechten Maustaste auf die Ebene 0 und wählen aus dem Drop-Downmenü den Befehl "Auf Hintergrundebene reduzieren" aus. Direkt danach wechseln wir zum Kanäle-Fenster und fügen dem Luftbild zwei Alphakanäle hinzu und füllen beide Alphakanäle mit der Farbe weiß (Shift+F5), siehe Bild 13 und Bild 14:



    Bild 13: Das Lufbild auf "Hintergrundebene reduzieren", Bild 14: In Photoshop 2 Alphakanäle hinzufügen - Alphakanal 1=Wassermaske, Alphakanal 2=Blendmaske



    Nun wechseln wir zur Blendmaske blendmaske.tif und ziehen das ganze Bild in unser Luftbild mainz.tif herüber, um es dort als Vorlage für unsere Blendmakse zu nutzen. Zum leichteren Einpassen der Blendmaske blendmaske.tif empfiehlt es sich die Option "Ausrichten" einzuschalten, siehe Bild 15:



    Bild 15: Zum besseren Einpassen der blendmaske.tif die Option "Anpassen" einschalten.


    Das Ergebnis sollte so aussehen, siehe Bild 16:



    Bild 16: Korrekt eingepasste Blendmaske blendmaske.tif


    Nun wählen wir das Zauberstabwerkzeug und arbeiten mit den Einstellungen "Glätten + Benachbart". Dann markieren wir mit dem Zauberstab den schwarzen Bereich der Blendmaske. Direkt darauf folgt der Klick auf Kante verfeinern - mit der weichen kante stellen wir sicher, dass sich das spätere Luftbild ohne erkannbaren Übergang in das Terrain der Simulators einbettet, siehe Bild 17 und 18:



    Bild 17: Mit dem Zauberstab aufgewählter schwarzer Bereich, Bild 18: weiche Kante einstellen

  • Dann wechseln wir mit markiertem Schwarzen Bereich in das Kanäle-Fenster und wählen den Alphakanal 2 aus und füllen den markierten Bereich mit der Farbe Schwarz (Shift+F5), siehe Bild 19, 20 und 21:



    Bild 19: Markierter Bereich, Bild 20: Bereich mit schwarz gefüllt



    Bild 21: Alphakanal mit 3px Weiche Kante - durch die Weiche Kante fügt sich das Luftbild nahtlos in die Umgebung ein!


    Abschließend wechseln wir zurück in das Ebenenfenster und entfernen die Ebene 1 (blendmakse.tif) und speichen das Luftbild mit der Tastenkombination STRG+S - das ist wichtig!


    Das fertige Luftbild sollte nun so aussehen, siehe Bild 22 und 23:



    Bild 22 und Bild 23: Fertiges Luftbild mit zwei Alphakanäle



    Im TMF-Viewer und Simulator sieht das resampelte Luftbild dann so aus:



    Bild 24: Fertiges 30cm-Luftbild im TMF-Viewer, Bild 25: selbiges Luftbild im Simulator - mit Blendmaske, einer Weichen Kante und bereits nachcoloriert.



    Ein guter Tipp: Es ist nicht empfohlen aus dem Eingangsluftbild etwas zu löschen. Wenn man bestimmte Bereiche aus dem Eingangsluftbild ausblenden möchten, dann macht man das mit Hilfe des Alphakanals 2. Jeder angehende Geoinformatiker weiß noch vor seinem Studium: einmal gelöschte Bildinhalte sind weg, man kann sie nicht wieder herstellen :-)


    Christian

    Edited 2 times, last by Christian Bahr: Tippfehler korrigiert ().

  • Sensationell, Christian! So ein Tutorial in Deutsch ist einfach nicht mit Gold aufzuwiegen. Ich sollte mir tatsächlich mal QGIS anschauen. Vielen Dank für Deine Ausführungen :thumbsup:


  • Neben der Textform hat Christian auch ein kleines Tutorial Video gemacht. Schau mal ob es damit geht.

Participate now!

Don’t have an account yet? Register yourself now and be a part of Flusiboad!