Currently, when you drag and drop a CSV or Text file into a web map in Portal or AGOL, the Portal attempts to geocode that file and display the records on the map - which is a fantastic feature.
However, what happens if the data in your file represents a Standard Geography like Blockgroups, Tracts, Counties, ZIPs, CBSAs, Congressional Districts, DMAs or US States? I'll tell you what happens - the Geocode returns the result as the centroid of each of those geographies. While that makes sense if you technically understand what's going on behind the scenes, in practice it's actually delivering a really poor user experience.
Let's use the example of U.S. States. I have a CSV or Text file that contains 50 records. Each record has let's say - 10 attributes. of those 10 attributes, one of those attributes is a field called 'NAME' or 'STATE' or 'ST' or 'STATE_ID'. When I drag this CSV or Text file onto a map in AGOL or Portal, Portal should analyze my file before sending it to the Geocode.
Specifically, it should:
- Assess whether or not I have the exact same number of records as a known standard geography, such as States - which would be 50 records. (Blockgroups: 217,740 records, Tracts: 73,057 records, Zips 43,000 records, Counties: 3,142 records...so on and so forth)
- Determine if each record is unique
- Determine if each record can be mapped to a single geography within that standard geography
If these conditions are met, ArcGIS Online should not send the dataset to the Geocoding Service as the user probably doesn't want centroids - the user wants to create a cloropleth (aka. color coded map). So what it should do instead is automagically join the data to the matching standard geography then pass it off to Smart Mapping to help the user classify and symbolize their data.