When geocoding addresses in ArcGIs Pro or ArcMap, the result will comprise of not only your own original data, but also a lot of coloumns that are related to the matching/geocoding process. It would be extremely helpful to be able to choose whether or not you wanted that data in your resulting Feature Class.
The extra data not only clouds the original data but also enhances the size of the file A LOT.
Furthermore when geocoding in ArcGIS Pro, the geocoding process adds "IN_" to some of the matching Field names and "USER_" to the original datas Field names... WHY? The Field names are named as they are for a reason, which is futile if ArcGIS Pro renames them anyway.. This does not happen when geocoding in ArcGIS Maps for Office or directly in ArcGIS Online.
In ArcMap the geocoding process adds "ARC_" to some of the matching Field names.
These functionalities should be remowed or at least made optional.
N.B. This Idea is posted on behalf of a customer!
@KoryKramer , I don't see that optional parameters input when geocoding against our in-house/custom locator.
But it does show up when I chose the ESRI World Geocoding service. If I was using the ESRI service, do any of those options remove the annoying "USER_" prefix? I personally don't mind all of the new field that geocoding adds (e.g., match type, match score, standardize addresses). When I append the geocoding output to an existing feature class that doesn't have those fields, they are automatically excluded. But having to rename all of the fields that start with USER_ ain't fun!
You could use a script to remove "USER_" from the field names:
fc= r'...\Default.gdb\TEST' # replace the file path
def remove_USER(fc_path):
import arcpy
fc= fc_path
# make a variable for fields
fields= arcpy.ListFields(fc)
# making a dictionary with field names and new field names
keys=[] # current field names
values=[] # new field names
# appending field names to the above two lists
for field in fields:
if field.name[0:5]=='USER_':
keys.append(field.name) # append old field names
split = field.name.split('USER_')
values.append(split[-1]) # append new field names without the 'USER_'
else:
continue
# creating the dictionary that will be used to rename fields
namesDict = {keys[i]:values[i] for i in range(len(keys))}
# for loop to rename all fields in the created lists
for f in namesDict:
try:
arcpy.AlterField_management(fc, f, namesDict[f])
except:
print('failed on',f) # will indicate which fields it failed on
remove_USER(fc)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.