I am trying to create a feature class using census data, i.e. census blocks. The initial dataset list the GEOID as text. I can't edit to be LONG data. So, I went into the geodatabase and created a feature class with all the same attributes. When I enter the appropriate GEOID number (either by hand or copy and paste) and create a new row the entered GEOID changes from 290950135022002 to 2147483647. It does this no matter what GEOID I place in the attribute cell on whatever row I select. I tried copying the GEOID values into Excel then formatting the cell to number, no decimal places, then tried entering (manually and copy and paste) in the GEOID in the feature class I am trying to create and the number changes as shown above. Am I missing something?
Thanks In Advance
Mark
Data type Storable range Size (bits)
Long integer -2,147,483,648 to 2,147,483,647 32
Big integer -9,007,199,254,740,991 to 9,007,199,254,740,991 64
ArcGIS field data types—ArcGIS Pro | Documentation
It looks like you want Big Integer. See if your situation can use them.
Hey @MarkAnderson6
In addition to what Dan said, you may also consider a string to store these IDs, but I believe the functionality may rest in the IDs being integers, and if that's the case, then I agree with Dan's suggestion!
Cody
I suppose another question is, why do you want these values to be integers? They are not quantifying anything but are textually representing their GEOIDs. Maybe keeping them as a string is a better way to go.
I think I didn't explain my dilemma as clearly as I should have, my apologies. The GEOID for census blocks is a 15 digit number. When I enter a GEOID for a specific census block, the entered number changes to something that makes no sense, 290950135022002 (block number) to 2147483647 which I can find no relation to anything in the dataset. It doesn't matter what block I select, when I enter the appropriate block number, it changes to the 214xxx number when I move to create a new row for a new block. What I am trying to achieve is to have the GEOIDs in my csv and shapefile be identical data types so I can join them and display the various attribute data in my map.
Since I have 3000+ blocks in the spatial extent, is there a way to do a batch fill of all the rows, ala copy and paste?
Thanks in Advance,
Mark
If you're truly set on making these into integers, then what Dan mentioned is your best bet, making the field a Big Integer to hold a number as large as your 15 character number.
Hey @MarkAnderson6
The reason that this is happening, 290950135022002 turning into 2147483647, is due to a concept called Integer Overflow and what is happening is the 64-bit value 290950135022002 exceeds the 32-bit integer limit on the integer data type which is 2147483647, if something exceeds this value, it defaults to 2147483647 in ArcGIS Pro.
In order to get a value higher than 2147483647 to be present in the value area, you WILL NEED to update the column value type to Big Integer as Adrian and Dan have mentioned, or update it to Text with a length sufficient to fit the value you're wanting to add. Due to database limitations these are the only options to make this happen.
Cody
Thank you for that tidbit of information. A great help
Mark
My Solution was that I simply exported the table, made the necessary edits and rejoined with my csv file.
I apologies for taking so long to respond. Life happens and interrupts important stuff.
Thank you to all who offered advice and insight.
Regards,
Mark