Given a set of points, it is frequently needed to calculate their "average" point - a weighted center of sorts. Simply creating a new point with `AVG(longitude(point)), AVG(latitude(point))` may work in many places, but it could be grossly incorrect near anti-meridian.
[[ https://stackoverflow.com/questions/1185408/converting-from-longitude-latitude-to-cartesian-coordinates | this stackoverflow question ]] provides a more accurate implementation, by transitioning each point's (lon, lat) into cartesian system (x,y,z), averaging on each coordinate, and converting back. If earth is assumed to be a sphere, the calculations are slightly simpler.
== Usage
```lang=sparql
SELECT (geof:pointCentroid( ?location ) as ?center) WHERE {
?place wdt:P625 ?location .
...
}
```