Question

How do I rename field names in a GDB that has many features with each feature having a variety of fields?

  • 2 November 2022
  • 7 replies
  • 29 views

Badge +1

I have a GDB containing point, line, and polygon feature classes. I would like to setup an attribute manager or schema mapper that allows me to change a field name to whatever I please. I can place an attribute mapper on every single feature class from the reader but that will take forever. How do I read in all the feature classes, see all the current field names, be able to change said field names, keep all the attribution in those fields, and write the same data out but with new field names? Some screen shots are below of my GDB. Note, this is something I would like to be able to do to many GDBs down the road that should have identical field names.


7 replies

Badge +1

Ideally, I would like to have one "master attribute manager" that deals with all of the field name changes that can grow as I use it to cover any and all field change possibilities. This can then loop on all feature classes in a GDB.

 

Userlevel 3
Badge +26

A SchemaMapper along with a dynamic writer may be your best bet. From my experience, a single AttributeManager carrying out that much manipulation, the interface becomes clunky and slow for some reason. I can speak from experience, as I've worked with ESRIs Nautical schema quite a bit.

 

In the SchemaMapper, you would use a Filter action set to your feature types, followed by an Attribute Map action to create your new fields (also has the option to remove your old source attributes).

 

On another thought, do you really need to rename the fields or could you simply use an Alias in Arc?

Badge +1

Thanks for the feedback. I will test that option out. So we are currently changing field aliases but doing it manually which is absolutely not an option moving forward. We really have no reason to keep the original field name so I figured why not just change that. If there is some automated way in arc to change aliases in bulk that is more simple then using FME to change field names, I'm all ears.

Userlevel 3
Badge +26

Thanks for the feedback. I will test that option out. So we are currently changing field aliases but doing it manually which is absolutely not an option moving forward. We really have no reason to keep the original field name so I figured why not just change that. If there is some automated way in arc to change aliases in bulk that is more simple then using FME to change field names, I'm all ears.

From what I remember, the ESRIs NIS workspace already has the alias established. Creating the NIS workspace in an enterprise geodatabase—ArcMap | Documentation (arcgis.com). It looks like you may be using something other than this, since the NIS workspace only has BOYSHP as opposed to BOYSHP_bu in your screenshot. It may be worth looking into using the NIS workspace instead of setting them up manually.

Badge +1

From what I remember, the ESRIs NIS workspace already has the alias established. Creating the NIS workspace in an enterprise geodatabase—ArcMap | Documentation (arcgis.com). It looks like you may be using something other than this, since the NIS workspace only has BOYSHP as opposed to BOYSHP_bu in your screenshot. It may be worth looking into using the NIS workspace instead of setting them up manually.

We briefly looked into this but assumed FME would be a quick route. Overall what we are trying to do is take S57 data and get it into a more usable GIS file type like GDBs and Shapefiles. If we went the NIS/Esri Maritime route, I know we can import S57 into a GDB of some sort, but can basic users have full functionality of the GDB or need a maritime license. Can the NIS workspace be exported into SHPs?

Userlevel 3
Badge +26

From what I remember, the ESRIs NIS workspace already has the alias established. Creating the NIS workspace in an enterprise geodatabase—ArcMap | Documentation (arcgis.com). It looks like you may be using something other than this, since the NIS workspace only has BOYSHP as opposed to BOYSHP_bu in your screenshot. It may be worth looking into using the NIS workspace instead of setting them up manually.

I can tell you that it would be a pretty big FME workspace to map all S-57 features into a GDB. It is easy enough to simply map the S-57 features, but you also have to account for all the master/slave relationships somehow, as well as the associated note text files. Both of which are automatically imported with ESRI S-57 to Geodatabase tool.

 

You would need the Maritime license to use that tool, however. Once it's imported, I suppose analysts without the license could still edit the data, but they won't have access to tools specific to the Maritime extension...writing back out to S-57, editing master/slave relationships, etc.

 

 

Badge +2

@sjolster31​ I think SchemaMapper is probably the route you need to go as @dustin​ suggests. There is a tutorial on Dynamic Workflows that digs into SchemaMapper. The attached workspace might give you some ideas. It uses SchemaMapper for a very similar workflow with S-57 data

Reply