Vimage Special

RTA: Einen Kartennetzentwurf berechnen

Dieses Spezialkapitel erläutert, wie man einen Kartennetzentwurf in RTA berechnet.

RTA („Reduced Transliteration Assembler“) ist die Technologie, mit der Vimage Kartennetzentwürfe realisiert. Dabei wird der Kartennetzentwurf in einem RTA-Programm beschrieben. Auf der Vimage-CD befinden sich im Unterverzeichnis „Kartennetzentwürfe“ derartige Programme für fast alle geläufigen Projektionen. Mit diesen kann man als Anwender ein Kartennetz erzeugen.

Wie Vimage Kartennetzentwürfe rechnet

Kartennetzentwürfe haben die Aufgabe die Erdkugel in die Kartenebene „zu projizieren“. Vimage rechnet Kartennetzentwürfe in einem zweistufigen Verfahren:

 

• Vimage enthält Projection engines, die eine Koordinatentransformation lediglich abstrakt mit einer allgemeinen Funktion  (x’,y’) = ƒ(x, y) ausführen.

 

• Die konkrete Funktion wird nun mit einem RT-Assemblerprogramm beschrieben. Das RT-Assemblerprogramm ist eine externe Datei. Dieses Programm wird innerhalb der Projection engine auf einem virtuellen Prozessor ausgeführt. Dabei wird die tatsächliche Formel, z. B. x’ = sin(x), y’ = y gerechnet.

 

Für etwa 300 Kartennetzentwürfe sind RTA-Programme vorhanden. So können Anwender fast immer auf fertige Programme zurückgreifen.


Arbeitsschritte

Optionen einstellen

Vor dem Aufruf der Projection engine muss einmalig die Option Zielgeometriewahl eingestellt werden.

 

Es gibt 3 mögliche Einstellungen, die mit dem Menü Datei/Optionen oder einer der folgenden Schaltflächen eingestellt werden können:

Option 1: Automatisch. Zielbild ist bei den Kartennetzentwürfen immer ein Bild mit 1000 x 500 Pixeln à 0,1 mm. Günstig für kleinere Versuche.

Option 2: Das Zielbild wird genau in der Geometrie des Sekundäroperators (Bild 8) angelegt.

Option 3: Die Zielbildgeometrie wird einer Fixbilddatei entnommen. Hier spart man gegenüber Option 2 Hauptspeicher, es wird aber jedes Mal nach einer Datei gefragt. Eine solche Datei lässt sich günstig mit der Menüfunktion „Geometrie/Großbild-Algorithmen/Leeres Zielbilddatei erzeugen“ herstellen.

 

Option 2 ist die Vorzugsvariante. Bei Großbild-Programmen wird immer mit Option 3 gearbeitet.

 

Quell- und Zielgeometrie festlegen

Wichtig ist, dass die Geometrie der Bilder richtig eingestellt ist. Die Geometrie wird mit dem Menü Bildverwaltung/Geometrieparameter oder der entsprechenden Schaltfläche („GEO“)  eingestellt. Dies betrifft sowohl das Quell- als auch das Zielbild.

 

Quellbild: Das Quellbild muss die Erdoberfläche in „geographischer Projektion“ darstellen, d. h. jedes Pixel muss ein Quadratgrad oder ein Bruchteil davon sein.

 

„Ganze Erdkugeln“ sind typisch z. B. 1801 x 3601 Pixel groß. Man stelle die SW-Ecke auf

die Koordinate –180, –90 und die NE-Ecke auf 180, 90. Das Geokoordinatenmaß ist Grad. Der hier angegebene Referenzmaßstab ist egal, er wird ignoriert. (Mit einem Referenzmaßstab in den Steuerdaten und einem Rechenmaßstab im Programm würde es zu unübersichtlich werden.)

 

