11
$\begingroup$

How can I find the area of an irregular shape while taking into account the distortions of Equirectangular projection?

$\endgroup$
  • 2
    $\begingroup$ It's considered poor form to edit a question such that it invalidates existing answers. $\endgroup$ – sphennings Aug 25 '17 at 3:49
  • 1
    $\begingroup$ Well i just made a new question and people freaked on me for not editing this one!!?!??! $\endgroup$ – Joe S. Aug 25 '17 at 3:51
  • 3
    $\begingroup$ I'm voting to close this question as off-topic because your question is about a problem in geometry. $\endgroup$ – dot_Sp0T Aug 25 '17 at 8:05
  • 2
    $\begingroup$ @dot_Sp0T but knowing the size of a nation can be important in worldbuilding. There are different ways to do it that don't really rely on geometry. At lest bot directly as you can see in my answer for example. $\endgroup$ – Vincent Aug 25 '17 at 14:51
  • 3
    $\begingroup$ @anon didn't know about the bounty preventing VTCs - but nevermind that then. Secespitus isn't a Moderator on this site. All Moderators have a diamond next to their name (e.g. look 5 comments above this one, HDE is a Mod). Also while we're at it: Isn't it sort of a double-natured (not sure if I got the right term) thing to complain about something being off-topic and then still answering it? $\endgroup$ – dot_Sp0T Oct 26 '17 at 15:21

10 Answers 10

18
$\begingroup$

Nations likely have borders that can be approximated as many connected line segments, and can therefore be approximated as polygons (in some cases, borders and straighter, depending on the political history of the country). Let's say you pick a set of $n$ points on the border and draw straight line segments between them. The resulting polygon is approximately the shape of the nation. Give point $i$ the Cartesian coordinates $(x_i,y_i)$. The formula for the area of the polygon is thus $$A=\frac{1}{2}\left[(x_1y_2-y_1x_2)+(x_2y_3-y_2x_3)+\cdots+(x_{n-1}y_n-x_{n-1}y_n)+(x_ny_1-y_nx_1)\right]$$ For anyone who's curious, this arises as a sum of determinants. It can be applied to continuously differentiable parameterized borders via Green's Theorem.

If you want to take curvature into account, things get a bit trickier. Each line on the surface of the planet - which we'll model as a sphere - can be viewed as an arc of some angular length $\theta_i$. The area of this spherical polygon is now $$A=\left[\left(\sum_{i=1}^n\theta_i\right)-\pi(n-2)\right]R^2$$ where $R$ is the radius of the planet and $\theta_i$ is the angular length of the arc connecting point $i$ and point $i+1$.

You need a pretty large $n$ for complicated countries, but for countries like Egypt, for instance, you only need a few points. Here's an example of how I'd lay out points on a map ($n=7$):

enter image description here
Original image from here.

Like sphennings, I'd recommend ignoring the curvature of the planet. For most small nations, the difference will be minimal.

$\endgroup$
  • 2
    $\begingroup$ That is, more or less, OK for nations near equator; for nations near poles you cannot ignore curvature (and thus projection). $\endgroup$ – ZioByte Aug 24 '17 at 20:49
  • 3
    $\begingroup$ Only the post imperial nations have straight borders, as the old European empires were breaking up nations were created by drawing straight lines on a map. The more "naturally" created nation borders tend to follow mountain ranges, rivers or other natural features. $\endgroup$ – Separatrix Aug 24 '17 at 21:01
  • 2
    $\begingroup$ @Separatrix That's true, but you can still get fairly good approximations for many cases. If you really want to use curves, then try to interpolate points on the borders and then parameterize them accordingly to create a continuous curve. I briefly mentioned that in my answer; Green's theorem makes it possible. $\endgroup$ – HDE 226868 Aug 24 '17 at 21:06
  • $\begingroup$ @ZioByte I've edited my answer to discuss that. $\endgroup$ – HDE 226868 Aug 24 '17 at 21:26
  • 1
    $\begingroup$ regarding my previous comment: Watch out for the Coastline Paradox! It can be a bit messy sometimes. $\endgroup$ – Aric Oct 30 '17 at 17:55
9
$\begingroup$

The most precise and easiest way to find it is to use a software.

  1. Scan your map if it's not already on a computer.
  2. Use a free software like the Gimp to modify the map.
  3. Paint the area in a specific color, using plain colors (no gradient).
  4. Save a copy in .PNG.
  5. Go get a software called G projector. It's made by NASA and will allow you to change the projection.
  6. Convert the map to an equal area projection like Hammer. Then save the result in .PNG. This kind of map projection solve the size distortion issue. it mean every area on the map will have the same size as in reality.
  7. Load this news map in Gimp and use the magic wand on the color to find out how many pixels it covers.
  8. Use the wand again to find the total number of pixels for the whole map.
  9. In order to find how big the area is, divide the pixels of the area by the total number of pixel. It gives you a percentage of the total map covered by your area.
  10. Lastly, multiply that percentage by the size of the world in square miles or square kilometers. If your world is about the same size as Earth, it should be around 550 million square kilometers.
$\endgroup$
  • $\begingroup$ This is actually a pretty good simple way to get a fairly accurate approximation. Only works for 2D objects though. $\endgroup$ – anon Oct 30 '17 at 16:24
  • $\begingroup$ @anon Yes but the question was for finding an area, which is only in 2D. Volume is 3D. $\endgroup$ – Vincent Oct 30 '17 at 17:13
  • $\begingroup$ no, surface area can be a 3D property as well, like surface area of a sphere or country. Volume is purely 3D as you mentioned $\endgroup$ – anon Oct 30 '17 at 17:16
  • $\begingroup$ @anon Good point. In theory, yes but countries don't include and I don't think it was the intent of the question to include it either $\endgroup$ – Vincent Oct 30 '17 at 18:00
  • $\begingroup$ I don't know about that, they did want to take into account projection mapping which is the result of a 3D to 2D distortion $\endgroup$ – anon Oct 30 '17 at 18:42
7
+300
$\begingroup$

Answer: Surveying

Just like we find the area of our own nation today, employ or use modern surveying techniques to find the area of your land mass. If you are simply looking for existing areas Wikipedia contains such information for just about every known land mass.

How surveying works:

all you need is 3 points and know the distance between 2 of them. Using basic trig you can calculate the third distance easily. Once you have a triangle established on the ground you can get its surface area easily. you expand your area by making more triangles contiguous to your original. This is handy because you already have 1 side measured, you just need to measure a 2nd. As you make more triangles just sum up their area as you go. The more/smaller triangles you make, the more accurate your solution will be.

Accuracy here is limited purely by your will and resources.

picture of random shape divided into triangles

How this completely solves the question:

The OP provided no limitations what so ever that would prevent him from employing this method. This is the method that we use today and its brutally simple.

Fun fact

Coincidentally this is also how 3D graphics work to an extent, lots of triangles forming a mesh that outlines an object.

I also want to point out all the software links that people posted( this is basically how they work).

