Is there a way to show points that only contain whole numbers in a column (eg. 009, 010, 011 and NOT 9,1; 9,2; 9,3...) in ArcGIS 10?

  • 2
    Are you doing a select by attribute in ArcMap? if so which version of ArcGIS desktop? You need to give us more details about your data and the software that you are using. – Devdatta Tengshe Mar 6 '13 at 9:54
  • 3
    Is the data in the km column stored as a string or a number? – user3461 Mar 6 '13 at 11:24

This assumes the km column stores numbers, not strings.

Open the table.

Add a new column and name it whatever you want, I'll use wholenum in this example.

Right-click the wholenum column and choose Field Calculator.

Set the Parser to Python and put a check in Show Codeblock.

Enter this formula in the Pre-Logic Script Code field:

x = 0 
if [km] MOD 1 = 0 then
x = 1

Put x in the km= field.

Click OK to close the Field Calculator.

Set this Definition Query on the layer: wholenum = 1.

Now it will only display points with whole number values. You could take similar steps to show every 5 km or 10 km point, by using MOD 5 and MOD 10 respectively, to show fewer points at even smaller scales.


I have just had a similar problem and used this work around.

Open the layer properties and select Definition query and use the expression below.


This will remove all rows with a . in the field. As long as the kilometer points aren't whole numbers like 1.0 or 2.0 etc. this should work.


Please try this (if data in the km column is stored as a number):

[km] mod 1 = 0

The modulo operation finds the remainder of division of one number by another.


If field is numeric, create the following definition query:

ROUND("field_name",0) = "field_name"

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.