Español

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

Resumen

Las instrucciones proporcionadas describen cómo usar la Calculadora de campo para convertir grados decimales almacenados en un campo numérico en Grados Minutos Segundos almacenados en un campo de texto. La salida predeterminada está en el siguiente formato:

GG°MM'SS.SS"N

Procedimiento

Siga los pasos a continuación:

  1. Agregue la tabla a ArcMap.
  2. Haga clic con el botón derecho en la Tabla de contenido y seleccione Abrir.
  3. Verifique que el modo Editar no esté habilitado. Haga clic en el botón Opciones y seleccione Agregar campo.
  4. Escriba DMSLat en el campo Nombre y seleccione Texto de la lista desplegable Tipo . Si DMSLat ya se está utilizando como un nombre de campo, seleccione un nombre que no se utilice.
  5. Cambie la longitud a 20.
  6. Haga clic con el botón derecho en el campo DMSLat y seleccione Calcular valores.
  7. Haga clic en si se le muestra un cuadro de mensaje.
  8. Cambie el Analizador de VB Script a Python.
  9. Active la casilla para Mostrar Codeblock.
  10. Pegue el siguiente código en la casilla Código de script Pre-Logic :
    Código:
    def decimalDegrees2DMS(value,type):
        """
            Convierte un valor en grados decimales en
            una notación en Grados Minutos Segundos.
            
            Aprobar valor como doble
            escriba = {Latitude or Longitude} como cadena de caracteres
            
            devuelve una cadena de caracteres como G:M:S:Dirección
            creado por: anothergisblog.blogspot.com 
        """
        degrees = int(value)
        submin = abs( (value - int(value) ) * 60)
        minutes = int(submin)
        subseconds = abs((submin-int(submin)) * 60)
        direction = ""
        if type == "Longitude":
            if degrees < 0:
                direction = "W"
            elif degrees > 0:
                direction = "E"
    else:
                direction = ""
        elif type == "Latitude":
            if degrees < 0:
                direction = "S"
            elif degrees > 0:
                direction = "N"
    else:
                direction = "" 
        notation = str(degrees) + u"\u00b0" + str(minutes) + "\'" +\
                   str(subseconds)[0:5] + "\"" + direction
        devuelve la notación
  11. Pegue el siguiente código en el cuadro de expresión DMSLat = situado en la parte inferior del cuadro de diálogo.
    Código:
    decimalDegrees2DMS( !DMSLat! ,"Latitude")
  12. Haga clic en Aceptar para ejecutar la Calculadora de campo.
  13. Repita los pasos del 3 al 12 para los valores de longitud, pero cambie el primer parámetro del cuadro de expresión DMSLong al campo de la tabla que contenga los valores en grados decimales de la longitud y reemplace la palabra Latitud del segundo parámetro por la palabra Longitud.

Información relacionada