$\endgroup$
  • $\begingroup$ FYI, this inherently solves the projection problem as well as accounting for uneven terrain $\endgroup$ – anon Oct 26 '17 at 14:22
  • $\begingroup$ The question asks for the area of an irregular shape. If that shape is my backyard surveying would work. What if the shape is a photograph of an amoeba? $\endgroup$ – Willk Oct 27 '17 at 1:02
  • 2
    $\begingroup$ @Will this method divides any shape into any number of small triangles that are easily computable. You could take any 3D body (let's say 1m³ volume) and cover it with however many 1nm² triangles as you want to approximate the shape. The error you'd make would be ridiculously small compared to the bodies actual area. Technically you could use even smaller triangles to approximate even better. The limit of precision is purely your computational capacities. $\endgroup$ – ArtificialSoul Oct 27 '17 at 12:43
  • $\begingroup$ @ArtificialSoul Thankyou, soul I couldn't have said that any better $\endgroup$ – anon Oct 27 '17 at 19:56
  • $\begingroup$ How does this help translate a distorted map image into an accurate area plot? Not arguing the accuracy of the outcome but ground-proofing the whole country is a lot of work that the OP seems to be trying to avoid. $\endgroup$ – Ash Oct 31 '17 at 14:35
6
$\begingroup$

Determining the area of a landmass has traditionally been done by subdividing the landmass into smaller segments of known area and then calculating the total.

If you're dealing with a fantasy map trace over the map on some graph paper and estimate fractional values for any squares on the border. This should get you an accurate enough estimate for most purposes.

I'd ignore the complexities that come from the projection. Most fantasy/sci-fi authors aren't considering it when creating their maps. It's not worth the headache.

$\endgroup$
  • 2
    $\begingroup$ Not to forget that in a fantasy setting, the borders are wishy-washy in the areas where it could matter size-wise. Most fantasy kingdoms should be fairly small so you do not need to account for projection. $\endgroup$ – Chieron Aug 24 '17 at 21:28
3
$\begingroup$

This is a scientific, geodesy-based answer. I assume we are talking about the earth and that your dataset is an image.

First of all, you need to figure out what metadata you have. Knowing the projection to be equirectangular is a big first step, but other questions arise: does the map cover the whole globe? Do you know its georeference (i.e. coordinates of the lower left pixel, pixel size)? If neither is true, it won't be fully possible to determine the area, since areas near the poles appear much larger than they really are (in this projection). So if you can't tell whether your country is on the equator, near some parallel, or at the pole, it will be a lost cause.

Otherwise, try loading up the image into the open-source GIS QGIS. It should prompt you to set a projection, where you can select one of the equidistant cylindrical ones (e.g. EPSG:53002, which assumes a spherical earth with R=6371000m).

Then you can use the "measure" tool from the toolbar to select some points on the map (HDE's answer applies here) and get the area.

You can also go to the GIS Stackexchange if you have further problems with QGIS. The most important thing, however, is to figure out the georeference of your map. Some information on how to do this with a real-world paper map is given here. This method requires you to select points with known coordinates on your map.

$\endgroup$
  • $\begingroup$ Welcome to WorldBuilding.SE LUWi! Cool answer. If you have a moment please take the tour and visit the help center to learn more about the site. Have fun! $\endgroup$ – Secespitus Aug 25 '17 at 7:43
2
$\begingroup$

You can't do it perfectly but this should get you close. The problem with the projection in question is that you can't know from the map alone (still less from a fragment dealing with a particular nation) how much distortion you are dealing with. So to get a good estimate of the actual area you need know how large the world in question is and the rough lat-long of the area under question, that will allow you to estimate the amount of "stretch" that has gone on during the mapping process, but that's all it is, an estimate. This estimate is represented by Tissot's Indicatrix, here is the estimate for the equirectangular, or equidistant cylindrical, projection. For locations close to the equator the distortion is minimal to non-existent, the higher the latitude the more distorted the view becomes. Stretch is along the longitudinal axis, parallel to the equator, only. So to get accurate area measurements you need to gauge and correct the distortion.

To gauge the distortion there are two methods:

Method one I'll call the North-South method, to use this method one needs to establish a longitude fix. For that you need two points on your map that you know are on a direct north-south line, AKA they share a line of longitude, in the real world. Then look at where they fall on the map, as long as they don't fall on the central longitude, the line should be on an angle off the vertical. In reality the degree of distortion falls along a curve but the angle will do for close estimates. The angle of this line will give you a good estimate of the degree of distortion along that longitude and the map in general. Measuring the difference between the longitude fix line and the vertical at any point will give you the factor of distortion at that latitude and you can correct you east-west distances at that latitude, you'll need to do that at all latitudes to get a correct polygon for your country. Note that only the East and West borders will move, equirectangular projections are, in a perfect world, completely accurate when it comes to North-South distances and the shape and position of the northern and southern borders. Note also that finding a fixing point from which to make the above corrections is not always easy, it can't be done from the map alone, the two points must be on the same side of the equator, and should be as close to the north and south edges of the map as possible to get a good cover for the whole map, said points should show the same degree of distortion regardless of longitude provided they do not fall on the "central longitude" of the projection.

Method two I'll call the East-West method, this method measures entirely along a given latitude, or a series of latitudes, again it relies on known, real world positions for points and more importantly the distances between points in this case take two points on an East-West line and measure the mapped distance between them, compare this to the real world distance and correct the map along that line by the percentage of error.

Both methods will render a distortion/corrective factor that can be expressed as a percentage, for small areas/countries that span only a few degrees of latitude the distortion is relatively uniform and can be handled with a "factor-based reduction" say the distortion is +10% along the central latitude of a country several degrees (say 300km) north-south then to get reasonably accurate east-west measurements reduce all these distances by a factor of 10% since the variance of distortion over that small a distance will be minimal you needn't correct individual latitudes separately.

For countries or areas that span a large amount of latitude you will need to make correction at a number of latitudes if you want good accuracy as the distortion increases with distance from the equator. If the country straddles the equator the equatorial distances should need no correction but take care if using the North-South method that three or four points are used one or two on the equator and the other two as far north and south as possible. In an accurate equirectangular projection the distortion should be symmetrical at matched latitudes north or south of the equator, but I'd check rather than assume.

So that's correcting the distortions of the projection, then it's all about polygons, break the map down into as many smaller areas as necessary to get full coverage of the space and calculate those areas separately. Note this is easiest if you just use triangles, lots and lots of triangles since any polygon more complex than a quadrilateral will effectively be broken into triangles during the area calculations anyway.

The in-world alternative is to ignore the map and do what the English did in their real-world colonies and actually measure it physically with chains, they surveyed the entirety of India by physically measuring the land. There are alternative survey methods but the chains are pretty well idiot proof, they also don't bend to local gravity distortions like those found near mountain ranges like the Himalaya.

Please note that all the above methodology for correcting maps assumes that the map in question is accurate which with medieval or earlier mapping techniques is by no means a given.

$\endgroup$
  • $\begingroup$ I like the angle / longitude correction piece. Do the points chosen have to be at the north / south extremes of the country? $\endgroup$ – Willk Oct 29 '17 at 17:18
  • $\begingroup$ @Will Not necessarily but it helps. $\endgroup$ – Ash Oct 29 '17 at 17:25
  • $\begingroup$ @Will I figured that was in large part what was missing from the answers I was reading, a way to go from a physical map that you know uses a given projection and its inherent distortions to a relatively undistorted version you can measure accurately from. Which has me realising there is another method for gauging the distortion. $\endgroup$ – Ash Oct 30 '17 at 17:14
1
$\begingroup$

Many answers have been given, some of which are really rather complex (but I trust that they're accurate). I'll try to give you a different method which is less complex.

The tools you need are relatively simple:

  • A scale.
  • Plenty of paper with the same thickness.
  • Scissors.
  • The ability to accurately draw the country's borders.

Forgoing the projection problem:

  1. Draw the country on a piece of paper and cut it out.
  2. Compare the weight to that of rectangular pieces of paper.

You can of course easily calculate the surface area of the rectangular paper, which means that comparing its weight to that of the country's cut-out will give you the exact surface area of the country cut-out.

Solving the projection problem:

  1. Make a paper sphere.
  2. Draw the country on the sphere and cut it out.
  3. Compare the weight to that of rectangular pieces of paper.

This method can only be as precise as your drawing (and cutting) skills, and you'd expect more of a rounding error when you use a smaller piece of paper; but the underlying physics are sound.

$\endgroup$
  • $\begingroup$ Dude! That paper answer is the same as my answer! I wanted to see new answers. Or at least clever rehashes of other peoples answers, not mine. $\endgroup$ – Willk Oct 27 '17 at 0:26
  • $\begingroup$ @Will: Your paper answer has some contrived method of relying on water displacement, I don't quite understand why you'd make it so complicated. Also, your answer does not solve the projection problem. Mine does, by drawing the country on a paper sphere instead of a sheet. $\endgroup$ – Flater Oct 28 '17 at 8:43
  • $\begingroup$ Contrived! You hurt me! In case you did not get to the bottom of my answer: "If you have access to a pharmacy scale capable of accurately weighing pieces of paper you could do this with just the paper of the map. Draw a square around your country on the map, cut it out, measure area of square and weigh it. Then cut your country out of the square and weigh that. Ratios are as step 7 above." $\endgroup$ – Willk Oct 29 '17 at 17:15
  • $\begingroup$ @Will Projection problem. Since real life (the planet) is spherical, any flat map is subject to inaccuracies. There is no perfect flat map projection. My answer references using a paper sphere to get around this by not having to project on a flat surface. $\endgroup$ – Flater Oct 29 '17 at 18:48
0
$\begingroup$

There is no good answer to your question.

The Earth is approximately a sphere. When you try to map a sphere on a flat sheet of paper, or a flat monitor, there must be some distortions. Those distortions can be in distance, angle, area, or all three of them.

What you can do is to start with an equal-area map projection, especially when you draw it yourself, from scratch. But that will mean your map will be "weird" -- in the example given here, one point on the planet becomes the entire boundary of the map.

Then you are left with calculating the exact area of a country on your paper, which itself isn't simple, especially if the borders look like "historically grown" European ones rather than the lines-on-a-map of much of North America.

A bit of googling gives some software to transform one map projection into another, but I haven't tried them myself.


Follow-Up:

Look at this file with a Mercator projection of a world map. Now look at this Lambert projection. Compare the size of Greenland, for instance. Both maps are "right" for some purposes and "wrong" for others. A file without information about the projection that was used is just a pretty picture, not a map.

$\endgroup$
  • $\begingroup$ how would i go about "calculating the exact area of a country", i am not using a physical paper, i have my map on a file. $\endgroup$ – Joe S. Aug 24 '17 at 20:24
  • 3
    $\begingroup$ @JoeS.What is the projection used in your map file? Without that information, your question literally makes no sense. $\endgroup$ – o.m. Aug 24 '17 at 20:30
  • $\begingroup$ So, did some research, my map is in a Equirectangular projection. Does that help? $\endgroup$ – Joe S. Aug 24 '17 at 23:26
  • $\begingroup$ That means two different countries which are the same size on your map may well be different size in reality. The size depends on where exactly on your map a country is located. $\endgroup$ – o.m. Aug 25 '17 at 4:25
0
$\begingroup$

I thought of a way to measure the area of a country on a map directly using fluid displacement.

  1. Trace country on a 1 cm thick flat sheet of clay. Cut it out. Or use wood and a jigsaw.

  2. Get a clear rectangular container such that the bottom of the container is large enough to hold the cut out country flat on the bottom.

  3. Fill the container with known quantities of water in measured increments. For example 20 cc at a time. Mark along the side of the container the water level for each volume of water.

  4. Put a known quantity of water in the container. Then put in the clay map. It should be submerged.

  5. The map will displace water equal to the volume of the map. This can be determined by subtracting water level without the map from water level with the map.

  6. A cc is a cubic centimeter. The ccs displaced will equal the area of the map, because volume = area * height and height here is 1 cm.

  7. This would work with a curved map / piece of clay as well, as long as the clay representation remained of uniform thickness so you could divide out the thickness.


Or simpler, without the water! This measures weight instead of volume and relies on a predictable weight to volume ratio.

1: Smash your clay into a 1 cm sheet.

2: Cut out a square of dimensions adequate to surround your map country (once cut out)

3: Measure area of square.

4: Weigh square.

5: Cut traced map out of center of square.

6: Weigh clay map

7: The ratio of clay map weight to clay square weight is the same as the ratio of map area to square area. Solve for map area.

If you have access to a pharmacy scale capable of accurately weighing pieces of paper you could do this with just the paper of the map. Draw a square around your country on the map, cut it out, measure area of square and weigh it. Then cut your country out of the square and weigh that. Ratios are as step 7 above.

$\endgroup$
  • $\begingroup$ Heureka :-) But this does not cover the projection problem. $\endgroup$ – Burki Sep 14 '17 at 15:14
  • $\begingroup$ @Burki - A non-problem I think : the distortions of an equirectangular projection are because the actual area of a curved surface is depicted on a flat surface for our easy viewing. The area depicted is more accurate than on a Mercator projection and the distortion helps with this calculation. This would be the best kind of map with which to measure true areas of a country. $\endgroup$ – Willk Sep 16 '17 at 14:37
0
$\begingroup$

Your map is in a file? Rasterize it if it's vector based. Run it through the software to transform into an equal-area projection, noted in earlier answers. Then get a color histogram: how many pixels are in that nation’s color? Divide by the pixel area of the projected file, and multiply by the scale area of the map.


Update: I see Vincent already described this in more cook-book detail, 2 months ago. So why is an answer still needed?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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