• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Pixel auf Karte in Längen-/Breitengrade - Wegpunktprojektion oder anders?

Guitarman191175

Geocacher
Hallo,

das Thema "Wegpunkt-Projektion" ist ja hier schon ein paar Mal behandelt worden. Allerdings brauche ich für mein konkretes Vorhaben doch noch Hilfe.
Ausgangssituation: Kartenausschnitt aus OpenStreetMap mit bekannten Werten für Längen- und Breitengraden (über die Export-Funktion), die daraus gespeicherte PNG-Datei mit bekannten Werten für Breite und Höhe in Pixeln. Der Ausschnitt ist nicht größer als ca. 10x10km.

Außerdem habe ich die Höhe und Breite der Karten in Metern berechnet (http://www.zwanziger.de lässt grüßen :D ). Nun möchte ich von einem Pixel auf der Karte wieder zurückrechnen auf die dazugehörigen Koordinaten als Längen- und Breitengrad. Zuerst dachte ich hierbei direkt an die Wegpunkt-Projektion, allerdings fürchte ich, dass diese Berechnung nicht präzise ist. Ich weiß aber auch nicht mehr, wonach ich suchen soll - Suchbegriffe wie "Pixel in Koordinaten umrechnen" oder "Wegpunkprojektion" bringen mich nicht mehr weiter. Die Berechnung, die ich in Wikipedia gefunden hab, ist zwar schön, aber sie scheitert bei mir, weil ich den Winkel zwischen meinen gesuchten und den bereits bekannten (hier die obere linke Ecke) nicht hinreichend genau (unter Berücksichtigung der Kugeloberfläche) berechnen kann/will.
Sind da meine Befürchtungen einfach nur grundlos?
Ich würde dieses Projekt ungern deshalb aufgeben müssen
Achso, bevor jemand das sagt - ich weiß, dass es andere Programme gibt, die das können. Aber mich reizt es, sowas selbst mal zu programmieren.
Gruss
Guitarman191175
 

ColleIsarco

Geowizard
Nun ja, es kommt darauf an, was Du unter präzise genug verstehst. Aber bei 10x10km würde die Erde mal eine Scheibe sein lassen und einfach im Euklidischen Raum rechnen. Bei mir hat das immer gut genug hingehauen. Probier das einfach mal aus und bewerte die Ergebnisse.
 
OP
Guitarman191175

Guitarman191175

Geocacher
ColleIsarco schrieb:
Nun ja, es kommt darauf an, was Du unter präzise genug verstehst.
Fürs Geocachen sollte die Genauigkeit schon hinkommen - ich hatte so auf +/-10m gehofft (ok, Kritiker werden sagen, dass reicht nicht, aber ich bin der Meinung, wem 10mbis zur Dose zu ungenau sind, der braucht ne Brille).
ColleIsarco schrieb:
Aber bei 10x10km würde die Erde mal eine Scheibe sein lassen und einfach im Euklidischen Raum rechnen. Bei mir hat das immer gut genug hingehauen. Probier das einfach mal aus und bewerte die Ergebnisse.
Dann muss ich da mal sehen, dass ich das berechnet kriege. Das bedeutet, ich brauche jetzt doch die Zuordnung von Metern zu Pixel (wieviele Meter sind 1 Pixel)....ich hatte gehofft, ich käme da drumherum. Aber mal sehen, wenn du sagst, es dürfte hinreichend genau sein?!
Trotzdem vielen Dank...dann hab ich ja am Wochenende was zu tun :p
Gruss
Guitarman191175
 

baer

Geowizard
Für normale Zwecke ausreichend dürfte WGS84 sein. In diesem Modell wird die Erde durch ein Ellipsoid angenähert beschrieben. Es gibt Formelsammlungen, auf die man für diese Annäherung zurückgreifen kann.

Zur Berechnung eines Abstandes zwischen zwei vorgegebenen Koordinaten hatte ich mal ein C-Programm geschrieben. Nix kreatives, letztendlich habe ich nur die Formeln in C-Notation hingeschrieben...
 
OP
Guitarman191175

Guitarman191175

Geocacher
baer schrieb:
Für normale Zwecke ausreichend dürfte WGS84 sein. In diesem Modell wird die Erde durch ein Ellipsoid angenähert beschrieben. Es gibt Formelsammlungen, auf die man für diese Annäherung zurückgreifen kann.
DAnke, die habe ich bereits durchsucht.
baer schrieb:
Zur Berechnung eines Abstandes zwischen zwei vorgegebenen Koordinaten hatte ich mal ein C-Programm geschrieben. Nix kreatives, letztendlich habe ich nur die Formeln in C-Notation hingeschrieben...
Die Abstandsberechnung habe ich problemlos hinbekommen - die war kein Problem. Mein Problem, ok, inzwischen ist es theoretisch gelöst, ich bin nur noch ein wenig an der programmiertechnischen SEite am "Basteln" (Umrechnung Grad- ->Bogenmaß), ist die Ermittlung des Längen-/Breitengrades eines Punkes auf einer Karte, bei dem ich nur die Pixelkoordinaten kenne.

Gruss
Guitarman191175
 

baer2006

Geoguru
Bei 10x10km dürfte eine ebene Projektion mit rechtwinkligen Koordinaten für Geocaching-Zwecke genau genug sein. Also rechnen wir in UTM-Koordinaten. Dann brauchst du nur die Koordinaten eines beliebigen Pixels (z.B. die linke untere Ecke), und die Breite/Höhe des Kartenausschnitts in der Realität in Metern. Dann ist die Berechnung der UTM-Koordinate für ein beliebiges anderes Pixel trivial. Und zur Umrechnung von UTM nach Länge/Breite gibts genug Tools ;) .
 

