ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Converting degrees-minutes-seconds values to decimal Ddegree values

The following is the simple equation to convert degrees, minutes, and seconds into decimal degrees:

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

The conversion must be handled differently if the degrees value is negative. Here's one way:

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

In the instructions below, you will convert one field in a table of latitude or longitude values in degrees, minutes, and seconds to decimal degrees using the Field Calculator. The code is in VBScript but is easily converted to other programming languages. It is assumed that the degrees, minutes, and seconds are stored as a string (text), with spaces between the numbers and no symbols. For example, the data would be stored as:

25 35 22.3

where 25 is degrees, 35 is minutes, and 22.3 is seconds.

The output will be stored in a number field.

  1. Add the table to ArcMap.
  2. Right-click the table in the table of contents and click Open.
  3. Click the Options button and click Add Field.
  4. Type Lat2 in the Name field.
  5. Click the Type drop-down arrow and click Double from the list.

    If Lat2 is already used as a field name, choose a name that is not used.

  6. Click OK.
  7. Right-click the Lat2 field and click Field Calculator.
  8. Click Yes if presented with a message box.
  9. Check the Advanced check box.
  10. Paste the following code into the expression box:
    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 the sixth line, beginning with DMS =, the text within the brackets [ ] should be the name of the field holding the latitude values. Replace the word Latitude in the code with the name of the field (in your table) that stores the DMS latitude values.

  11. Paste the following code into the Lat2 = box at the bottom of the dialog box:
    CDbl(DD)
    
  12. Click OK.
  13. Repeat steps 3 through 12 for the longitude values.
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal