Dies ist die einfache Gleichung für die Konvertierung von Grad, Minuten und Sekunden in Dezimalgrad:
DD = (Sekunden/3600) + (Minuten/60) + Dezimalgrad
Die Konvertierung muss anders erfolgen, wenn der Gradwert negativ ist. Eine Möglichkeit ist folgende:
DD = - (Sekunden/3600) - (Minuten/60) + Dezimalgrad
In den nachfolgenden Anweisungen lernen Sie, ein Feld in einer Tabelle mit Breitengrad- oder Längengradwerten in Grad, Minuten und Sekunden mithilfe der Feldberechnung in Dezimalgrad umzuwandeln. Der Code liegt in VBScript vor, kann jedoch leicht in andere Programmiersprachen konvertiert werden. Es wird davon ausgegangen, dass die Grad-, Minuten- und Sekundenangaben als Zeichenfolge (Text) vorliegen, die Zahlen durch Leerzeichen getrennt und keine Symbole vorhanden sind. Die Daten wären z. B. wie folgt gespeichert:
25 35 22,3
wobei 25 den Gradwert, 35 die Minuten und 22,3 die Sekunden angibt.
Die Ausgabe wird in einem Zahlenfeld gespeichert.
- Fügen Sie die Tabelle ArcMap hinzu.
- Klicken Sie mit der rechten Maustaste im Inhaltsverzeichnis auf die Tabelle. Klicken Sie anschließend auf Öffnen.
- Klicken Sie auf die Schaltfläche Optionen und anschließend auf Feld hinzufügen.
- Geben Sie Lat2 im Feld Name ein.
- Klicken Sie auf den Dropdown-Pfeil Typ und anschließend in der Liste auf Double.
Wenn "Lat2" bereits als Feldname verwendet wird, wählen Sie einen Namen aus, der noch nicht verwendet wird.
- Klicken Sie auf OK.
- Klicken Sie mit der rechten Maustaste auf das Feld Lat2 und anschließend auf Feldberechnung.
- Klicken Sie auf Ja, wenn ein Meldungsfeld angezeigt wird.
- Aktivieren Sie das Kontrollkästchen Code-Block anzeigen.
- Fügen Sie den folgenden Code in das Feld Pre-Logic Script Code ein:
Dim Degrees Dim Minutes Dim Seconds Dim DMS Dim DD DMS = Split([Latitude]) Degrees = CDbl(DMS(0)) Minutes = CDbl(DMS(1)) Seconds = CDbl(DMS(2)) If Degrees < 0 Then DD = -(Seconds/3600) - (Minutes/60) + Degrees Else DD = (Seconds/3600) + (Minutes/60) + Degrees End If
In der sechsten Zeile, die mit DMS = beginnt, sollte es sich beim Text innerhalb der eckigen Klammern [ ] um den Namen des Feldes mit den Breitengradwerten handeln. Ersetzen Sie das Wort Breitengrad im Code mit dem Namen des Feldes (in der Tabelle), in dem die GMS-Breitengradwerte gespeichert sind.
- Fügen Sie den folgenden Code in das Feld Lat2 = am unteren Rand des Dialogfeldes ein:
CDbl(DD)
- Klicken Sie auf OK.
- Wiederholen Sie die Schritte 3 bis 12 für die Längengradwerte.