Conversion des degrés minutes secondes en degrés décimaux

Equation simple permettant de convertir des degrés minutes secondes en degrés décimaux :

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

La conversion doit être menée différemment si la valeur des degrés est négative. En voici une façon :

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

Les instructions ci-dessous vous permettent de convertir un champ d'une table de valeurs de latitude ou de longitude exprimées en degrés minutes secondes en degrés décimaux en utilisant le calculateur de champs. Le code est en VBA, mais il est aisé de le convertir dans d'autres langages de programmation. Il part du principe que les degrés minutes secondes sont stockés sous forme de chaîne (texte), avec des espaces entre les nombres et sans symboles. Par exemple, les données peuvent être stockées comme suit :

25 35 22.3

25 correspondant aux degrés, 35 aux minutes et 22,3 aux secondes.

La sortie est stockée dans un champ numérique.

Etapes :
  1. Ajoutez la table dans ArcMap.
  2. Cliquez avec le bouton droit sur la table dans la table des matières, puis cliquez sur Ouvrir.
  3. Cliquez sur le bouton Options puis sur Ajouter un champ.
  4. Tapez "Lat2" dans le champ Nom.
  5. Cliquez sur la flèche de liste déroulante Type, puis cliquez sur Double dans la liste.

    Si "Lat2" est déjà utilisé comme nom de champ, sélectionnez un nom qui n'est pas utilisé.

  6. Cliquez sur OK.
  7. Cliquez avec le bouton droit sur le champ Lat2 puis cliquez sur Calculateur de champs.
  8. Cliquez sur Oui si un message s'affiche.
  9. Cochez la case Avancé.
  10. Collez le code suivant dans la zone d'expression :
    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))
    If Degrees < 0 Then
       DD = -(Seconds/3600) - (Minutes/60) + Degrees
    Else
       DD = (Seconds/3600) + (Minutes/60) + Degrees
    End If

    A la sixième ligne, commençant par 'DMS. . .", le texte entre crochets [ ] doit être le nom du champ qui contient les valeurs de latitude. Remplacez le mot Latitude dans le code par le nom du champ (dans votre table) qui stocke les valeurs de latitude DMS dans la table.

  11. Collez le code suivant dans la zone 'Lat2 = ' en bas de la boîte de dialogue.
    CDbl(DD)
  12. Cliquez sur OK.
  13. Répétez les étapes 3 à 12 pour toutes les entités de longitude.

7/10/2012