4

I'm trying to calculate area for a raster file which contains 2 layers (0 for unsuitable habitat and 1 for suitable). It's been calculated successfully but I don't know what is the unit of the calculated values.

Calculated Area for 43873037 counts:365608.662141 and for 3241800 counts: 27015.001513

Spatial reference: WGS84_world_Mercator, Linear unit: Meter, Angular unit: Degree, Cell size:0.0083333338, GRID format

Get Spatial
  • 13,259
  • 6
  • 41
  • 68
Mah
  • 305
  • 1
  • 3
  • 10
  • What do the numbers 43,873,037 and 3,241,800 represent? – Get Spatial Apr 24 '13 at 23:48
  • in the attribute table of my raster, there is a field called Counts. i.e. number of cells. – Mah Apr 25 '13 at 00:01
  • 1
    The duplicate explains how to find the area of a cell that is one degree on a side; it applies equally well to find areas of other-sized cells, whence it answers your question. Note, though, that you cannot convert mere counts to areas because the areas of the cells vary with latitude. – whuber Apr 25 '13 at 00:21
  • My question is: How to figure out the unit of a calculated area in Arcmap. not how to calculate it. – Mah Apr 25 '13 at 00:25
  • 3
    OK, I see that's different (although closely related), so I will vote to reopen. You might be able to help people answer your question if you describe how you obtained the calculated values. – whuber Apr 25 '13 at 00:46
  • 1
    Are you asking something different than if you multiply length x width, what is the result called? In this case, your linear unit is stated as meters, so you should have a result of meters squared as units of area. If I am missing something, I apologize, and it would help if you provided a clearer question. – Get Spatial Apr 25 '13 at 00:54
  • Originally, I have a file in ASCII format, imported into Arcmap 10 and projected to WGS84. Then, the resulted raster file is reclassified(2 classes). I've tried to calculate area both in raster(using Zonal geometry) and also by convert it to a polygon(add a field in attribute<calculate area). Since my study extent is so large, the calculated values are too small to be in sq. km. I need to know the unit of the areas. – Mah Apr 25 '13 at 01:32
  • As GetSpatial said, your areas are in square meters. 43873037 * 0.0083333338 (the size of each cell, in square meters) = 365608.662141. – Dan C Apr 25 '13 at 01:37
  • The extent is almost the whole Asia, approximately 44'000'000 square kilometer. The calculated values are too small to be in those units. That's strange – Mah Apr 25 '13 at 01:54
  • 3
    @Dan C The value of 0.0083... is degrees, not meters, and you need to square it, too. The result is an area of Asia in "square decimal degrees." That is geometrically meaningless because the area of a square decimal degree varies with latitude. Mahdieh, you can take this result either as a nonsensical value or as something convertible into an extremely rough average by making a suitable latitude-based adjustment. But the whole approach is wrong. If you want to compute areas correctly, please follow the answers shown in the duplicate I referenced earlier. – whuber Apr 25 '13 at 02:58
  • 1
    @whuber - That value is actually just a conversion. You are correct that "square decimal degrees" is meaningless. It looks like she's using a coordinate system that is actually projected, it is the WGS84 World Mercator: EPSG 3395. This has linear units in meters, so she should be able to get a meaningful area measurement. Of course, with the size of her area, there is sure to be some distortion, so the other referenced answers would likely still be useful. – Get Spatial Apr 25 '13 at 03:19
  • 1
    @Get Spatial Thank you for catching that: I had the impression the calculation had been performed in geographic coordinates. Yes, there will be exponential distortion across a range of latitudes that large. The simple solution is to use any equal-area projection for the calculation. But the OP insists we're not talking about that here, for otherwise this is just a duplicate of an answered question. – whuber Apr 25 '13 at 03:21
  • Obviously, the projection of the map will then effect the area calculation at such a large spatial extent as Asia. In this case can someone recommend a projection that will give a meaningful calculation of area recognizing this limitation? – Keith Larson Apr 25 '13 at 10:14
  • If the data is in EPSG:3395 WGS84 World Mercator, the unit is not real metres, if you are not at the equator. Just look at Greenland in Openstreetmap or Google maps, it is not that big at all. So every measuring in that CRS is pretty useless. – AndreJ Apr 25 '13 at 07:35
  • @Keith Larson see http://gis.stackexchange.com/questions/20054/what-is-the-most-accurate-coordinate-system-for-calculating-areas-of-polygons/20056#20056. – whuber Apr 25 '13 at 13:47
  • I might be missing something with one of the previous answers. I am new to GIS, but I am having a hard time reconciling this formula for a 1 degree by 1 degree cell with conversions that I know of: Cell Size: 0.0083333338 = 1 degree/x meters = x = 120 Meters I know this is approximate and only appropriate at the equator, but shouldn't this be 120 KM? I know that 0.0083333 decimal degrees equals 30 arc-seconds. I also know that 30 arc-seconds grids are approximately 1 square km (again I know this is only appropriate at the equator and it varies through time). This equation would seem to imply t – user291934 Oct 03 '18 at 13:38

