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

Ce qui suit est une équation simple de conversion des degrés, minutes et 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 et secondes en degrés décimaux en utilisant le calculateur de champs. Le code est en VBScript, mais il est aisé de le convertir dans d'autres langages de programmation. Il part du principe que les degrés, minutes et 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 sélectionnez 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, choisissez un nom qui n'est pas utilisé.

  6. Cliquez sur OK.
  7. Cliquez avec le bouton droit sur le champ Lat2, puis sélectionnez 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
    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
    

    Sur la sixième ligne qui commence 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.

  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.
5/10/2014