
Γράφω μια εφαρμογή χαρτογράφησης που γράφω σε python και θα πρέπει να πάρετε το lat / lon κέντρο βάρους του Ν σημεία. Ας πούμε ότι έχω δύο θέσεις



```
a.lat = 101
a.lon = 230

b.lat = 146
b.lon = 200

```

Να πάρει το κέντρο της δύο σημεία είναι αρκετά εύκολη χρησιμοποιώντας ένα Ευκλείδειο τύπο. Θα ήθελα να είναι σε θέση να το κάνει για περισσότερο από δύο σημεία.


Βασικά ψάχνω να κάνω κάτι σαν <http://a.placebetween.us/> όπου μπορεί κανείς να εισάγετε πολλαπλές διευθύνσεις και βρείτε το σημείο που είναι σε ίση απόσταση για όλους.

 
Προσδιορίστε το κέντρο βάρους των πολλαπλών σημείων
===================================================



Ρίξτε μια ματιά στο αρχείο pdf στον παρακάτω σύνδεσμο. Εξηγεί πώς να εφαρμόσει [τον αλγόριθμο αεροπλάνο σχήμα που Bill η σαύρα](https://stackoverflow.com/questions/353684/determine-the-centroid-of-multiple-points#353718) αναφέρει, αλλά στην επιφάνεια μιας σφαίρας.


[αφίσα μικρογραφία και κάποιες λεπτομέρειες http://img51.imageshack.us/img51/4093/centroidspostersummary.jpg](http://img51.imageshack.us/img51/4093/centroidspostersummary.jpg)  
 
Πηγή: <http://www.jennessent.com/arcgis/shapes_poster.htm>  
 
Υπάρχει επίσης ένα [25 MB πλήρους μεγέθους PDF](http://www.jennessent.com/downloads/graphics_shapes_poster_full.pdf) διαθέσιμη για λήψη.   

Πιστωτικές πηγαίνει στο [mixdev](https://stackoverflow.com/users/6109/mixdev) για την εύρεση τη σύνδεση με την αρχική πηγή, και φυσικά να Jenness επιχειρήσεις για τη διάθεση των πληροφοριών. Σημείωση: Είμαι σε καμία περίπτωση δεν συνεργάζεται με τον συγγραφέα αυτού του υλικού.

 

Αν κατά μέσο όρο γωνίες και πρέπει να ασχοληθεί με τους διασχίζουν το 0/360 τότε είναι ασφαλέστερο να συνοψίσω την αμαρτία και cos κάθε αξίας και, στη συνέχεια, Μέση = atan2 (άθροισμα δίκες, ποσό cosines)   

(να είστε προσεκτικοί της τάξης επιχείρημα σε συνάρτηση atan2 σας)

 

Προσθέτοντας σε απάντηση Andrew Ελασματοποίηση.


Θα πρέπει επίσης να βεβαιωθείτε ότι αν έχετε σημεία και στις δύο πλευρές της γραμμής 0/360 μήκος που μετράτε στην «σωστή κατεύθυνση»



```
Is the center of (0,359) and (0, 1) at (0,0) or (0,180)?

```
 

Τα μαθηματικά είναι αρκετά απλή, αν τα σημεία σχηματίζουν ένα [σχήμα αεροπλάνο](http://en.wikipedia.org/wiki/Centroid) . Δεν υπάρχει καμία εγγύηση, ωστόσο, ότι ένα σύνολο γεωγραφικά πλάτη και μήκη είναι τόσο απλό, έτσι ώστε να μπορεί πρώτα να είναι απαραίτητο για να βρει το [κυρτό του κύτους](http://en.wikipedia.org/wiki/Convex_hull) των σημείων.


EDIT: Όπως [eJames](https://stackoverflow.com/questions/353684/determine-the-centroid-of-multiple-points#353782) επισημαίνει, πρέπει να κάνετε διορθώσεις για την επιφάνεια μιας σφαίρας. Φταίω εγώ για την ανάληψη (χωρίς σκέψη) ότι αυτό ήταν κατανοητό. +1 σε αυτόν.

 

Το παρακάτω PDF έχει λίγο περισσότερη λεπτομέρεια από ό, τι την αφίσα από Jenness επιχειρήσεις. Επίσης, αναλαμβάνει τη μετατροπή και στις δύο κατευθύνσεις και για ένα σφαιροειδές (όπως η Γη) παρά μια τέλεια σφαίρα.


[Μετατροπή μεταξύ 3-D καρτεσιανές και ελλειψοειδή γεωγραφικό πλάτος, μήκος και ύψος συντεταγμένες](http://www.ordnancesurvey.co.uk/oswebsite/gps/docs/convertingcoordinates3D.pdf)

 

Ξεχωριστά μέσο όρο τα γεωγραφικά πλάτη και μήκη.

 