I have a multipolygon layer, in which some geometries are circles, drawn in an unknown GIS. How can I select only those features which are circular? A quick manual check confirms that circular features do not all have the same number of points/vertices.
You could use the field calculator in order to check whether the
minimal circle differs much from the actual shape, e.g. by calculating the
This checks, whether the the area of the minimal circle is smaller than the area of the original geometry times 1.05 (5 % tolerance accounting for different number of vertices) and will select the geometry, if this is the case.
The isoperimetric quotient of a circle in a plane equals 1. You could explode your multipart features. Add a new attribute and calculate the area of your polygons. Add a new attribute and calculate the perimeter of the polygons. Then use the field calculator to generate the IQ of the polygons in the attribute table using this formula:
Q = 4 pi A / P^2
For shapefiles the polygons will never be perfect circles since each will be using points to define the shapes of the polygons but the polygons with IQs closer to 1 will be circles.