Zielbild: Das Zielbild wird i. d. R. ein leeres „Papierblatt“ sein. Das Geokoordinatenmaß ist hier ein Papiermaß, also cm, mm oder E. Die Auflösung ist immer 0,1 mm (254 dpi). Andere Auflösungen kann man aber leicht durch eine entsprechende Umrechnung des Maßstabs erzeugen.

 

Ein Zielbild für eine Karte 10 x 15 cm wird z. B.1000 x 1500 Pixel mit 0,1 mm groß

sein. Bei eingestellter Zielbildgeometriewahl-Option 2 kann man sich mit dem Menüpunkt „Leeres Bild in Sekundäroperand“ im Geometrie-Menü schnell ein passendes Leerbild erzeugen.

 

Bilder laden

Das Quellbild muss sich im Akkumulator befinden. Sofern die Option Zielbildgeometriewahl

auf 2 eingestellt ist, muss sich ein (leeres) Bild mit der Zielbild-Geometrie im Sekundäroperand befinden.

 

Den Transformator rufen

Die Standardfunktion zum Rechnen von Kartennetzentwürfen ist die Menüfunktion Geometrie/Kartennetzentwurf rechnen (Transformator). Diese ruft eine Variante der Projection engine, die Transformator heißt. Darüber hinaus gibt es 16 weitere Varianten der Projection engine;

s. hierzu unten.

 

Ein RT-Assemblerprogramm auswählen

Der Transformator fragt nach einem RTA-Programm. Dies ist eine Textdatei mit dem Dateityp „.rta“. Geeignete Programme stehen im Verzeichnis „Kartennetzentwürfe“ der Vimage-CD. Bitte darauf achten, dass Programme genutzt werden, die mit „proj_“ beginnen. Programme, die mit „direct_“ anfangen, sind sog. Direkttransformationsprogamme und können mit dem Transformator nicht gerechnet werden.

 

Einen Dialog führen

Das RT-Assemblerprogramm fragt nun verschiedene Parameter, z. B. den Maßstab oder einen Mittelmeridian ab. Derartige Abfragen können von Kartennetz zu Kartennetz variieren; z. B. wird ein Berührungskegelentwurf eine Berührungsbreite, ein Schnittkegelentwurf hingegen zwei Schnittbreiten abfragen.

 

Berechnung

Nach dem Dialog arbeitet der RT-Prozessor das Programm ab und rechnet den Netzentwurf. Je nach Größe der Karte und Umfang der Formel rechne man mit etwa 10 Sekunden bis 30 Minuten Rechenzeit.


Die verschiedenen Projection engines

Die „Haupt-Projection engine“ ist der Transformator (Menüfunktion Geometrie/Kartennetzentwurf rechnen (Transformator)). Darüber hinaus gibt es weitere Projection engines.

 

Der Generator rechnet keinen Netzentwurf, sondern erzeugt nur ein Steuerbild (ein sog. Generatorbild oder Vektorenbild) in welchem das Rechenergebnis gespeichert ist. Dies ist zum einen für den Programmtest sinnvoll (man kann so Zwischenvariablen prüfen), zum anderen ist ein Generatorbild das Ausgangsmaterial für Translator und Differentiator. (Anmerkung: Ein Vektorenbild hat nichts mit einem Vektorbild zu tun.).

 

Der Translator erzeugt einen Netzentwurf anhand eines vom Generator berechneten Generatorbildes. Der Vorteil: Es geht bis zu 100-mal schneller, denn die numerisch aufwändige Berechnung hat bereits der Generator erledigt. Dies ist immer dann sinnvoll, wenn ein komplizierter Entwurf oder eine sehr große Karte mehrfach gerechnet werden soll.

 

Großbild-Generator und Großbild-Translator: Zur Rechnen von Bildern mit bis etwa 15000 Zeilen gibt es Großbild-Varianten von Generator und Translator. Diese werden über den Menüpunkt „Geometrie/Großbilder“ und arbeiten vollständig mit Dateien. Man braucht zu ihrer Bedienung etwas Erfahrung.

 

