Knowledge Base - Technical Articles
HowTo: Convert degrees minutes seconds values to decimal degree values using the Field Calculator
|Software:||ArcGIS - ArcEditor 9.2, 9.3, 9.3.1 ArcGIS - ArcInfo 9.2, 9.3, 9.3.1 ArcGIS - ArcView 9.2, 9.3, 9.3.1|
|Platforms:||Windows XP, Vista|
The procedure below is for ArcGIS 9.3.1 or earlier versions. Starting at ArcGIS 10.0, expressions in the Calculator are created using only VBScript or a standard Python format.
Instructions provided describe how to use the Field Calculator to convert Degrees Minutes Seconds stored in a string field to Decimal Degrees stored in a number field. The values must be stored in a field in a table as Degrees Minutes Seconds with no symbols. For example:
25 35 22.3
In the example, 25 is degrees, 35 is minutes and 22.3 is seconds.
Follow the steps below.
Initially perform the steps below on positive numbers. After the conversion is complete, multiple any fields that need to be negative by -1.
The format of the records within the Degrees/Minutes/Second fields must be DD MM SS. Any blank records or records with extra spaces or characters, such as single or double quotes, may cause a user interrupted error.
- Add the table to ArcMap.
- Right-click on the table in the Table of Contents and click Open.
- Verify 'Edit' mode is not enabled. Click the Options button and select Add Field.
- Enter Lat2 in the Name field and select Double from the Type drop-down list. If Lat2 is already used as a field name, select a name that is not used.
- Verify that the Scale and Precision is set to 0 and click OK.
- Right-click on the Lat2 field and select Calculate Values.
- Click Yes if presented with a message box.
- Check the Advanced check box.
- Paste the following code into the Pre-Logic VBA box:
Dim Degrees as Double
Dim Minutes as Double
Dim Seconds as Double
Dim DMS as Variant
Dim DD as Double
DMS = Split([Latitude])
Degrees = CDbl(DMS(0))
Minutes = CDbl(DMS(1))
Seconds = CDbl(DMS(2))
DD = (Seconds/3600) + (Minutes/60)+ Degrees
- Find the line that begins 'DMS. . .' The text within the brackets [ ] is the name of the field holding the latitude values. Replace the word Latitude in the code with the name of the field that stores the latitude values in the table.
- Paste the following code into the 'Lat2 =' box at the bottom of the dialog box.
- Click OK.
- Repeat steps 3 through 12 for the longitude values.
Null values in the DMS field will cause an error when running the VBA code in the Field Calculator.
Last Modified: 10/13/2011
Article Rating: (16)