Saltar al contenido

Cómo calcular el punto medio de varias geolocalizaciones en python

Te damos la bienvenida a nuestra página web, aquí vas a hallar la resolución que estás buscando.

Solución:

Después de la comments Recibí un comentario de AQUÍ

Con coordenadas que close to each other, puede tratar la Tierra como localmente plana y simplemente encontrar el centroide como si fueran coordenadas planas. Entonces simplemente tomaría el promedio de las latitudes y el average de las longitudes para encontrar el latitude y longitude de El centroid.

lat = []
long = []
for l in L :
  lat.append(l[0])
  long.append(l[1])

sum(lat)/len(lat)
sum(long)/len(long)

-74.07461283333332, 40.76800886666667

Basado en: https://gist.github.com/tlhunter/0ea604b77775b3e7d7d25ea0f70a23eb

Suponga que tiene un DataFrame de pandas con columnas de latitud y longitud, el siguiente código devolverá un diccionario con las coordenadas medias.

import math

x = 0.0
y = 0.0
z = 0.0

for i, coord in coords_df.iterrows():
    latitude = math.radians(coord.latitude)
    longitude = math.radians(coord.longitude)

    x += math.cos(latitude) * math.cos(longitude)
    y += math.cos(latitude) * math.sin(longitude)
    z += math.sin(latitude)

total = len(coords_df)

x = x / total
y = y / total
z = z / total

central_longitude = math.atan2(y, x)
central_square_root = math.sqrt(x * x + y * y)
central_latitude = math.atan2(z, central_square_root)

mean_location = 
    'latitude': math.degrees(central_latitude),
    'longitude': math.degrees(central_longitude)
    

Si para ti ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con el resto seniors de esta manera contrubuyes a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *