Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Map of my book - Please click here to see it

So, I'm writing a book and I'm trying to be really detailed. Right now I'm writing a wiki of it and I want to specify the areas of continents and cities.

But I'm having a lot of trouble doing this. I'm not good at math and the shapes are complex, so I won't find an equation to solve everything.

Is there a way to solve this? More than just the answers, I really need to understand so I can calculate this alone later.

If it helps, each one of the rectangles in the grid have 3 million km² (I built it in Illustrator with 1cm height and 2cm width).

share|cite|improve this question
You could simply try pixelcounting. But if this is a projection of a spherical world, then the rectangles representing areas near the poles hould be smaller in area than those near the equator. – Hagen von Eitzen May 15 '13 at 18:35
I tried it, but the software doesn't count the variations in height and width in the shapes. It's like all the shapes are perfect squares, which isn't true. If there's another way to do the pixel counting, I don't know it... – acosmos May 15 '13 at 18:48
@acosmos, you ignored Hagen's comment! You really can't pretend that rectangles at the equator have the same area as rectangles near the poles. Unless your world is cylindrical? – TonyK May 15 '13 at 19:03
If this is a spherical world (well, oblate spheroid) you can use an area-preserving transformation to transform the map to a plane and directly calculate area. Vector coordinates would be easier than pixels. I used the Lambert azimuthal area projection in a project with good results. – Mark Ping May 15 '13 at 19:16
Thanks, I'll see what I can do. – acosmos May 15 '13 at 19:58

The way the map looks (equidistant latitudes), you should probably weigh pixels at latitude $\phi$ with a factor of $\cos\phi$. That is (as your image is $539\times 508$ pixels):

area = 0.0
planetsurface = 0.0
for y=0 to 507
   weight = sin(pi*(y+0.5)/508)
   planetsurface = planetsurface + weight*539
   for x=0 to 538
      if PixelAt(x,y) is land then
         area = area + weight
print area*100/planetsurface, " percent of the surface are land"
share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.