home

Geländeformer

Der Geländeformer ist das zentrale Tool. Er erstellt die Grundplatte auf der Basis der digitalen Höhendaten und streckennahen Landschaft.

 integration.gif (34977 Byte)

Bild 1 zeigt eine mit dem Geländeformer erstellte Landschaft auf der Basis digitaler Höhendaten.

 

Gelaendeformer-Info.gif (79033 Byte)

 

Bild 2 ist eine Visualisierung einer dxf-Datei, die als Zwischenergebnis des Geländeformers erzeugt werden kann, und hier dazu dienen soll, die Vorgehensweise des Geländeformers zu erläutern.

 

DEM-Daten

Die DEM-Daten (die digitalen Höhendaten) werden vom Geländeformer im Format DEM erwartet, dem Hausformat von MicroDEM. In diesem Format liegen die Daten in einem festen Raster und (z.B. 30 oder 50 m) und bilden üblicherweise eine geschlossene Fläche, mit allerdings durchaus unregelmäßigem Rand.

Nur innerhalb dieser von den DEM-Daten abgedeckten Fläche wird der Geländeformer aktiv, vgl. "Karten- und Rechengrenzen" in obigem Bild 2.

Streckendaten

Während der Prototypentwicklung waren die Streckendaten ein Vektorlinienzug mit einer Breite von 0 ("Rohtrasse" im Bild 2). Im endgültigen Produkt soll hier die "Streckenlandschaft", also die unmittelbare Umgebung der Strecke, als Bezug oder "Kondensationskern" verwendet werden.

Die ursprünglichen Vektordaten der Rohtrasse waren zweidimensional. Die Höhe erhielten sie für jeden Koordinatenpunkt des Vektorlinienzuges durch sogenannte bilineare Interpolation aus dem DEM-Raster.

Das entstandene Höhenprofil folgt allen Geländeformen der DEM-Topographie, geht also über die Berge hinüber, statt im Tunnel untendurch, wie auf den Höhenprofilbildern oben zu sehen. Das ist verfahrensbedingt und bei der üblichen Rasterweite verfügbarer DEM-Daten nicht zu umgehen. Mit Hilfe des Absteckrechners kann man das wieder korrigieren.

Davon unabhängig weisen die so erzeugten Daten häufig für die weitere Verarbeitung unangenehme Sprünge auf, was die Veranlassung gab, eine Glättung darüber laufen zu lassen (s. "Höhenprofil" im Bild 2). Der Algorithmus mittels eines gaußförmigen Tiefpassfilters hat inzwischen seinen Weg auch in den Streckenkonverter gefunden.

Hüllkurven

Für die Verarbeitung der DEM-Daten gilt einerseits, dass sie nicht genau genug sein können, um möglichst wenig nacharbeiten zu müssen und nachher einen möglichst realistischen visuellen Eindruck zu bieten, andererseits bewirken DEM-Daten mit hoher Auflösung eine unermessliche Datenflut, die zur Laufzeit des Simulators vom 3D-Rendering der Graphics-Engine nicht mehr beherrscht werden kann. Als muss die Datenmenge reduziert werden. Dazu werden mehrere Abstände zur Streckenachse definiert, bei denen die Auflösung herabgesetzt wird. Für diese Abstände werden Hüllkurven berechnet (gelb in obigem Bild 2). Das im Geländefomer verwendete Verfahren dazu nimmt immer genau ein Streckenelement (zwei Punkte), verbreitert dies auf den gewünschten Abstand und setzt einen Halbkreis mit dem Abstand als Radius davor und dahinter. Anschließend werden die Flächen aller so verbreiterten Streckenelemente überlagert und vereinigt. Dieses Verfahren ist zwar rechenaufwendiger als Algorithmen für "breite Linien", die mit Winkelhalbierenden an Eckpunkten arbeiten, hat aber den Vorteil, auch für beliebig große Abstände (Breiten- zu Längenverhältnis) zu funktionieren.

Resampling der DEM-Daten

Für jede Abstandshüllkurve wird eine Gitterweite für die zu erstellenden Grundplattenpolygone definiert. In mehreren Layern werden jetzt für jede Gitterweite die quadratischen Grundplattenpolygone aus dem DEM-Daten jeweils für die gesamt DEM-Fläche erzeugt. Das ist weniger rechenaufwendig als speicherintensiv, aber am einfachsten zu realisieren. Entspricht die neue Rasterweite einem Vielfachen des Originalrasters der DEM-Daten, so wird schlicht nur jeder n-te Stützpunkt betrachtet, andernfalls wird wieder bilinear interpoliert. Im obigen Beispiel betrug die Rasterweite 30 m (US-Daten), aus der in zwei Stufen 150 m und 450 m gemacht wurden.

Hüllkurvenschnitt

Im nächsten und entscheidenden Schritt werden diese Polygon-Layer gegen die Hüllkurven geschnitten (grün in obigem Bild 2). Dies ist der rechenaufwendigste Teil des ganzen Verfahrens, vor allem, wenn es sich um die Polygone mit der kleinsten Gitterweite handelt. In obigem Beispiel waren immerhin 160 000 Polygone mit der Hüllkurve zu schneiden, wobei natürlich die meisten dann wegfielen, weil sie außerhalb lagen. Durch Optimierung konnte dieser Schneidevorgang erheblich verkürzt werden, so dass einiges an Rechenzeit eingespart wurde.

Inzwischen ist der Hüllkurvenschnitt weiter verfeinert worden und erzeugt jetzt auch an den Schnittlinien nurmehr Quadrate. 

Bei der Verwendung von Vektorlinien als Kondensationskern im Prototyp wurde übrigens die unmittelbare Nachbarschaft der Trasse aus der Berechnung ausgespart. Dort wurden überhaupt keine Grundplattenpolygone angelegt.

Export als .ls-Datei

Für den Prototypen war mit dem Hüllkurvenschnitt die Arbeit beendet. Die übrig gebliebenen und entlang der Hüllkurven beschnittenen Polygone wurden als .ls-Datei mit der Kennung "Grundplatte" exportiert und konnten vom Streckeneditor eingelesen werden. Für den endgültigen Geländeformer ist noch eine Nachbearbeitung erforderlich, zunächst eine Höhenausgleichsfilterung, die allzustarke Geländeabbrüche dämpft, und dann eine Triangulierung, damit Direct3D die Polygone auch verlustfrei darstellen kann.

 

Versionshinweise

Version 1.9

Version 1.8

Version 1.7

Version 1.5

Version 1.0

Version 0.9.5

Version 0.9.4

Version 0.9.3

Version 0.9.2.2 beta

Version 0.9.2.1 beta

Version 0.9.2 beta

Version 0.9.1 beta

Version 0.9 beta

Version 0.8 beta


© 2002 - 2006 Roland Ziegler