Select to view content in your preferred language

Allow List Import for Field Domains in ArcGIS Online

11-07-2019 06:52 AM
Status: Open
by Anonymous User
Not applicable

Currently you can manually define a list of fields to restrict data values in ArcGIS Online.

You can even "Generate List" from the data in a field at a given time.

The problem is, you do not always have all data categories represented in a feature dataset when you want to set up a list (thus, Generate List only generates a subset of the attributes that you want in the list).

I would like to see a "List Import" option in ArcGIS Online Field List Configuration.


My organization is configuring a tree inspection application that requires a large picklist of scientific tree names in the app/attribute table. I would like the ability to upload a .csv file of domains similar to what I am able to do in other ESRI products such as Survey123 Connect.


ArcGIS Online has abysmal tools for managing domains of Hosted Services.
Generate list is useless for any real applications.
Manually adding each Coded Value and Description for large domain values is a torture method.
Overwriting a service that you customized any in AGOL will overwrite your data as well as undo all the work you did
UpdateDefinition in the REST admin will say it succeeds, but fails every time.

Why not allow schema edits from the service owner in Pro like any other enterprise database would allow?

The Table to Domain Geoprocessing tool should be able to handle this.


Apologies if this sounds harsh, but I've spent my day trying to update a domain because I need to change the descriptions for over 600 values to support a Field Map pick list.



In the past I have successfully updated large domain lists using the Update Definition. I used the method outlined in: Add coded value domains to a hosted feature service from a REST endpoint 

To create the codedValues list, first I needed to generate the json object (see screen shot), then manually copy and paste this into the web browser json object that defines the feature class. Very error prone if you miss a "[" or ":" which is not ideal.

"codedValues" : [
    "name" : "Abarema grandiflora", 
    "code" : "Abarema grandiflora"
    "name" : "Abarema hendersonii", 
    "code" : "Abarema hendersonii"
    "name" : "Abarema muelleriana", 
    "code" : "Abarema muelleriana"
    "name" : "Abarema sapindoides", 
    "code" : "Abarema sapindoides"
    "name" : "Abarema spp.", 
    "code" : "Abarema spp."


It would be much more easier to use a bulk import widget on the feature service in the List of Values (Domain) section. It could be similar to the screenshot below. 




Field Maps Designer has the capability to import a list from a .csv file. It's a bit of a long way around, but you can do it like this:

2. Manually add a domain through the ArcGIS Online Field List Configuration in your layer

1. Set up a web map and add the layer you want to add domains to in

3. Open the web map in Field Maps Designer and drag the field you added the first domain to into the form. Click on it within the form to select it.

4. Click the Manage List option on the right and drag and drop the .csv file containing your domains to add them in



I have a list that seems to grow, but I do want to use Domains. I am using 123connect (Which works well for sorting). But when I need to update my Table, it can be confusing to try and sort through previous lists to see what I need to add.

Using your method via FMD above, if I 'REPLACE' will the old data still associate with the coded value? I am including a picture of adding NEW, and am getting a warning for duplicates. The number of entries associated with both entries is the same, so I think it will work, just want to make sure I will not lose data.

Screenshot 2024-03-01 091834.png


That error is saying that you have those values in the list more than once. Scroll down and see if they show up again near the bottom. If so, remove the second version of them. 

One other note, it looks like you have your label and code columns switched. 

Last, did you mean you "do NOT want to use a domain"? 


I just want to be able to update and sort on the fly...


Totally agree with all of this. Having to enter values one by one is bad enough but the lack of an automatic way to sort them (or even drag them up more than one page at a time to manually alphabetize them) is the pits when you have hundreds of values.



This is a basic functionality all database system should provide: lists change over time. Why do we need to setup python scripts to do something that should be available out of the box? Sorry for the third party developers who offer this functionality as a "pro" option.