Debian Developer Centre of Mass

Debian One is over, we are at LSM, and it is raining, what do we do? Try and decide the location of the next Debian conference of course, and we all know that the best place for a Debian conference is Debian's centre of mass.

To find the centre of mass, we took the list of developers' coordinates from the Debian Developer World Map, and ran it through an awk script. Turns out that Debian's Centre of mass is at longitude -37.78 and latitude +64.47, just off the coast of Greenland.

Image 1

Here is an image.

First image generated with:

xplanet -markerfile developers.coords -markerfile average -long -35.34 -greatarcfile arc -shade 100 -output image1.png -geometry 640x480 -grid

Image 2

And another one.

Second image generated with:

xplanet -markerfile developers.coords -markerfile average -observer -35.34,+64.19 -greatarcfile arc -output image2.png -geometry 640x320 -starfreq 0 -grid -proj hemisphere -shade 100

Image 3

Zoomed in.

Third image generated with:

xplanet -shade 100 -grid -markerfile developers.coords -markerfile average -output image3.png -geometry 640x480 -observer -35.34,+64.19 -projection orthographic -radius 100 -starfreq 0

Note to Debian Developers

Help make the image more acurate, make sure that your coordinates are up to date in the Debian Developers Database.


Here is the code used to calculate the average location given the coordinates of all the Debian Developers:

#!/usr/bin/awk -f

# sphere-average 
# Copyright (c) 2001 Tom Huckstep, Romain Lerallut, Edward Betts
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

# Do not want to include Average if already calculated
!/Average/ { 
	# Convert longitude and latitude from degrees to radians
	lat = $1 * 3.14159 / 180; long = $2 * 3.14159 / 180;

	# Calculate 3D coordinates from longitude and latitude
	x += cos(lat) * sin(long);
	y += -cos(lat) * cos(long);
	z += sin(lat)

	# Find the mean location of Debian developers
	x_av = x/NR; y_av = y/NR; z_av = z/NR; 

	# Project the point onto the surface
	long_av = atan2(x_av, -y_av); 
	lat_av = atan2(z_av, sqrt(x_av*x_av + y_av*y_av));

	# Convert back to degrees and print
	printf "%+8.2f %+8.2f \"Average\" color=Yellow\n", 
		lat_av / 3.14159 * 180, long_av / 3.14159 * 180;

It is called like this: ./sphere-average developers.coords > average


The arc file was generated using this awk code:

#!/usr/bin/awk -f

/Average/ { lat = $1; long = $2; }
!/Average/ {
	printf "%+8.2f %+8.2f %+8.2f %+8.2f color=Green spacing=0.5\n",
		$1, $2, lat, long

Run it like this: ./gen-arc average developers.coords > arc




Last updated:
Edward Betts <>  Tue, 11 Dec 2001 03:15:43 +0000