ich eine ziemlich einfache Frage habe: Ich brauche die Datei mit geographischen Koordinaten wiePython | NumPy | Koordinaten - Ein Problem mit Umwandlung von geographischen Koordinaten
Lat Long
50 0 50 35 1 40
50 2 50 35 10 20
50 3 1 35 13 22
50 2 38 35 14 40
49 59 6 35 13 22
49 57 14 35 13 21
49 57 10 35 13 0
49 57 0 35 6 20
zur
Lat Long
50.01389,35.02778
50.04722,35.17222
etc.
Mathe ist so einfach wie ein konvertieren Kuchen: Wir müssen Minuten (0 und 1 in diesem speziellen Fall) um 60 und Sekunden (50 und 40) um 3600 teilen, dann addieren Sie diese Zahlen und wir erhalten den Rest des Grades (50 und 35).
Hier ist mein Skript mit numpy. Ich nehme an, es sieht zu groß für solch eine einfache Umwandlung aus, aber ich weiß nicht, wie man das einfacher macht. Außerdem weiß ich nicht, wie man dieses Skript beendet, damit es tun kann, was es sollte. Jetzt endet es mit dem Hinzufügen von Minuten und Sekunden.
import sys
import numpy as np
filename = input('Please enter the file\'s name: ')
with open(filename, "r") as f:
sys.stdout = open('%s (converted).txt' % f.name, 'a')
data = np.loadtxt(f)
degree_lat, degree_long = data[:, 0], data[:, 3]
min_lat, sec_lat, min_long, sec_long = \
(data[:, 1]/60), (data[:, 2]/3600), (data[:, 4]/60), (data[:, 5]/3600)
remainder_lat, remainder_long = min_lat + sec_lat, min_long + sec_long
degree_result_lat = degree_lat + remainder_lat
degree_result_long = degree_long + remainder_long
Alle Vorschläge würden sehr geschätzt werden! Danke und Entschuldigung für die Amateurfragen.
Können Sie einige Beispielzeilen Ihrer Eingabedatei posten? Was versuchst du auch mit 'sys.stdout = open ...' zu erreichen? –
Ist das eine Frage zur Optimierung/Minimierung Ihres Codes? Vielleicht möchten Sie dann [codereview] (http://codereview.stackexchange.com/) ausprobieren. –
@NilsWerner Ich habe gerade dieses Thema aktualisiert. Sie können ein Beispiel für die Eingabedatei oben finden. – Moveton