views:

1689

answers:

6

If I have a series of points as longitude and latitude, how would I calculate the center of all of those points?

A: 

See Moe's answer, although if your points are distributed across the globe, you'll have to be satisfied that your center tends towards the Prime Meridian and not the International Date Line.

Adam Bellaire
+2  A: 

First off, you need to define which centre you're interested in. Take these two points:

A.                          .B

The centre is easy, it's halfway between them. Now add a third point:

A. C.                       .B

Is the centre still halfway between A and B or is it weighted towards A because of C? So is the centre the point nearest to all points or just the points on the enclosing polygon?

Also, as it's long/lat you're dealing with the points are on a surface of a sphere so the distance between long 0 and long 90 degrees is much greater at lat 0 than at lat 45 degrees.

Skizz

Skizz
I think it would be to c, since it would be providing some weighting.
dvorak
+1  A: 

You're probably looking for the centroid of the simple polygon defined by the points. There is information on how to calculate it for various geometries in that article.

ElectricDialect
A centroid is the center of a region or shape, not the center of a number of distinct points
Moe
A number of distinct points defines a shape, so we are dealing with a shape whether we call it that or not.
ElectricDialect
A number of distinct points could define a large number of different shapes, depending on how you connect them. Also, I don't see anything on the wikipedia article about spherical coordinate systems.
dvorak
Exactly! If there is no specific way to define a shape, then there is not specific way to define its center. If you want to find the center, you have to decide how to define the shape first.
Moe
The way to define the shape is to connect the points in either clockwise or counter-clockwise order; it does not matter. However, you're correct that I should have been more specific in specifying a simple polygon instead of a generic shape.
ElectricDialect
+4  A: 

Several people have answered to take the mean of the latitudes and longitudes. This is sort of the right idea, but means are more complicated on the sphere.

The latitude/longitude representation is essentially artificial and has discontinuities (at the poles, and opposite the prime meridian if you aren't careful), so it taking means in it doesn't seem likely (to me) to have a sensible geometric interpretation. I think you need to do something like averaging vectors in earth-centered coordinates, and then normalizing the result to put it back on the sphere.

I hope someone with more experience in these matters can comment more concretely.

Doug McClean
+2  A: 

Geomidpoint covers 3 different methods for calculating this.

dvorak
+2  A: 

Don't just take averages.

You can convert to 3d coordinates, then take the average (of x,y, and z coords), then project it back onto the sphere and turn that back into lat/long.

The wikipedia page on spherical coordinates has conversion algorithms.

Tyler