math - triangulo - como calcular el centro de gravedad de una figura irregular
Determine el centroide de mĂșltiples puntos (6)
Estoy escribiendo una aplicación de mapeo que estoy escribiendo en python y necesito obtener el centroide lat / lon de N puntos. Digamos que tengo dos ubicaciones
a.lat = 101
a.lon = 230
b.lat = 146
b.lon = 200
Obtener el centro de dos puntos es bastante fácil usando una fórmula euclidiana. Me gustaría poder hacerlo por más de dos puntos.
Fundamentalmente, busco hacer algo como http://a.placebetween.us/, donde se pueden ingresar varias direcciones y encontrar el lugar equidistante para todos.
Añadiendo a la respuesta de Andrew Rollings.
También deberá asegurarse de que si tiene puntos a cada lado de la línea de longitud 0/360 que está midiendo en la "dirección correcta"
Is the center of (0,359) and (0, 1) at (0,0) or (0,180)?
Eche un vistazo al documento pdf vinculado a continuación. Explica cómo aplicar el algoritmo de figura plana que menciona Bill the Lizard , pero en la superficie de una esfera.
miniatura del póster y algunos detalles http://img51.imageshack.us/img51/4093/centroidspostersummary.jpg
Fuente: http://www.jennessent.com/arcgis/shapes_poster.htm
También hay un PDF de 25 MB disponible para descargar.
El crédito va a mixdev para encontrar el enlace a la fuente original, y por supuesto a Jenness Enterprises para que la información esté disponible. Nota: de ninguna manera estoy afiliado con el autor de este material.
El siguiente PDF tiene un poco más de detalle que el póster de Jenness Enterprises. También maneja la conversión en ambas direcciones y para un esferoide (como la Tierra) en lugar de una esfera perfecta.
La matemática es bastante simple si los puntos forman una figura plana . Sin embargo, no hay garantía de que un conjunto de latitudes y longitudes sea así de simple, por lo que puede ser necesario primero encontrar el casco convexo de los puntos.
EDITAR: Como señala eJames , tienes que hacer correcciones para la superficie de una esfera. Mi culpa por suponer (sin pensar) que esto fue entendido. +1 a él.
Separadamente promedie las latitudes y longitudes.
Si está promediando ángulos y tiene que lidiar con ellos cruzando el 0/360, entonces es más seguro sumar el pecado y el cos de cada valor y luego Promedio = atan2 (suma de senos, suma de cosenos)
(tenga cuidado con el orden de los argumentos en su función atan2)