How do I calculate areas of an area shapefile in square meters or in acres (ha)?
I didn't find that functionality in the vector tools.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
Make the layer editable, then use the field calculator (Layer>Open attribute table>Field Calculator/Ctrl+I or right click shapefile>Open attribute table>Field Calculator/Ctrl+I). There is an operator "$area" that will calculate the area of each row in the table. All units will be calculated in the units of the projection, so you probably want to project it to a projection that uses feet or metres before doing that, rather than lat/lon.
This can also be done with Vector|Geometry Tools|Add/export geometry columns, which creates a new shapefile with area and perimeter (or length) columns added.
Edit: (using the tool above, you can also unselect "save as new shape-file" in V1.8, the shapefile is now only updated!)
Using the field calculator is probably a better idea, though, as it doesn't require the creation of a new shapefile.
I wrote a script specifically for this. If you don't want to reproject your data, you can compute the area using ellipsoidal math.
Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area
You will find the script installed in
Processing Toolbox -> Utils -> Ellipsoidal area
The tool should be self explanatory and will allow you to calculate area in units of your choice regardless of projection.
If the areas you are looking at are liable to change, such as looking at infrastructure layouts, catchment areas, study areas etc, I find it useful to simply label the areas, instead of adding them as attributes.
Label-> round($area/10000,2)||' ha'
This way you don't need to remember to update the catchment areas in the attribute tables as often.
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?