Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Position auf einer Karte (https://www.delphipraxis.net/4110-position-auf-einer-karte.html)

theomega 15. Apr 2003 16:46


Position auf einer Karte
 
Hallo Leute
ich habe hier ein mathematisches aber auch georaphisches Problem:
ich habe die Koordinaten eines Ortes in Deutschland. Nehmen wir mal als Beispiele
Hamburg: 53°32' N / 9°59' E
Berlin: 52°31' N / 13°23' E

Jetzt würde ich gerne anhand dieser Kordinaten den Punkt auf einer Karte markieren. (rotes X oder so). Die Programmiersprache sei hier mal irrelevant, mir geht es um die Berechnung.

Ich habe jetzt einmal dazu diese Berechnungen angestellt:

Hamburg in x/y Koordinaten auf der Karte: 333(x)/199(y)
Berlin in x/y Koordinaten auf der Karte: 594(x)/325(y)

Wenn ich anhand von diesen Angaben mit dem Dreisatz die geo-Koordianten von dem 0 Punkte meines Bilder berechne, komme ich leider auf einen viel zu kleinen Wert. Das Problem ist, soweit bin ich auch gekommen, die Erdkrümmung, die in meiner Karten-Koordination nicht drin ist, aber in den Geo-Koordinaten.

Hat jemand eine Idee, wie ich das Problem lösen kann? Es geht also daraum, aus Geo-Koordinaten Bild-Koordinaten zu machen.

Vielen Dank und Grüße
TO

Jelly 15. Apr 2003 17:38

Hi,

die Koordinaten die du in Grad usw. angibts sind eigentlich 3D Koordinaten, also nicht in einem xy-Koordinatensystem darzustellen. Kuck dir mal in Mathe den Begriff sphärische Koordinaten, da wirst duu fündig. Wie jetzt in der Geographie dieses Koordinatennetz auf eine Ebene projeziert wird, weiss ich nicht. Aber auf jeden Fall hast du verzerrungsfehler an den Polen.

Gruss,
Tom

theomega 15. Apr 2003 18:23

ich bin leider recht jung und kein so ein Mathe-Ass, deshalb suche ich jemanden, der mir das in verständlichen Worten erklärt.

Jelly 15. Apr 2003 18:37

Also ich probiers mal in ganz knappen Worten. Üblicherweise wird ein Raumpunkt in kartesischen Koordinaten dargestellt, also in einer x-, y- und z-Koordinate. Wenn es sich jetzt um rotationssymetrische Gebilde handelt (wie die Erde als Kugel), verwendet man ganz oft Kugelkoordinaten. Da wird ein Punkt nicht als (x,y,z) dargestellt, sondern als (r,theta,phi), wobei

r=Radius der Kugel
theta=Winkel zur z-Achse, wobei der Nordpol dann einen Winkel von 0° zur z-Achse aufweist, und der Südpol 180°. theta liegt also immer zwischen 0 und 180°
phi=Rotationswinkel. Der Nullmeridian wäre dabei phi=0. Der Meridian gegenüber ist phi=180. phi pflanzt sich fort bis 360° womit sich der Kries wieder schliesst.

Jetzt kannst du dir Umformungen basteln, um diese Kugelkoordinaten wieder zurück in kartesiche zu verwandeln. Ich schreib sie dir mal hin und hoff du versuchst sie nachzuvollziehen und nicht einfach blindlinks zu akzeptieren.

x = r*cos(phi)*sin(theta)
y = r*sin(phi)*sin(theta)
z = r*cos(theta)

Viel Spass beim rechnen.

Gruss,
tom

theomega 15. Apr 2003 22:11

Oki, ist logisch. Nur, wie stehen die kartesischen Koordinaten im Zusammenhang mit meinen "geo-kordinaten". Diese bestehen ja nur aus zwei angaben! Außerdem sind diese ja keine Winkel sondern meines Wissens nach sind das doch Unterschiede im Grandnetz zum Nullmeridian und zum Äquator.

Jelly 17. Apr 2003 20:56

Zitat:

Zitat von theomega
Nur, wie stehen die kartesischen Koordinaten im Zusammenhang mit meinen "geo-kordinaten". Diese bestehen ja nur aus zwei angaben! Außerdem sind diese ja keine Winkel sondern meines Wissens nach sind das doch Unterschiede im Grandnetz zum Nullmeridian und zum Äquator.

Sorry, da kann ich dir leider auch nix Genaueres zu sagen.

Gruss,
Tom


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz