Eine wichtige Anwendung der bisher eingeführten Werkzeuge sind Koordinatentransformationen einschließlich damit verbundener Projektionstechniken (siehe unter für ein Praxisbeispiel). Ziel ist die Wahl von für den jeweiligen Einsatzzweck besonders gut geeigneten Koordinatensystemen zur Beschreibung der Position von Punkten und anderen geometrischen Objekten. Gut geeignet ist ein Koordinatensystem immer dann, wenn die Koordinaten der betrachteten Objekte einfach zu handhaben sind, also z.B. nur wenige Koordinaten von Null verschieden sind oder relevante Objekteigenschaften direkt aus den Koordinaten abgelesen werden können.
Konzentrieren uns hier auf lineare Koordinatentransformationen. Erwähnen aber zunächst zwei wichtige nichtlineare Transformationen.
5.6.1Nichtlineare Koordinatentransformationen¶
Für die spätere Verwendung, jedoch ohne nähere Untersuchung, seien hier Polar- und Kugelkoordinaten erwähnt. Dabei handelt es sich um sehr spezielle Koordinatensysteme, die nicht durch lineare Transformationen aus dem Standardkoordinatensystem erhalten werden können. Unter “Standardkoordinatensystem” verstehen wir in die Angabe von Koordinaten bezüglich der Basis ; in analog. Solche Koordinatensysteme und entsprechende Transformationen sind Inhalt von spezielleren Lehrveranstaltungen zum Vermessungswesen.
5.6.1.1Polarkoordinaten¶
Als Polarkoordinaten versteht man die Darstellung eines Punktes in der Ebene durch zwei Werte und , wobei der Abstand zum Koordinatenursprung ist und den Winkel zwischen positiver -Achse und dem Strahl vom Ursprung durch angibt. Polarkoordinaten hatten wir bereits im Abschnitt Trigonometrische Funktionen eingeführt; dort findet man auch eine grafische Darstellung des Sachverhalts.
Die Transformation von Polarkoordinaten zu Standardkoordinaten ist durch
gegeben. In umgekehrter Richtung gilt
Die Berechnung von lässt sich jedoch nur umständlich als Formel aufschreiben. Allerdings bieten mathematische Software-Bibliotheken (z.B. NumPy) meist eine Funktion atan2 an. Dies ist eine spezielle Variante des Arcustangens, die zu den zwei zu übergebenden Argumenten und gerade den Winkel liefert.
5.6.1.2Kugelkoordinaten¶
Als Kugelkoordinaten versteht man die Darstellung eines Punktes im Raum durch drei Werte , und , wobei der Abstand zum Ursprung ist, den Winkel zwischen positiver -Achse und dem Strahl vom Ursprung durch angibt und der Winkel zwischen positiver -Achse und dem Strahl vom Ursprung durch ist.
Lage der Winkel bei Kugelkoordinaten (Quelle: commons
Die Transformation von Kugelkoordinaten zu Standardkoordinaten ist durch
gegeben. In umgekehrter Richtung gilt
Die Berechnung der beiden Winkel lässt sich nur mühsam in Formeln ausdrücken und entfällt hier deshalb.
Beachte, dass die hier wiedergegebene und in der Mathematik übliche Form der Kugelkoordinaten von der in der Geografie üblichen Darstellung abweicht. Der Winkel entspricht der geografischen Länge eines Punktes, wobei in der Geografie meist das Intervall verwendet wird. Der Winkel entspricht gerade dem Wert
Statt vom Nordpol ausgehend misst man in der Geografie also relativ zur Äquatorebene.
Lage der Winkel bei geografischen Koordinaten (Quelle: commons
Außerdem werden in der Geografie Breite und Länge üblicherweise im Gradmaß und nicht, wie in der Mathematik verbreitet, im Bogenmaß angegeben. In beiden Gebieten ist jedoch im Prinzip beides möglich, da sich die entsprechenden Zahlenwerte nur um einen konstanten Faktor unterscheiden:
5.6.2Koordinatensysteme¶
Haben den Begriff “Koordinatensystem” bisher eher intuitiv verwendet ohne genauere Definition. Präzisieren diesen Begriff nun, damit Missverständnisse vermieden werden. Beachte, dass wir im Weiteren nur geradlinige, rechtwinklige Koordinatensystem betrachten ohne dies explizit sprachlich sichtbar zu machen, also solche, die die folgenden beiden Bedingungen erfüllen:
Bei Veränderung genau einer Koordinate eines Punktes wird der Punkt entlang einer Gerade verschoben.
Die Verschiebungsrichtungen bei Änderung jeweils genau einer Koordinate verlaufen senkrecht zueinander.
Beispielsweise liefern Polarkoordinaten und Kugelkoordinaten keine geradlinigen Koordinatensysteme, da das Verändern eines Winkels zu einer krummlinigen Bewegung des Punktes führt. Manchmal werden die hier betrachteten Koordinatensysteme als “kartesisch” bezeichnet. Diese Bezeichnung wird aber in der Literatur unterschiedlich verwendet.
Die Koordinaten das Punktes bzgl. des Koordinatensystems sind gerade die Koordinaten des Vektors bzgl. der Basis .
Im Folgenden bezeichnen wir mit stets die Standardbasis in ( hat als -te Komponente eine Eins, sonst Nullen). Zusammen mit dem Ursprung beschreibt diese das Standardkoordinatensystem in .
Beachte, dass wir zwischen “Koordinaten bzgl. einer Basis” und “Koordinaten bzgl. eines Koordinatensystems” unterscheiden. Erstere werden relativ zum Punkt angegeben, letztere relativ zum Ursprung des Koordinatensystems. Die Koordinaten bzgl. einer Basis sind identisch mit den Koordinaten bzgl. des Koordinatensystems (hier steht 0 für den Nullpunkt ).
Schreiben wir die Basisvektoren eines Koordinatensystems als Spalten in eine Matrix, so können wir entsprechend den Ausführungen in Beispiel: Koordinaten bzgl. einer Basis die Koordinaten eines Punktes bzgl. des Koordinatensystems als Matrix-Vektor-Produkt berechnen. Um nicht zu viele verschiedene Symbole einzuführen, verwenden wir für die Basis und für die Matrix der Basisvektoren das selbe Symbol . Je nach Kontext handelt es sich dabei also um eine Menge von Vektoren oder um eine Matrix! Für die Koordinaten eines Punktes bzgl. des Koordinatensystems gilt nun
Umgekehrt bekommt man aus den Koordinaten auch die Werte zurück (vorherige Formel umstellen; dabei beachten):
5.6.3Wechsel des Koordinatensystems¶
Als lineare Koordinatentransformation bezeichnen wir die Berechnung der Koordinaten eines Punktes bzgl. eines “neuen” Koordinatensystems aus den Koordinaten dieses Punktes bzgl. eines “alten” Koordinatensystems. Wie wir sehen werden, entspricht die Transformationsformel, die die alten Koordinaten in die neuen überführt, bis auf zusätzliche Verschiebungsoperationen einer linearen Abbildung von nach .
Sei also mit und das “alte” Koordinatensystem und seien die Koordinaten eines Punktes bezüglich dieses Koordinatensystems. Weiter sei mit und das “neue” Koordinatensystem und seien die Koordinaten des Punktes bezüglich dieses Koordinatensystems. Wir wissen bereits, dass die folgenden Beziehungen gelten:
Übergang vom Standardkoordinatensystem zu :
Übergang von zum Standardkoordinatensystem:
Setzen wir die zweite Formel in die erste ein, so erhalten wir die gesuchte Transformationsvorschrift:
Der Übergang zwischen zwei Koordinatensystemen besteht also aus dem Anwenden einer linearen Abbildung (Multiplikation mit einer Matrix) und einer Verschiebung.
5.6.4Beispiel: Orthografische Azimuthalprojektion¶
5.6.4.1Problemstellung und Lösungsansatz¶
Für eine Region (z.B. Deutschland) soll eine möglichst verzerrungsarme, zweidimensionale Kartendarstellung gefunden werden. Der Einfachheit halber legen wir uns auf orthografische Azimuthalprojektionen fest. Bei diesen ist die Verzerrung in der Kartenmitte am geringsten, sodass wir als Kartenmitte die “Mitte” der darzustellenden Region wählen. Unter “Mitte” verstehen wir hier den Punkt auf der Erdoberfläche, für den die maximale Entfernung zu allen anderen Punkten der Region am geringsten ist. Für Deutschland ist dies 10.456555° östliche Länge, 51.237923° nördliche Breite (Quelle: Administrative units/azimuthal equidistant projections datasets).
Zu einem durch geografische Länge und Breite gegebenen Punkt auf der Erdoberfläche sind die Koordinaten bezüglich des Kartenkoordinatensystems gesucht. Der Ursprung dieses Koordinatensystems liegt im Mittelpunkt der Region und die relevante Kartenebene (die Ebene, die von den ersten beiden Koordinatenachsen aufgespannt wird) soll die als Kugeloberfläche angenommene Erdoberfläche in diesem Punkt berühren, aber nicht schneiden (Stichwort: Tangentialebene; diesen Begriff diskutieren wir nächstes Semester genauer).
Aufgabe: Man finde eine Formel, die Längen- und Breitenangaben in Kartenkoordinaten überführt.
Wir werden diese Aufgabe in drei Schritten lösen:
Längen- und Breitenangaben in Punkte in überführen.
Eine Basis für die Beschreibung des Kartenkoordinatensystems wählen (der Ursprung ist schon geklärt).
Die Berechnung der Koordinaten eines Punktes bzgl. des Kartenkoordinatensystems klären.
Eine Gesamtformel “zusammenbauen”, die die Aufgabenstellung löst.
5.6.4.2Punkte im Raum¶
Seien und geografische Länge und Breite eines Punktes auf der Erdoberfläche im Gradmaß. Wir legen die als Kugeloberfläche angenommene Erdoberfläche so in den , dass
der Erdmittelpunkt bei liegt,
die positive -Achse die Erdoberfläche bei 0° Länge und 0° Breite durchstößt,
die positive -Achse die Erdoberfläche bei 90° östlicher Länge und 0° Breite durchstößt
die positive -Achse den Nordpol durchstößt (90° nördliche Breite).
Für einen durch geografische Längen- und Breitenangaben und beschriebenen Punkt auf der Erdoberfläche erhalten wir die Koordinaten bzgl. des Standardkoordinatensystems in somit als
Dabei ist der mittlere Erdradius in Kilometer. Die Koordinaten , , sind entsprechend ebenfalls als Entfernungen vom Ursprung in Kilometer zu interpretieren.
Die Koordinaten des Mittelpunkts der betrachteten Region bezeichnen wir mit . Diese entstehen mittels obiger Formeln aus Länge und Breite des Mittelpunkts der Region.
5.6.4.3Kartenkoordinatensystem¶
Legen nun Schritt für Schritt die Richtungen der Koordinatenachsen des Kartenkoordinatensystems fest. Beachte dabei, dass das gewünschte Koordinatensystem mit den ersten beiden Achsen die horizontale und die vertikale Achse der Karte beschreiben soll. Die dritte Achse steht senkrecht auf der Kartenebene und spielt in der zweidimensionalen Kartendarstellung keine Rolle. Wir bezeichnen die den Achsen entsprechenden Basisvektoren in dieser Reihenfolge mit .
Übersicht über die beteiligten Größen und Symbole. Die -, - und -Achsen sind die durch die Basisvektoren definierten Koordinatenachsen (Quelle: commons
Da der Vektor senkrecht zur Kartenebene verlaufen soll, entspricht dieser gerade der Richtung des Strahls vom Kugelmittelpunkt durch den Mittelpunkt der betrachteten Region. Somit wählen wir
Der Vektor muss senkrecht zu verlaufen. Außerdem möchten wir die Kartendarstellung gern so einrichten, dass “Norden oben ist”. Bei einer gedachten Bewegung von ausgehend mit Richtung muss also die -Achse durchstoßen werden. Elementargeometrische Berechnungen (Schnittpunkt der zu senkrechten Ebene durch mit der -Achse; ist dann der Vektor von zu diesem Schnittpunkt zuzüglich Normierung) liefern
Der Vektor ergibt sich nun als Kreuzprodukt von und zuzüglich Normierung:
(auf eine explizite Formel verzichten wir hier; diese Rechnung erledigt für konkrete später der Computer).
5.6.4.4Transformationsformel¶
Schreiben wir die Basisvektoren als Spalten in eine Matrix , so erhalten wir für die Koordinaten eines Punktes bzgl. des Kartenkoordinatensystems die Formel
5.6.4.5Umsetzung am Computer¶
Zum Test der Transformation möchten wir die Grenze von Deutschland in einer Karte darstellen. Die Datei germany.txt enthält geografische Länge und Breite von 3000 Punkten auf der Grenze. Diese wurden zufällig aus der durch 159230 Punkte dargestellten Grenze von Deutschland in OpenStreetMap ausgewählt (Stand: 23.08.2026). Das Einlesen der Punkte kann mit numpy.genfromtxt erfolgen. Anschließend erfolgt die oben hergeleitete Transformation in Kartenkoordinaten.
import numpy as np
import matplotlib.pyplot as plt
# Erdradius
r = 6371
# Mittelpunkt von Deutschland
lon0 = 10.456555
lat0 = 51.237923
# Punkte auf der Grenze von Deutschland
lonlat = np.genfromtxt('germany.txt')
lon = lonlat[:, 0]
lat = lonlat[:, 1]
# Transformation zu Punkten im Raum
fac = np.pi / 180 # Umrechnungsfaktor Gradmaß zu Bogenmaß
x0 = r * np.cos(fac * lon0) * np.sin(np.pi / 2 - fac * lat0)
y0 = r * np.sin(fac * lon0) * np.sin(np.pi / 2 - fac * lat0)
z0 = r * np.cos(np.pi / 2 - fac * lat0)
x = r * np.cos(fac * lon) * np.sin(np.pi / 2 - fac * lat)
y = r * np.sin(fac * lon) * np.sin(np.pi / 2 - fac * lat)
z = r * np.cos(np.pi / 2 - fac * lat)
# Basis für Kartenkoordinatensystem
b3 = np.array([x0, y0, z0])
b3 = b3 / np.linalg.norm(b3)
b2 = np.array([-x0, -y0, (x0 ** 2 + y0 ** 2 + z0 ** 2) / z0 - z0])
b2 = b2 / np.linalg.norm(b2)
b1 = np.cross(b2, b3)
b1 = b1 / np.linalg.norm(b1)
# Koordinaten bzgl. des Kartenkoordinatensystems
B = np.column_stack([b1, b2, b3])
uvw = B.T @ np.vstack([x - x0, y - y0, z - z0])
# jede Spalte von uvw entspricht einem Punkt
u = uvw[0, :]
v = uvw[1, :]
w = uvw[2, :]
# Visualisierung
fig, ax = plt.subplots()
scatter_plot = ax.scatter(u, v, s=1, c='blue')
ax.axis('equal') # gleiche Achseneinteilung (keine Verzerrung)
ax.set_xlabel('u')
ax.set_ylabel('v')
plt.show()
Die Ursache für das Fehlen von Punkten in den Küstenregionen liegt im einfachen Grenzverlauf dort. Dieser lässt sich mit deutlich weniger Punkten beschreiben, sodass bei der zufälligen Auswahl von Punkten entsprechend weniger Punkte in Küstenregionen ausgewählt werden.
Wir können auch die -Koordinate visualisieren, indem wir die einzelnen Punkte entsprechend einfärben:
fig, ax = plt.subplots()
scatter_plot = ax.scatter(u, v, s=3, c=w, cmap='winter')
plt.colorbar(scatter_plot, label='w')
ax.axis('equal') # gleiche Achseneinteilung (keine Verzerrung)
ax.set_xlabel('u')
ax.set_ylabel('v')
plt.show()
Wir sehen dass die -Koordinate zur Kartenmitte hin näher bei Null liegt als zum Kartenrand hin. Diese Beobachtung deckt sich mit der Theorie, denn die -Koordinate gibt den Abstand eines Punktes auf der Erdoberfläche von der Kartenebene an. Insbesondere müssen alle -Koordinaten negativ sein. An der Nordgrenze und an der Südgrenze beträgt der Abstand zwischen Kartenebene und der (als Kugeloberfläche angenommenen) Erdoberfläche bis zu 16 Kilometer.
Ohne Kenntnis der Techniken zur Koordinatentransformation hätten wir nur die Längen- und Breitenwerte direkt als Koordinaten in einer zweidimensionalen Darstellung verwenden können. Dies liefert eine sogenannte Plattkarte. Zum Vergleich legen wir beide Varianten übereinander und skalieren die Plattkarte so, dass bei die -Koordinaten übereinstimmen (der Skalierungsfaktor wurde hier manuell durch Probieren verschiedener Werte gewählt).
fig, ax = plt.subplots()
scatter_plot = ax.scatter(u, v, s=1, c='blue')
fac = 70 # Skalierungsfaktor für Plattkarte
ax.scatter(fac * (lon - lon0), fac * (lat - lat0), s=1, c='gray')
ax.axis('equal') # gleiche Achseneinteilung (keine Verzerrung)
ax.set_xlabel('u')
ax.set_ylabel('v')
plt.show()
Offensichtlich führt die (triviale) Darstellung als Plattkarte (grau) zu einer deutlich stärkeren Verzerrung als die mittels linearer Koordinatentransformation erhaltene orthografische Azimuthalprojektion (blau).
Auch bei unterschiedlicher Skalierung in horizontaler und vertikaler Richtung ist die Plattkarte nicht mit der sauber projizierten Karte in Deckung zu bringen. Wählt man die Skalierungsfaktoren beispielsweise so, dass im Süden gute Übereinstimmung entsteht, sind die Abweichungen im Norden groß:
fig, ax = plt.subplots()
scatter_plot = ax.scatter(u, v, s=1, c='blue')
ax.scatter(74 * (lon - lon0), 111 * (lat - lat0), s=1, c='gray')
ax.axis('equal') # gleiche Achseneinteilung (keine Verzerrung)
ax.set_xlabel('u')
ax.set_ylabel('v')
plt.show()
5.6.4.6Einordnung¶
In diesem Beispiel haben wir gesehen, wie wir mit den bisher beleuchteten Werkzeugen und Zusammenhängen durch Kugelkoordinaten oder Standardkoordinaten im gegebene Punkte durch zwei Koordinaten in einer geeignet gewählten Ebene (Karte) darstellen können. Die Kartenebene ist in der mathematischen Sprache eine lineare Untermannigfaltigkeit des . Betrachten wir jedoch nur die ersten beiden Koordinaten eines Punktes bzgl. des passend zu dieser Untermannigfaltigkeit gewählten Koordinatensystems, so können wir die ganze Komplexität der dreidimensionalen Situation außer Acht lassen. Letztlich sind die wesentlichen Informationen durch zwei Zahlen (Koordinaten) darstellbar, die wir übersichtlich in unserer Zeichenebene (Papier, Laptop-Display,...) in einem einfachen zweidimensionalen Koordinatensystem darstellen können. In diesem Sinne macht die Mathematik das Leben hier deutlich einfacher!
Das Vernachlässigen der dritten Dimension führt hier nur zu geringem Informationsverlust, da die Erdkrümmung (wenigstens für kleine Kartenausschnitte) sehr gering ist. Den Gedanke, durch geeignete Wahl von Koordinatensystemen Informationen mit nur wenig Verlust deutlich einfacher darstellen zu können, werden wir im nächsten Unterkapitel nochmal aufnehmen. Dort wird dann auch klar, dass das hier demonstrierte Vorgehen auch in mit sehr großem praktisch relevant ist, die Mühen der Formulierung aller Begriffe und Zusammenhänge für allgemeines also kein (scheinbar) unnötiger Ballast waren.
Die Suche nach möglichst verzerrungsarmen Kartendarstellungen hat insbesondere den Zweck, dass in der Karte gemessene Abstände möglichst nah an den tatsächlichen Abständen auf der Erdoberfläche liegen sollen. Je nach gewählter Kartenprojektion wird die Abweichung zwischen Abständen in der Karte und den realen Abständen unterschiedlich groß sein. Wir haben hier eine sehr einfache Kartenprojektion gewählt. Komplexere Kartenprojektionen und die ganze Fehlerthematik beim Messen von Abständen in Karten werden in anderen Veranstaltungen Ihres Studiums vertieft werden.