GPS Koordinaten auf ein Bild mappen

Unicate

Erfahrenes Mitglied
Hallo alle zusammen!

Ich habe ein Bild von einer Karte. Auf dieser Karte sind Punkte eingezeichnet, welche GPS Koordinaten entsprechen(latitude, longitude)

Ich suche nun einen Algorithmus der mir aus gegebenen Koordinaten der Karte eine GPS Position berechnet.

Die Karte ist nicht so groß, als das man die Unebenheit der Erdkugel mitberechnen muss (ich denke jedenfalls, das ich das vernachlässigen kann ca. 50km x 50 km)

Ich suche sowas:
Code:
GeoPoint getGeoPoint(int xPic, int yPic);

Ich hab mich schon ein wenig versucht, aber bin zu keinem sinnvollem Ergebnis gekommen:
 
Hallo,

Ich suche nun einen Algorithmus der mir aus gegebenen Koordinaten der Karte eine GPS Position berechnet.
Welche GPS Position meinst du denn genau? Die GPS Positionen deiner Punkte hast du ja offensichtlich...
willst du nun etwa die GPS Koordinaten vom Mittelpunkt des Bildes?

Gruß Tom
 
Also wenn du irgendwo auf dem Bild einen Punkt hast für den du Long- und Latitude berechnen willst, dann brauchst du hierzu auch noch einen Ausgangswert.

Angenommen der Punkt im Bild liegt bei den Koordinaten X = 20 und Y = 45.
Dann kannst du damit nur rechnen wenn du weißt das X = 0 und Y = 0 z.B. den Werten N 48° 46,649´ E 009° 09,552´ entspricht. Außerdem wäre der Maßstab des Bildes auch wichtig zu wissen.
 
Ok, Entschuldigt die Ungenauheit meiner Frage.

Das Bild an sich existiert noch nicht. Es wird relativ groß sein. Genaue angaben kann ich nicht machen, da ich das auch bloß geschickt bekommen werde.

Ich habe hier eine Hand voll Locations, deren Bildposition und (eine ungefähre)GPS Position ich kennen werde.
Dann bekomme ich andere Bildpositionen und muss anhand von denen, die GPS Position bestimmen können. Ist das möglich?
Wie?
 
Wenn der Bereich so klein ist, wie Du sagst (zB 50x50km), kannst Du eine annähernd lineare Beziehung herstellen. Wenn Du es genau wissen willst, müsstest Du Dich mit den Abbildungen von Karten beschäftigen - http://de.wikipedia.org/wiki/Kartenprojektion

Kleine Hilfestellungen:

(1) 1° sind grob 117km.
(2) 60' (Bogenminuten) sind 1°
(3) 60" (Bogensekunden) sind 1'
(4) Berechne Dir einfach erstmal den Ausschnitt. Sprich, welche GPS-Position hat Pixelpunkt 0,0 und welchen GPS-Wert hat der Maximalwert von x und y. Bleib bei den Berechnungen bei der dezimalen Schreibweise und nur für die Ausgabe stellst Du um nach ° ' ".

Schau mal bei uns im Coding-Quiz-Archiv und such nach Quiz #10 - http://www.tutorials.de/archiv/index2.html

mfg chmee
 
Zuletzt bearbeitet:
Ich kann aber die genaue Position von (0,0) und (x,y) nicht bestimmen. Also jedenfalls habe ich keine Idee wie ich das machen soll. Ich habe aber ca. 5 Punkte, die ich auf der Karte suchen kann, deren (x,y) zurückgeben lassen kann, und dann seperat diese Punkte in irgend ner online map suchen und deren (zumindest ungefähre)position bestimmen kann.

zwei dieser Punkte die ich besitze sind sehr weit voneinander entfernt, sodass die Abweichung bei einer linearen Beziehung nicht so sehr groß sein kann. (hoff ich jedenfalls)

[Edit:] Ich geh davon aus, das die Karte auch den originalen Himmelsrichtungen entspricht.
 
Zuletzt bearbeitet:
Sorry, das ist ne einfache lineare Gleichung.

Gegeben: Zwei Orte mit GPS (lat/lon) in Dezimalschreibweise und Point (X/Y)

Für beide Dimensionen lässt sich mittels des Dreisatzes eine lineare Gleichung herstellen, die jeden anderen Punkt definieren kann - auch X/Y 0/0.

Umso "linearer" die Mappe, desto besser die Ergebnisse.

mfg chmee
 
Ich habs glaub ich!

Ich berechne den abstand 2er Koodinaten in pixeln und der dazugehörigen GPS Koordinaten.

Wenn ich nun einen neuen Punkt berechnen möchte sollte sich der Abstand von den
Referenzpixeln genau so verhalten wie der Abstand zwischen einem Referenzpixel und dem von mir gesuchten Punkt. Dann sollte die Himmelsrichtung auch keine Rolle mehr spielen. Na hoffentlich ist die Karte maßstabsgetreu...

Ich versuch das mal, wenn ich eine Lösung habe, poste ich das mal.

Danke chmee, warst eher ;)

[Edit:] Genauer wird es sein, wenn ich mir die am nahsten liegenden Referenzpunkte nehme und deren Beziehung zu meinem gesuchten Punkt berechne. Dann sollte relativ genau sein.
 
Zuletzt bearbeitet:
Die Genauigkeit leidet unter der Kartenabbildung, deswegen mein obiger Link zu wiki.. Die errechneten Punkte müssen nicht zwangläufig mit der Karte übereinstimmen - auch wenn die Berechnung richtig war.

mfg chmee
 
Zurück