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.