Der Differentiator gestattet die Berechnung von Verzerrungswerten wie z. B. Halbachsen der Tissotellipsen, Winkel- oder Flächenverzerrung etc. Voraussetzung ist ein mit dem Generator erzeugtes Generatorbild.

 

Der Animator erzeugt eine Serie von z. B. 360 Bilddateien mit Kartennetzen, wobei die geographische Länge immer ein kleines Stück weitergestellt wird. Aus dieser Dateiserie kann man mit einem Animationsprogramm eine animierte Erddarstellung, z. B. eine rotierende Erdkugel erzeugen. Die Bilddateinamen erhalten jeweils einen sechs Zeichen langen Suffix, der die geographische Länge in 1/100 Grad angibt.


Hauptreihe (Standardreihe) und Direktreihe

Geometrische Transformationen der Rasterdatenverarbeitung „scannen“ normalerweise ein Zielbild „durch“ und ermitteln zu jedem Zielpixel das Quellpixel, mit dem jenes gefüllt werden soll. Dieses Verfahren heißt Resampling. Man beachte, dass hier rückwärts, vom Zielbild zum Quellbild, gerechnet wird. Im Falle der Kartennetze ist hierfür eine sog. Inverstransformation erforderlich, d. h. es muss aus einer Kartenkoordinate x, y rückwärts eine geographische Koordinaten λ, φ errechnet werden: λ, φ = g(x, y).

 

Nun werden Kartennetzentwürfe in der Literatur allerdings meist als Vorwärtstransformation beschrieben, d. h. sie rechnen geographische Koordinaten λ, φ in Kartenkoordinaten um:

x, y = f(λ, φ). 

 

Häufig ist es möglich, die Vorwärtsformeln in Inversformeln umzustellen – aber nicht immer. So ist z. B. für den Winkelschen Entwurf keine Inversformel bekannt. Ein solches Netz kann folglich nicht resampelt werden.

 

Nun ist es allerdings denkbar, die Arbeitsrichtung umzukehren. Dies wird im Kontext Vimage als Dissampling bezeichnet. Grundsätzlich gibt es nun zu jeder (resampelnden) Projection engine der „Hauptreihe“ ein „Geschwisterprogramm“. Diese bilden eine „Direktreihe“ und heißen Direkttranslator, Direktgenerator, Direkttranslator etc. Auch die Großbild-Engines haben je ein Großbild-Direkt-Geschwisterchen. Lediglich der Animator hat kein dissampelndes Pendant.

 

Dissampling hat den Nachteil, dass es im Zielbild Bildpunkte geben kann, in die kein Quellpixel hineingeschrieben wird. Diese bleiben dann als Lücken zurück. Insgesamt benötigt man zum Arbeiten mit dem Direkttransformator etwas Fingerspitzengefühl.

Ein besonderes Kabinettstück ist der Direktdifferentiator, auch Jacobi-Maschine genannt. Ich bedanke mich herzlich bei Dr. Friedrich Krumm Stuttgart für die in keinem Kartographie-Lehrbuch zu findenden Satz: „Die Inverse der Jacobi-Matrix einer Funktion ist die Jacobi-Matrix der Inversen der Funktion.“ Was für eine wunderbare und schöne Synthese von Analysis und Algebra!


Mit Engines der Direktreihe arbeiten

 

Grundsätzlich ähneln die Programme der Direktreihe den Programmen der Hauptreihe. Es gibt aber einige Unterschiede:

 

1. Die Verfahren arbeiten (sofern es keine Großbildprogramme sind) mit einer „dissamplingtypischen“ Pixelschrittweite, die vor dem Start abgefragt wird. Zu große Schrittweiten hinterlassen in den Ergebnissen Löcher, die sich wie folgt verhindern lassen:

 

• Verringerung der Schrittweite. Nachteil: Die Rechenzeit steigt quadratisch. Bei den Großbild-engines nicht möglich.

 

• Arbeiten mit vergrößertem Quellbild. Methodisch  etwas besser, braucht aber ebenfalls viel Speicher und Rechenzeit;

 

• Kleinere isolierte Löcher können sehr gut mit der Menüfunktion „Höhen-modell/Fehlpixelrestauration/Mittelstark (G32)“ nachträglich geschlossen werden.

 

2. Hauptreihe und Direktreihe arbeiten mit unterschiedlichen RT-Assemblerprogrammen. Gewöhnliche (resampelnde) RTA-Programme beginnen mit der Vorsilbe „proj_“. In diesen Programmen ist immer eine Inversformel abgecodet. Programme für die Direkt-Engines enthalten Vorwärts- oder Forewardformeln und beginnen mit der Vorsilbe „direct_“. Diese Programme dürfen nicht verwechselt werden.

 

3. Ebenfalls sind ggf. die Generatorbilder strikt zu trennen. Der Generator erzeugt „inverse“ Generatorbilder, die nur mit Engines der Hauptreihe weiterbearbeitet werden dürfen (Translator und Differentiator). Der Direktgenerator hingegen erzeugt „direkte“ Generatorbilder, die das Ausgangsmaterial für den Direkttranslator bzw. Direktdifferentiator darstellen.

 

4. Translator und Differentiator erwarten ihre Generatorbilder in Sekundäroperanden (RM08:). Direkttranslator und Direktdifferentiator erwarten ihre Generatorbilder im Tertiäroperanden (RM09:).

 

5. Insgesamt ist für die Nutzung der Engines der Direktreihe etwas Erfahrung erforderlich. Zum Test größerer Netze wird empfohlen mit z. B. zehnfach verkleinerter Bildgröße Probetransformationen zu rechnen.


Hintergrund: Was verbirgt sich hinter den Generatorbildern?

 

Generatorbilder der Hauptreihe sind Bilder in der Abbildgeometrie, also der Kartengeometrie. Ihre Grauwerte (meist in 2 Bändern) speichern die zu je einem Kartenpixel zugehörige Urbildkoordinate (= Erdkoordinate in Grad).

 

Generatorbilder der Direktreihe sind Bilder in der Urbildgeometrie, also der Erdgeometrie. Hier speichern die Pixelgrauwerte jeweils die zugehörige Abbildkoordinate (= Karten­Koordinate in Standardeinheiten E). Die Urbildgeometrie ist um die „dissamplingtypische“ Pixelschrittweite vergrößert/verkleinert.

 

Man beachte auch, dass zwar ein Generatorbild der Hauptreihe eine Zielgeometrie festlegt, in der Direktreihe ist dies aber nicht der Fall. Darum ist die Zielgeometrie im Direktfall hier separat (Option Zielgeometriewahl/Sekundäroperand) festzusetzen. 


Zusammenfassung: Übersicht über die Projection engines

Insgesamt gibt es folgende 17 Projection engines:

Je Hauptreihe (Standardreihe) — Direktreihe

A) Gewöhnlicher oder Matrixzugriff

Transformator — Direkttransformator  

Generator  — Direktgenerator

Translator  — Direkttranslator

Differentiator — Direktdifferentiator

Animator  — [kein Direktprogramm]         

B) Großbildzugriff (mit einer zweikanaligen Generatorbilddatei)

Großbild-Generator — Großbild-Direktgenerator

Großbild-Translator — Großbild-Direkttranslator

C) Großbildzugriff mit 2 getrennten Generatorbilddateien

Großbild-Generator (Zweibildversion) — Großbild-Direktgenerator (Zweibildversion)

Großbild-Translator (Zweibildversion) — Großbild-Direkttranslator (Zweibildversion)


(Auszug aus: Vimage-Buch, 4. Aufl., Kapitel 4.1)

-SP-89-00

Zum Seitenanfang