Konvertieren von GMS-Werten (Grad, Minuten, Sekunden) in Gradwerte

Dies ist die einfache Gleichung für die Konvertierung von Grad, Minuten und Sekunden in Dezimalgrad:

DD = (Seconds/3600) + (Minutes/60) + Degrees

Die Konvertierung muss anders erfolgen, wenn der Gradwert negativ ist. Eine Möglichkeit ist folgende:

DD = - (Seconds/3600) - (Minutes/60) + Degrees

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 Grade, Minuten und Sekunden als Zeichenfolge (Text) gespeichert werden, Leerzeichen zwischen den Zahlen und keine Symbole aufweisen. 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.

Schritte:
  1. Fügen Sie die Tabelle ArcMap hinzu.
  2. Klicken Sie mit der rechten Maustaste im Inhaltsverzeichnis auf die Tabelle. Klicken Sie anschließend auf Öffnen.
  3. Klicken Sie auf die Schaltfläche Optionen und anschließend auf Feld hinzufügen.
  4. Geben Sie Lat2 im Feld Name ein.
  5. 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.

  6. Klicken Sie auf OK.
  7. Klicken Sie mit der rechten Maustaste auf das Feld Lat2 und anschließend auf Feldberechnung.
  8. Klicken Sie auf Ja, wenn ein Meldungsfeld angezeigt wird.
  9. Aktivieren Sie das Kontrollkästchen Erweitert.
  10. Geben Sie den folgenden Code in das Ausdrucksfeld 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 GMS = beginnt, sollte es sich beim Text innerhalb der 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.

  11. Fügen Sie den folgenden Code in das Feld Lat2 = am unteren Rand des Dialogfeldes ein:
    CDbl(DD)
    
  12. Klicken Sie auf OK.
  13. Wiederholen Sie die Schritte 3 bis 12 für die Längengradwerte.
9/11/2013