Heim  >  Artikel  >  Java  >  Wie konvertiere ich Breiten-/Längengrad in Pixel bei einer Mercator-Projektion?

Wie konvertiere ich Breiten-/Längengrad in Pixel bei einer Mercator-Projektion?

Susan Sarandon
Susan SarandonOriginal
2024-11-07 12:11:03902Durchsuche

How to Convert Latitude/Longitude to Pixels on a Mercator Projection?

Breiten-/Längengradpunkt in Pixel (x,y) auf der Mercator-Projektion umrechnen

Die Mercator-Projektion, die üblicherweise für Navigationskarten verwendet wird, hat gerade Linien, die Parallelen und Meridiane darstellen. Um einen Breiten-/Längengradpunkt in eine Pixelkoordinate (x,y) auf einem Mercator-Projektionsbild umzuwandeln, kann die folgende Formel angewendet werden:

Ableitung:

The Die Mercator-Projektion ist ein Grenzfall der Lambert Conic Conformal Projection, bei der der Äquator die einzige Standardparallele ist. Daraus ergeben sich Geraden für alle Parallelen und Meridiane.

Formel:

E = FE + R (λ – λₒ)
N = FN + R ln[tan(π/4 + φ/2)]   

wobei:

  • E und N sind die Ost- und Nordkoordinaten
  • FE und FN sind falsche Ost- und falsche Nordkoordinaten (werden im sphärischen Mercator nicht verwendet)
  • λ ist der Längengrad
  • λo ist der Längengrad des Ursprungs
  • φ ist der Breitengrad

Vereinfachte Formel:

Für den sphärischen Mercator sind der falsche Osten und der falsche Norden nicht verwendet, Vereinfachung der Formel zu:

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

Beispiel:

Angesichts der folgenden Parameter:

  • Breitengrad: 41.145556
  • Längengrad: -73,995
  • Kartenbreite: 200 Pixel
  • Kartenhöhe: 100 Pixel

Anwenden der Formel erhalten wir:

x = 60.0083
y = 32.5903

Diese Pixelkoordinaten stellen die (x,y)-Position des Punktes auf dem Mercator-Projektionsbild dar.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Breiten-/Längengrad in Pixel bei 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