es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Fallo en la conversión de latitud/longitud a UTM para el dataframe.

El error “OutOfRangeError: latitud fuera de rango (debe estar entre 80 grados S y 84 grados N)” aparece cuando utilizo la función “utm.from_latlon()” en un dataframe.

Sin embargo, cuando lo intento para una sola latitud/longitud, devuelve el resultado. No estoy seguro de qué está sucediendo.

Por ejemplo, el dataframe es:

    Lat          Lon
0   49.183630   -121.936812
1   43.901052   -78.939154
2   43.887452   -78.871573
3   42.882137   -82.445210
4   43.372565   -79.762019

Mi latitud/longitud no está invertida, pues ya lo verifiqué.

Digamos que la función utm está definida como:

def f(x,y):
  return utm.from_latlon(x,y)

Y estoy llamando a la función de la siguiente manera:

dataframe.apply(lambda row: f(row['Lat'], row['Lon']), axis=1)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error OutOfRangeError ocurre porque la función utm.from_latlon() tiene una restricción de que los valores de latitud deben estar en el rango de -80 a 84 grados. Como sugiere el error, los valores de latitud del dataframe están fuera de este rango.

    Sin embargo, dado que la función funciona para valores individuales de latitud y longitud, podría haber algunos valores atípicos en el dataframe que estén causando el problema. Sería mejor verificar los valores de latitud en el dataframe proporcionado para reducir el problema.

    Además, vale la pena destacar que aplicar una función utilizando lambda para cada fila de un dataframe puede ser una operación costosa para dataframes grandes. Se recomienda usar funciones incorporadas en el dataframe siempre que sea posible para obtener un mejor rendimiento.

Comments are closed.