Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Geokoordinaten Umrechnen in Dezimalgrad (https://www.delphipraxis.net/160707-geokoordinaten-umrechnen-dezimalgrad.html)

BBoy 27. Mai 2011 08:16

Geokoordinaten Umrechnen in Dezimalgrad
 
Ich habe Geokoordinaten in der Form: N 49° 41.567 E 008° 51.356
Und möchte diese in Dezimalgrad umwandeln, also so: 49.531 8.356
Und eben auch umgekehrt. Weiß jemand wie ich das in Delphi realisieren kann?

Danke.

Coffeecoder 27. Mai 2011 08:27

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Hi,


Guck mal hier rein.

Satty67 27. Mai 2011 08:42

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Du kannst auch nach NMEA Konvertierungen suchen. Ich müsste irgenwo eine Funktion haben.

Im NMEA String ist "N 49° 41.567" als "4941.5670,N" kodiert. Meine geht mit Grad merken und Rest durch 60 Sekunden (Minuten?) teilen und bei S/W noch negieren.

Ich suche mal die Funktion...

Nersgatt 27. Mai 2011 08:56

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Zitat:

Zitat von BBoy (Beitrag 1103204)
Ich habe Geokoordinaten in der Form: N 49° 41.567 E 008° 51.356
Und möchte diese in Dezimalgrad umwandeln, also so: 49.531 8.356
Und eben auch umgekehrt. Weiß jemand wie ich das in Delphi realisieren kann?

Danke.

Deine Beispiel stimmen nicht.
Nord = 49 + (41.567 / 60) = 49,692783

Den Weg in die Andere Richtung kannst Du Dir selbst überlegen.

Satty67 27. Mai 2011 09:00

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Gefunden:

Delphi-Quellcode:
function GeoToDec(Grad : Integer; Min, Sec : Double; Direction : AnsiChar): Double;
begin
  Result := (Min / 60) + (Sec / 3600) + Grad;
  if Direction in ['S', 'W'] then
    Result := -Result;
end;
Also E48° 41' 50.908" wird so übergeben:

Delphi-Quellcode:
GeoToDec(48, 41, 50.908, 'N')

BBoy 27. Mai 2011 09:21

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Zitat:

Zitat von Nersgatt (Beitrag 1103219)
Zitat:

Zitat von BBoy (Beitrag 1103204)
Ich habe Geokoordinaten in der Form: N 49° 41.567 E 008° 51.356
Und möchte diese in Dezimalgrad umwandeln, also so: 49.531 8.356
Und eben auch umgekehrt. Weiß jemand wie ich das in Delphi realisieren kann?

Danke.

Deine Beispiel stimmen nicht.
Nord = 49 + (41.567 / 60) = 49,692783

Den Weg in die Andere Richtung kannst Du Dir selbst überlegen.

Also die Formel funktioniert. Da muss man nix negieren oder so?
Wäre schon nett wenn Du mir noch den Weg in die andere Richtung beschreiben könntest. Ich komme da nicht drauf. Danke.

Nersgatt 27. Mai 2011 09:34

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Wenn es Süd oder West ist, dann musst Du es negieren.

Meine Formel mal allgemein formuliert.
Dezimalgrad = Grad + (Minuten / 60)

Stelle die Formel nach "Grad" um und Du hast den Grad-Anteil. Stelle die Formel nach "Minuten" um und Du hast den Minutenanteil.

Satty67 27. Mai 2011 09:45

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Hab' meine Funktion leicht geändert, somit sind auch Dezimal-Minuten (ohne Sekunden) verwendbar.

BBoy 27. Mai 2011 11:29

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
@Satty67, kann deine Funktion dies: N 49° 52.048 E 008° 33.470 in dies: 49.867467 8.557833 Umwandeln? Scheinbar nimmst du ein anderes Format und zwar dies: N49° 52' 2.88" E8° 33' 28.2", oder?

Für mich wichtig wäre jetzt erst mal die umgekehrte Umwandlung, also dies: 49.867467 8.557833 in N 49° 52.048 E 008° 33.470

Gibt es keine Funktionsbibliothek für solche Geo-Sachen? bräuchte da auch noch Entfernung zw. zwei koordinaten und eventuell die Himmelsrichtung einer Koordinate vom Ausgangspunkt. Aber im Moment ist die og. Umrechnung erst mal wichtig :)

Nersgatt 27. Mai 2011 11:37

AW: Geokoordinaten Umrechnen in Dezimalgrad
 
Zitat:

Zitat von BBoy (Beitrag 1103277)
@Satty67, kann deine Funktion dies: N 49° 52.048 E 008° 33.470 in dies: 49.867467 8.557833 Umwandeln? Scheinbar nimmst du ein anderes Format und zwar dies: N49° 52' 2.88" E8° 33' 28.2", oder?

Übergib einfach eine 0 für den Sekundenanteil.

Wo genau liegt Dein Problem, die Formel für die andere Richtung umzuformen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 Uhr.
Seite 1 von 3  1 23      

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