Hi Forum, Ich will die Koordinaten eine GPS-Empfängers auf einem TFT darstellen. Uhrzeit, Position, TimeToFirstFix, 3DFix, HDOP usw. wird mir angezeigt. Soweit so gut. Ist in einem Pultgehäuse mit diesem typischen STM-32-407er Setup mit TFT und Touch[1] (allerdings auf eigener Platine nachgeroutet), ganz grob angelehnt an[2](danke Uwe!), verbaut. Als Gimmik will ich nun auf dem TFT einen groben Bildausschnitt unserer Umgebung hier anzeigen lassen und darauf die, vom GPS gelieferte, Position als Roten Klecks darstellen. Dazu müsste ich die Koordinaten auf den Kartenausschnitt (fester Google-Maps Screenshot mit 320x240 Pixeln) mappen. Wie würdet Ihr das machen? Ich dachte an eine kleine Tabelle mit beispielsweise 32x24[x,y] und ein virtuelles Raster auf dem Bild. In die Tabelle pack ich mir die entsprechenden Koordinatenpaare hinein, die vom GPS erwarte. Oder bietet sich hier evtl. ein Gleichungssystem an, das ich on the fly berechnen könnte. Es soll aber auch mal fertig werden... Danke soweit: vielleicht hat ja jemand noch ne tolle Idee, wie man das visualisieren könnte. Eine Verbindung zum Netzwerk/Internet habe ich mit diesem Setup nicht! Der Bildauschnitt liegt lokal auf einer SD-Karte. StromTuner [1] http://de.farnell.com/stmicroelectronics/stm32f407g-disc1/entwicklungsboard-foundation-line/dp/2506840 http://de.farnell.com/stmicroelectronics/stm32f4dis-bb/expansion-f4-cortex-m4-discovery/dp/2250205 http://de.farnell.com/stmicroelectronics/stm32f4dis-lcd/modul-3-5-lcd-f4-discovery/dp/2250207 [2] http://mikrocontroller.bplaced.net/wordpress/?page_id=744 http://mikrocontroller.bplaced.net/wordpress/?page_id=4861
Ich denke das kommt sehr auf das Display an. Meist kann man ein Fenster festlegen, oder hat sogar mehrere Layer. Dann sollte in Echtzeit eine Berechnung und Darstellung möglich sein. Vor setzen des roten Klecks, Miniausschnitt speichern und danach zurückschreiben.
Hi Das habe ich schon vor Jahren gemacht Beitrag "Re: Zeigt her Eure Kunstwerke !" Allerdings dürft mein Programm nicht in dein Konzept passen. MfG Spess
Hallo Axel R., klar kann man das mit einer Formel machen. Dazu musst du die Koordinaten vom GPS (Längen-/Breitengrad) in ein kartesisches Format z.B. Gauss Krüger umrechnen, dann kannst du auf die Koordinaten deiner Karte linear umrechnen. Wenn der Ausschnitt aber nicht allzu groß ist und bei der geringen Auflösung die du hast würde ich einfach mal versuchen den Längen- und Breitengrad linear auf deinen Kartenausschnitt abzubilden - so groß wird die Abweichung nit sein. Sascha
Kleiner Kartenausschnitt: - unter 150 km Diagonale, - in bewohnbaren Breiten (< |75°|) dann kann man die geografischen Koordinaten locker linear auf die Pixel-Koordinaten umrechnen. Aber: Linear heißt nicht 1 : 1 !!! Die geografische Länge sollte vorher mit dem cos der mittleren dargestellten geogr. Breite multipliziert werden. Ein Breitengrad sind immer 111,1 km Ein Längengrad am Äquator hat auch 111,1 km, in Marokko nur etwa 94 km in Deutschland nur etwa 71 km und in Island nur etwa 44 km. Wenn man das berücksichtigt, ist die Kartendarstellung optisch ansprechend und auf wenige % "entfernungstreu".
Axel R. schrieb: > Dazu müsste ich die Koordinaten auf den Kartenausschnitt (fester > Google-Maps Screenshot mit 320x240 Pixeln) mappen. > > Wie würdet Ihr das machen? Tja, dann suche mal in diesem Forum ein wenig. Ich hatte vor Jahren schon mal nen Beitrag über Landkarten auf dem µC gepostet: Beitrag "Landkarten auf dem Mikrocontroller" Damit hast du die Koordinaten der Tiles und kannst innerhalb eines Tiles linear interpolieren - das sollte ausreichen. W.S.
Axel R. schrieb: > Wie würdet Ihr das machen? Das kommt drauf an, wie groß dein Kartenausschnitt sein soll. Bei wenigen 100km würde ich einfach die geographische Breite (x) und die mit cos(Mittelbreite) skalierte geographische Länge (y) als kartesische Koordinaten darstellen. Bei der Auflösung des Display sind Fehler durch die Projektion im Verhältnis zu vernachlässigen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.