I am using ArcGIS Desktop 10.5.

In land consolidation projects, to determine success of the project, we use shape indices. For this purpose to calculate shape indices, I need to know how many points creates each polygon in attribute table.

  • Add geometry attributes will do a job. – FelixIP Feb 22 '18 at 19:36

From How To: Count the vertices for line or polygon features in ArcMap 10:


1.Right-click the layer to be evaluated in the Table of Contents and click Open Attribute Table.

2.From the Table Options drop-down, click Add Field to add a new field to the table.

3.Name the field VxCount and select Long Integer for the field type. Click OK.

4.Right-click the heading of the new field and click Field Calculator. Under Parser, select Python. In the main expression box, set:

VxCount = !shape!.pointcount

If you dont want to count the polygon start and endpoint (which is at the same location) twice:

VxCount = !shape!.pointcount-1
  • 1
    @Fırat Arslan , nice, can you accept my answer with the checkbox? – BERA Feb 23 '18 at 6:03
  • +1, but three remarks: i) python is case sensitive, so you should use "pointCount" (capital C) ii) shape is the geometry field name, which could also be Shape or a completely different name (also case sensitive) iii) If the geometry is correct, there will be a start and an end point "closing" the polygon, at the same position. so for index computation, it is more relevant to use !Shape!.pointCount -1 – radouxju Feb 23 '18 at 7:45
  • @radouxju, I just copy-pasted it from ESRI :). I tried it now though both on a fc in a file geodatabase and a shapefile and it is not case sensitive on pointcount or shape. – BERA Feb 23 '18 at 8:11
  • I also tested with field calculator on 10.4 and you are right (not cases sensitive) but python usually is case sensitive and arcpy is less forgiving than the field calculator – radouxju Feb 23 '18 at 10:15

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.