moenk

Administrator
Teammitglied
Die Kacheln von OSM sind normal keine 10km mal 10km, sondern Du hast einen Zoom und eine Position innerhalb der Bildpyramide.
Die Formel um von den popular Mercator-Koordinaten (das sind recht große Zahlen, werden für die OSM-Kacheln verwendet) wieder zurück zu rechnen steht auch im OSM-Wiki drin.
Du hast was für eine Karte genau? Koordinaten der Eckpunkte hast Du oder nicht, wenn ja in welchem System? Vielleicht erklärst Du auch noch mal was Du machen willst.
 
OP
Guitarman191175

Guitarman191175

Geocacher
moenk schrieb:
Die Kacheln von OSM sind normal keine 10km mal 10km, sondern Du hast einen Zoom und eine Position innerhalb der Bildpyramide.
Die Formel um von den popular Mercator-Koordinaten (das sind recht große Zahlen, werden für die OSM-Kacheln verwendet) wieder zurück zu rechnen steht auch im OSM-Wiki drin.
Das habe ich inzwischgen gelernt. Das macht es schwieriger als ich gedacht habe.
moenk schrieb:
Du hast was für eine Karte genau? Koordinaten der Eckpunkte hast Du oder nicht, wenn ja in welchem System? Vielleicht erklärst Du auch noch mal was Du machen willst.
Eigentlich will ich es ganz einfach machen: Karte aus OSM als PNG exportieren (das bei dem Export die Kartengrenzen nicht automatisch die gleichen sind wie bei dem normalen Export habe ich bemerkt und auch eine Lösung gefunden), auf dieser Karte mit Hilfe von Lazarus/FreePascal Punkte mit der Maus auswählen und von diesen Punkte, von denen ich dann die Pixel-Koordinaten kenne, die eigentlichen Koordinaten (z.B. im Format DD° MM.MMM) errechnen.
Mir ist bekannt, dass es Programme gibt, die genau das können. Darum geht es mir auch nicht, sondern ich hätte das als Teil einer größeren Software für mich implementiert - einfach weil mich interessiert, wie so was geht. Nachdem sich aber herausgestellt hat, dass da für mich noch zuviele Hindernisse sind, ist diese Aufgabenstellung erstmal zurückgestellt.
Trotzdem vielen Dank für die Unterstützung.
Gruss
Guitarman191175
 
OP
Guitarman191175

Guitarman191175

Geocacher
moenk schrieb:
Das hier kennst Du? http://keit.co/p/tmapviewer/
Nein, bisher noch nicht. Guck ich mir an...auch wenn's wohl, so wie's aussieht, nicht mehr weiter entwickelt wird.
Da ich allerdings inzwischen mein "Pflichtenheft" geändert hab, werde ich diesen Teil wohl nochmal ein wenig "nach hinten schieben".
Trotzdem vielen Dank für den Hinweis....auch wenn ich jetzt erstmal an anderen Programmteilen weiter machen werde.

Gruss

Guitarman191175
 
Oben