2016-07-31 8 views
1

Ich mache ein Wetterprogramm für mich in Python mit Bildern der lokalen Regenradar (PNG), die auf eine benutzerdefinierte Größe von (496, 480) Pixel geändert wurden . Ich brauche einen Ratschlag zum Zeichnen meiner Position (aus dem Längen- und Breitengrad) auf dem Bild, vorausgesetzt, ich weiß, dass jedes Pixel 250 m darstellt und ein gegebener Punkt p sowohl die Bildkoordinate als auch die entsprechende reale Weltkoordinate ist.Konvertieren Geolocation Lat und Long in Pixel Koordinaten auf benutzerdefiniertes Bild

Antwort

0

Für einen kleinen Maßstab wie diesem spielt die Kartenprojektion keine Rolle. Sie können den Breiten- und Längengrad relativ zur Karte festlegen, indem Sie den Breiten- und Längengrad des oberen linken Eckpixels des Bildes von ihnen subtrahieren.

Um die resultierenden Winkel in Entfernungen zu konvertieren, wandeln Sie sie in Radianten um und multiplizieren Sie sie dann mit dem durchschnittlichen Radius der Erde (etwa 6371000 m), oder wenn Sie präzisieren möchten, multiplizieren Sie sie mit dem Radius der Erde in der Gegend (von 6356752 m an den Polen bis 6378137 m am Äquator).

Um diese Distanz-Offsets zu den Punkten auf dem Kartenbild in Pixelkoordinaten, einfach teilen sie um 250.

+0

Gibt es eine Möglichkeit, die Breite und Länge der (0,0) (oben links) Pixel zu umwandeln zu finden wenn es nur in der Mitte von Nirgendwo ist? Ich weiß nur, dass ein Punkt p = (256, 240) (-37.86 ° S, 144.76 ° E) (der Radarstandort) entspricht. – Tardis50

Verwandte Themen