Español

Cómo: Convertir valores en grados, minutos y segundos en valores en grados decimales con la Calculadora de campo

Resumen

Advertencia:
El procedimiento que se describe a continuación es para ArcGIS 9.3.1 o versiones anteriores. Desde la versión 10.0 de ArcGIS, las expresiones de la Calculadora se crean solo con VBScript o un formato de Python estándar.

Las instrucciones proporcionadas describen cómo usar la Calculadora de campo para convertir los grados, minutos y segundos almacenados en un campo de cadena de caracteres en grados decimales almacenados en un campo numérico. Los valores deben estar almacenados en un campo de una tabla como Grados Minutos Segundos sin ningún símbolo. Por ejemplo:

25 35 22,3

En el ejemplo, 25 son los grados, 35 son los minutos y 22,3 son los segundos.

Procedimiento

Siga los pasos a continuación.

Nota:
Primero, complete los siguientes pasos en números positivos. Después de completar la conversión, multiplique cualquier campo que deba ser negativo por -1.
Nota:
El formato de los registros dentro de los campos Grados/Minutos/Segundos debe ser GG MM SS. Cualquier registro en blanco o con espacios o caracteres adicionales como, por ejemplo, comillas simples o dobles, puede producir un error de interrupción de usuario.
  1. Agregue la tabla a ArcMap.
  2. Haga clic con el botón derecho en la Tabla de contenido y, a continuación, haga clic en Abrir.
  3. Verifique que el modo "Editar" no esté habilitado. Haga clic en el botón Opciones y seleccione Agregar campo.
  4. Introduzca Lat2 en el campo Nombre y seleccione Doble en la lista desplegable Tipo. Si Lat2 ya se está utilizando como un nombre de campo, seleccione un nombre que no se utilice.
  5. Verifique que la Escala y la Precisión estén establecidas en 0 y haga clic en Aceptar.
  6. Haga clic con el botón derecho en el campo Lat2 y seleccione Calcular valores.
  7. Haga clic en Sí si se le muestra un cuadro de mensaje.
  8. Marque la casilla de verificación Opciones avanzadas.
  9. Pegue el siguiente código en la casilla Pre-Logic VBA:
Código:
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
  1. Busque la línea que comienza por "DMS. . ." El texto entre corchetes [ ] es el nombre del campo que contiene los valores de latitud. Reemplace la palabra Latitude en el código por el nombre del campo que almacena los valores de latitud en la tabla.
  2. Pegue el siguiente código en el cuadro "Lat2 = " en la parte inferior del cuadro de diálogo.
Código:
CDbl(DD)
[O-Image]
  1. Haga clic en Aceptar.
  2. Repita los pasos 3 a 12 para los valores de longitud.
Nota:
Los valores nulos del campo DMS provocarán un error al ejecutar el código VBA en la Calculadora de campo.