I would like to create a new shapefile from another area shapefile. The new shapefile should only contain all areas that are bigger than 5 acres (10.000 m²).

How do I do this?

  • FYI, 10,000 m^2 = one hectare = 2.471044 acres, not 5 acres. If your intention is to select 5+ acre shapes, then use 20,234.36 m^2 for the threshold. – whuber May 7 '12 at 15:20

Select all areas bigger than 10,000 m2. Either:

  1. Open the attribute table of your polygon layer, and click on the 'area' attribute column (or 'acres' or whatever you used to name it when you calculated area) to sort by area. You can then select all the rows from the 10k m2 point on down, OR -
  2. Open the attribute table and click "advanced search". In the next dialog, enter area > 10000 in the "SQL where clause" box, and click OK.

Close the attribute table and then select Layer|Save selection as vector file.

Option 2 above is probably better practice - you avoid making errors clicking and shift-clicking in the table, and it will be far quicker for a dataset with a lot of rows.


There is a way that could be a little quicker as it uses a faster method to query the data.

  1. Right click on the layer
  2. Select "Query"
  3. Enter area > 10000
  4. The layer will be filtered to only show that data
  5. Right click on the layer
  6. Click "Save As..."
  7. Save the filtered layer to a new file.
  8. Remove the query from the main layer using steps 1) and 2)

This uses the underlying data provider, in this case ogr, to query the data which in most cases is faster then using the search functions inside QGIS via the attribute table.

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.