Heim  >  Artikel  >  Java  >  Wie konvertiert man Breiten-/Längengradkoordinaten in Pixelkoordinaten in einer Mercator-Projektion?

Wie konvertiert man Breiten-/Längengradkoordinaten in Pixelkoordinaten in einer Mercator-Projektion?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 20:27:02150Durchsuche

How to Convert Latitude/Longitude Coordinates to Pixel Coordinates on a Mercator Projection?

Breitengrad-/Längengradkoordinaten in Pixelkoordinaten auf einer Mercator-Projektion umwandeln

Bei der Arbeit mit geografischen Daten ist es oft notwendig, Breiten- und Längengradkoordinaten zu übersetzen Längengradkoordinaten in Pixelkoordinaten auf einer Mercator-Projektion. Diese Konvertierung ist für die Überlagerung geografischer Daten auf Bildern oder Karten unerlässlich.

Die Mercator-Projektion ist eine konforme Projektion, die Winkel beibehält und sich daher für Navigationskarten eignet. In dieser Projektion werden Meridiane als gerade vertikale Linien und Parallelen als gerade horizontale Linien dargestellt. Der Abstand zwischen Meridianen und Parallelen ist gleichmäßig, mit Ausnahme der Pole, die verzerrt sind.

Um projizierte Pixelkoordinaten (x, y) aus der sphärischen Breite (φ) und Länge (λ) abzuleiten, verwenden wir Folgendes Formeln:

x = (longitude + 180) * (mapWidth / 360)
y = (mapHeight / 2) - (mapWidth * ln(tan((PI/4) + (latitude * PI/180) / 2)) / (2 * PI))

Hier stellen „mapWidth“ und „mapHeight“ die Abmessungen des Bildes in Pixeln dar, und die Umrechnung von Grad in Bogenmaß erfolgt durch Multiplikation mit PI/180.

Um dies zu demonstrieren Betrachten Sie bei der Umrechnung einen Punkt auf dem Breitengrad 41,145556 und dem Längengrad -73,995. Für ein Bild mit einer Breite von 200 Pixeln und einer Höhe von 100 Pixeln lauten die Pixelkoordinaten dieses Punktes:

x = (longitude + 180) * (mapWidth / 360)
= (-73.995 + 180) * (200 / 360)
= 79 pixels

y = (mapHeight / 2) - (mapWidth * ln(tan((PI/4) + (latitude * PI/180) / 2)) / (2 * PI))
= (100 / 2) - (200 * ln(tan((PI/4) + (41.145556 * PI/180) / 2)) / (2 * PI))
= 58 pixels

Diese Konvertierung ermöglicht die präzise Positionierung geografischer Daten auf Mercator-Projektionskarten oder -Bildern. Das Verständnis der Formeln und ihrer Anwendung ermöglicht eine genaue Datenvisualisierung und -interpretation.

Das obige ist der detaillierte Inhalt vonWie konvertiert man Breiten-/Längengradkoordinaten in Pixelkoordinaten in einer Mercator-Projektion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn