Select to view content in your preferred language

Allow Field Precision and Scale to be Defined in Feature Class Wizard

9474
37
05-30-2023 07:41 AM
Status: Implemented
Labels (1)
mpboyle
Honored Contributor

When adding a "double" field type in ArcGIS Pros Feature Class Wizard, please allow precision and scale to be defined if using an enterprise geodatabase.

For example: if I add a double field to an enterprise geodatabase dataset within the wizard, the precision and scale can not be defined, and this results in them being 38,8.  In most of our use cases this far exceeds any precision and scale we'd use and bloats the table.  If I want to alter the precision and scale, I have to manually do it through the database interface like SSMS.

37 Comments
RonnieRichards

@Michele_Hosking  It looks like numeric/double is fixed and now defaulted to 38,8. 

Float seems to still be broken with default still at 6,1 but can be changed but the resulting type in SQL Server is still showing numeric in our environment.

RonnieRichards_0-1779308151959.png

 

 

 

Michele_Hosking

Thanks for this @RonnieRichards. I can't check as we won't be updating until June-ish.  Yay for me as we don't use float very often. It's a pity for those that do though....

SSWoodward

Thanks @Michele_Hosking, and @RonnieRichards for your comments.  @RonnieRichards can you share with me why you consider float "broken"?  A float field type is intended to only store numbers with 6 digits or less.  If users are looking for more than this, they would need to use a double.  

What would you consider the expected behavior of a "working" float field to be?

Michele_Hosking

Well - that is interesting! I never knew that was the definition. I'll admit I've always been a bit vague on the usefulness of float. That's why I've never really used it.  

SSWoodward

Since shapefile, fileGDB, and mobileGDB don't support custom precision or scale, float / double are kind of like the short / long equivalents for floating point numbers. In those workspaces, if you want a smaller floating point numeric you use a float, if you want a bigger one use a double.  Since we need to be able to map these types between geodatabases, we still have float and double in enterprise even though in the underlying database, the field types are often the same database field type with differing precision and scale. 

For reference, we can examine what types of database field types these geodatabase types map to in the different supported databases here. 

RonnieRichards

Thanks for the clarification @SSWoodward ! Never knew FLOAT was intended to be limited in the Enterprise GDB as the stated in the documentation. ArcGIS field data types—ArcGIS Pro | Documentation

For some reason ArcMap always created float as 38,8 numeric in SQL Server and was surprised to see Pro was different scale/precision but see it now aligns with the legacy desktop documentation. 

ArcGIS field data types—ArcMap | Documentation

RonnieRichards_0-1779378738966.png

 

SSWoodward

Happy to help everyone find a shared understanding, and happier that we can have this conversation in the context of this implemented Idea!

I'm the community manager for the geodatabase team, so feel free to @ me directly anytime you have geodatabase related ideas and I'll do my best to share the context I have.