# Could someone help me calculate the areas in this map?

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).

-
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
endif
next
next
print area*100/planetsurface, " percent of the surface are land"
-