Calcular el punto medio a partir de una serie de coordenadas de latitud y longitud


9

Tengo una serie de coordenadas de longitud y latitud que representan el contorno de un edificio.

p.ej

-0.5485381346101759,53.2285150736142
-0.5482220594232723,53.22842450827133
-0.5482298619861881,53.22841205254449

... (puntos intermedios no enumerados) ...

-0.5483123769301657,53.22882101914848

¿Cómo puedo calcular el punto medio? He encontrado tutoriales que muestran cómo hacerlo si tienes tres coordenadas (por ejemplo, http://mathforum.org/library/drmath/view/68373.html ), pero en muchos casos tengo más de tres .

Gracias


2
Depende de lo que quieras decir con "punto medio". ¿Quieres decir centroide ?

3
Recomendación: intente usted mismo, luego pida ayuda cuando no sea correcto; las give me the answerpreguntas generalmente están mal vistas aquí.

Respuestas:


8

Con coordenadas tan cercanas entre sí, puede tratar a la Tierra como localmente plana y simplemente encontrar el centroide como si fueran coordenadas planas. Luego simplemente tomaría el promedio de las latitudes y el promedio de las longitudes para encontrar la latitud y longitud del centroide.

Editar: como señala Whuber, el método anterior no funcionaría a menos que el edificio sea un rectángulo o un polígono regular. Para una forma arbitraria, la fórmula aquí da el resultado correcto.


@murgatroid La observación sobre no necesitar una proyección es excelente. Desafortunadamente, promediar las coordenadas de los vértices no da el centroide del edificio.
whuber

@whuber Gracias, actualicé mi publicación con el método correcto.
murgatroid99

¿Puedes definir "cerca uno del otro"?
kev

4

Si desea el centro del edificio que está delineado por un polígono, no tome la media de los vértices. Esto obviamente está mal. En su lugar, necesita calcular el centroide del propio polígono. Para la fórmula, vea

http://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon

(Y estoy de acuerdo con los carteles anteriores: puede tratar la latitud y la longitud como coordenadas cartesianas porque el edificio es pequeño y está lejos de un poste y de la línea de fecha internacional).


+1 por proporcionar las restricciones importantes sobre el alcance de esta aproximación y por proporcionar un enlace a las fórmulas. Por cierto, hay una suposición sutil (pero correcta) involucrada en la última recomendación: hay una distorsión relativa de las distancias (que se puede curar multiplicando las longitudes por los cosenos de las latitudes), pero con el propósito de calcular el centroide esto No importa. (Para cálculos relacionados, como encontrar ángulos, sería muy importante.)
whuber

¿Esta técnica garantiza un punto DENTRO del polígono? No sé cuál es el uso final de los datos, pero algunos usos requerirían que el punto esté dentro. En ese escenario, la media aritmética definitivamente no garantiza un resultado (por ejemplo, el centro aritmético de Croacia ni siquiera está en ese país).
Mark Ireland

No hay garantía de que el centroide de un polígono esté dentro del polígono (excepto si el polígono es convexo, por supuesto).
cffk

2

Convierta de coordenadas geográficas a geocéntricas, promedie los vectores geocéntricos, luego vuelva a convertir a geográficas.


1
En la mayoría de las aplicaciones, este cálculo no tendría sentido porque depende en gran medida de cómo se representa el edificio. Por ejemplo, densificar los segmentos de línea podría cambiar la respuesta de manera apreciable sin cambiar la apariencia del edificio.
whuber

1

El centroide de finitamente muchos puntos es simplemente la media aritmética de cada una de las coordenadas. Así que solo sume las latitudes y longitudes y divídalas por el número de puntos.


3
no si el polígono cruza la fecha
Paul Ramsey

@Paul @tskuzzy Además, esta receta no es apropiada: el edificio no es el conjunto de sus vértices, es el interior de la polilínea cerrada trazada por esos vértices.
whuber

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.