Deutsch

How To: Verwenden der Feldberechnung zum Konvertieren von Werten in Grad Minuten Sekunden in Werte in Dezimalgrad

Zusammenfassung

Warnung:
Das nachstehende Verfahren bezieht sich auf ArcGIS 9.3.1 oder frühere Versionen. Ab ArcGIS 10.0 können Ausdrücke in der Feldberechnung nur mit VBScript oder im Python-Standardformat erstellt werden.

In den nachfolgenden Anweisungen wird die Verwendung der Feldberechnung zum Konvertieren von Werten in Grad Minuten Sekunden, die in einem Zeichenfolgenfeld gespeichert sind, in Werte in Dezimalgrad, die einem Zahlenfeld gespeichert sind, beschrieben. Die Werte müssen in einem Tabellenfeld als Grad Minuten Sekunden gespeichert sein und dürfen keine Symbole aufweisen. Beispiel:

25 35 22.3

In diesem Beispiel gibt 25 den Gradwert, 35 die Minuten und 22,3 die Sekunden an.

Vorgehensweise

Führen Sie hierfür die folgenden Schritte aus.

Hinweis:
Führen Sie die Schritte zunächst mit positiven Zahlen aus. Multiplizieren Sie dann nach Abschluss der Konvertierung alle Felder, die einen negativen Wert enthalten müssen, mit -1.
Hinweis:
Das Format der Datensätze in den Feldern für Grad/Minute/Sekunde muss "DD MM SS" lauten. Leere Datensätze oder Datensätze mit zusätzlichen Leerzeichen oder anderen Zeichen, z. B. einfachen oder doppelten Anführungszeichen, können zu einem Fehler vom Typ "Vom Benutzer unterbrochen" führen.
  1. Fügen Sie die Tabelle ArcMap hinzu.
  2. Klicken Sie mit der rechten Maustaste im Inhaltsverzeichnis auf die Tabelle und dann auf "Öffnen".
  3. Schalten Sie den Bearbeitungsmodus gegebenenfalls aus. Klicken Sie auf die Schaltfläche "Optionen", und wählen Sie "Feld hinzufügen" aus.
  4. Geben Sie im Namensfeld den Wert "Lat2" ein, und wählen Sie aus der Dropdown-Liste "Typ" den Eintrag "Double" aus. Wenn "Lat2" bereits als Feldname verwendet wird, wählen Sie einen Namen aus, der noch nicht verwendet wird.
  5. Stellen Sie gegebenenfalls den Maßstab und die Precision auf "0" ein, und klicken Sie auf "OK".
  6. Klicken Sie mit der rechten Maustaste auf das Feld "Lat2", und wählen Sie "Wert berechnen" aus.
  7. Klicken Sie auf "Ja", wenn ein Meldungsfeld angezeigt wird.
  8. Aktivieren Sie das Kontrollkästchen "Erweitert".
  9. Fügen Sie den folgenden Code in das Feld "Pre-Logic VBA Code" ein:
Code:
Dim Degrees as Double
Dim Minutes as Double
Dim Seconds as Double
Dim DMS as Variant
Dim DD as Double

DMS =  Split([Breitengrad])
Degrees = CDbl(DMS(0))
Minutes = CDbl(DMS(1))
Seconds = CDbl(DMS(2))
DD = (Seconds/3600) + (Minutes/60)+ Degrees
  1. Suchen Sie die Zeile, die mit 'DMS. . .' beginnt. Bei dem Text in Klammern [ ] handelt es sich um den Namen des Feldes mit den Breitengradwerten. Ersetzen Sie das Wort "Breitengrad" im Code durch den Namen des Feldes , in dem die Breitengradwerte in der Tabelle gespeichert sind.
  2. Fügen Sie den folgenden Code in das Feld "Lat2 =" am unteren Rand des Dialogfeldes ein:
Code:
CDbl(DD)
[O-Image]
  1. Klicken Sie auf "OK".
  2. Wiederholen Sie die Schritte 3 bis 12 für die Längengradwerte.
Hinweis:
Nullwerte im Feld "DMS" führen zu einem Fehler beim Ausführen des VBA-Codes in der Feldberechnung.