2 Answers2

3

You are calculating area here, so there are two different factors that you need to take into account.

The first and most important is the fact that since your data is in Decimal Degrees, you will not be able to perform a linear calculation for the true area of your raster cells. Since the lines of Longitude converge at the Poles, the distance represented by 1 degree of Longitude decreases as you move north or south from the equator. You need to be using a projected coordinate system that preserves the area of your data. This will ensure that your area calculation based on the raster will be accurate to the ground area.

Geographic Coordinate Systems
Map Projections
Equal-Area Projections

These are important concepts to understand regardless of the data or area that you are working with. I encourage you to read more about them.

The second part of the problem that you are encountering is much more simple. It is simply how to convert from the units on your map, which are Decimal Degrees, to the Linear units in the projection, which are Meters. This is shown below.

Please be aware that this calculation assumes a square raster cell of 1 degree x 1 degree, which will only be found at the equator. Your data is in Asia which is far north of the equator, and thus will be extremely distorted due to the compression of longitude discussed above. If you choose to leave your data in a Lat/Lon based coordinate system, you will need to use an area calculation method like those originally referenced in the suggested duplicate answer by @whuber.

How to calculate the area of 1 x 1 degree cells in a raster

The Cell Size that you are looking at is the conversion from the Angular Units of Degrees to the Linear Units of Meters.

Cell Size: 0.0083333338 = 1 degree/x meters = x = 120 Meters

One size of the cell is equal to 120 meters in length. Area is Length x Width, or 120 Meters x 120 Meters = 14,400 square meters

In your calculations you were assuming the Cell Size was already in Areal units, when it was still in Linear Units.

Here are the area results:

  • Case 0 - Unsuitable Habitat: 43,873,037 Cells X 14,400 square meters = 631,771,732,800 Square Meters / 1,000,000 Square Meters = 631,771.73 Square Kilometers

  • Case 1 - Suitable Habitat: 3,241,800 Cells X 14,400 square meters = 46,681,920,000 Square Meters / 1,000,000 Square Meters = 46,681.92 Square Kilometers

Based on your statement that your area of interest is the whole of Asia at some 44 Million Square Kilometers, even these numbers look small. If that is the case, then I would suggest going back to look at your source data, to find out what units it was in to begin with. If it was already in Kilometers, then the units assigned were incorrect.

At heart, this is a conversion issue. One way to test your grid is to try and overlay other data. If they line up properly, then your data is projected and scaled correctly. If it will not, then you know there is a problem. At that point, you will again want to start from your source data, and do the conversion process again, documenting the steps as you go. It is critical to know what you are starting with though.

If you keep having a problem, update your question with information from your source data, and from the properties page on your raster out of ArcGIS. The page would look something like this:

At the top, you will see the raster information: Raster Properties - Cell Size, etc.

Scrolling down on the same Source tab will show you the extents: Raster Properties - Extents, Spatial Ref

Hope these help.

Note: Thanks to @whuber for the comments both on the question and my answer reminding me that the distortion is a huge factor that needs to be addressed when converting from decimal degrees to meters or other units. Since this is a unit conversion issue, and not a problem of being unable to determine the units of the data, this may yet again be closed as a duplicate.

Get Spatial
  • 13,259
  • 6
  • 41
  • 68
  • 2
    I find the initial calculations misleading: the cell size definitely is not 120 meters, except perhaps near the Equator--which doesn't include much of Asia. :-) The cells are essentially rectangular, not square, and their aspect ratios vary across the map with latitude. – whuber Apr 25 '13 at 03:23
  • 1
    @whuber - Point well taken. I've edited the answer to hopefully reflect that the conversion shown is only really relevant at or near the Equator. – Get Spatial Apr 25 '13 at 09:47
  • Echoing an answer below, if a degree is approximately 111 km at the equator, wouldn't 0.0083 degrees be ~= 1 km? Can you explain better how you arrived at 120 meters? – Jon Oct 03 '18 at 14:09
  • Jon, good question. It was 5 years ago, and my guess now, from looking at it is that I put a decimal wrong and rounded or something. I almost realized this as I mentioned that my final area numbers looked small, but obviously didn’t follow that through. – Get Spatial Oct 03 '18 at 22:44
-1

It is so much easier than that. Open the attribute table, right click on the column you want (most likely some Shape_Area column) and select "Calculate." Using that prompt you can convert these calculated values into the ones you want.