Calcola il punto medio da una serie di coordinate di latitudine e longitudine


9

Ho una serie di coordinate di longitudine e latitudine che rappresentano uno schema dell'edificio

per esempio

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

... (punti intermedi non elencati) ...

-0.5483123769301657,53.22882101914848

Come posso calcolare il punto medio? Ho trovato tutorial che mostrano come farlo se hai tre coordinate (ad esempio http://mathforum.org/library/drmath/view/68373.html ), ma in molti casi ne ho più di tre .

Grazie


2
Dipende da cosa intendi per "punto medio" - intendi centroide ?

3
Raccomandazione: fai un tentativo da solo, poi chiedi aiuto quando non è giusto - le give me the answerdomande sono generalmente disapprovate qui.

Risposte:


8

Con coordinate vicine tra loro, puoi considerare la Terra come localmente piatta e trovare semplicemente il centroide come se fossero coordinate planari. Quindi prenderesti semplicemente la media delle latitudini e la media delle longitudini per trovare la latitudine e la longitudine del centroide.

Modifica: come sottolinea whuber, il metodo sopra descritto non funzionerebbe a meno che l'edificio non sia un rettangolo o un poligono regolare. Per una forma arbitraria, la formula qui fornisce il risultato corretto.


@murgatroid L'osservazione di non aver bisogno di una proiezione è fantastica. Sfortunatamente, la media delle coordinate dei vertici non fornisce il centroide dell'edificio.
whuber

@whuber Grazie, ho aggiornato il mio post con il metodo corretto.
murgatroid99,

Puoi definire "vicini l'uno all'altro"?
kev,

4

Se vuoi il centro dell'edificio che è delineato da un poligono, non prendere la media dei vertici. Questo è ovviamente sbagliato. Devi invece calcolare il centroide del poligono stesso. Per la formula, vedi

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

(E, sono d'accordo con i poster precedenti: puoi considerare la latitudine e la longitudine come coordinate cartesiane perché l'edificio è piccolo ed è lontano da un polo e dalla linea di data internazionale.)


+1 per fornire le restrizioni importanti sull'ambito di questa approssimazione e per fornire un collegamento alle formule. A proposito, c'è un presupposto sottile (ma corretto) coinvolto nell'ultima raccomandazione: c'è una distorsione relativa delle distanze (che può essere curata moltiplicando le longitudini per i coseni delle latitudini), ma allo scopo di calcolare il centroide questo non importa. (Per i calcoli correlati, come la ricerca di angoli, sarebbe molto importante.)
whuber

Questa tecnica garantisce un punto all'interno del poligono? Non so quale sia l'utilizzo finale dei dati, ma alcuni usi richiederebbero che il punto fosse all'interno. In quello scenario la media aritmetica sicuramente non garantisce un risultato (ad esempio il centro aritmetico della Croazia non è nemmeno in quel paese)!
Mark Ireland,

Non c'è garanzia che il centroide di un poligono sia all'interno del poligono (tranne se il poligono è convesso, ovviamente).
Cffk,

2

Converti da coordinate geografiche a geocentriche, fai la media dei vettori geocentrici, quindi converti indietro in geografico.


1
Nella maggior parte delle applicazioni questo calcolo sarebbe privo di significato perché dipende fortemente da come è rappresentato l'edificio. Ad esempio, la densificazione dei segmenti di linea potrebbe cambiare sensibilmente la risposta senza cambiare l'aspetto dell'edificio.
whuber

1

Il centroide di molti punti finiti è semplicemente la media aritmetica di ciascuna delle coordinate. Quindi riassumi le latitudini e le longitudini e dividi per il numero di punti.


3
non se il poligono attraversasse la linea di dati
Paul Ramsey,

@Paul @tskuzzy Inoltre, questa prescrizione non è appropriata: l'edificio non è l'insieme dei suoi vertici, è l'interno della polilinea chiusa tracciata da quei vertici.
whuber

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.