I use this service as, I hope, the most up-to-date way of geocoding street names and addresses. It could use some improvement.
1. Documentation
The only documentation I can find that describes all the fields returned by this service is at:
Service output—ArcGIS REST API: World Geocoding Service | ArcGIS for Developers
This description does not correspond perfectly to the fields I see returned; i see some that are not documented (eg arc_*; I see some documented that I don't see returned eg resultid. Oh, and BTW, the documentation has a comment to the effect that the user cannot rely on the number and names. Really? You have a service and you are just going to change it at will and allow me, the user, to figure it out when my programs stop working?
2. Why in are there so many fields? Here is the list (names have been truncated to 10 characters as I used the table to table tool to download the data as a .csv so I could extract the field names, and that tool only allows 10 characters for a field name):
1: oid
2: loc_name
3: status
4: score
5: match_type
6: match_addr
7: longlabel
8: shortlabel
9: addr_type
10: type
11: placename
12: place_addr
13: phone
14: url
15: rank
16: addbldg
17: addnum
18: addnumfrom
19: addnumto
20: addrange
21: side
22: stpredir
23: stpretype
24: stname
25: sttype
26: stdir
27: bldgtype
28: bldgname
29: leveltype
30: levelname
31: unittype
32: unitname
33: subaddr
34: staddr
35: block
36: sector
37: nbrhd
38: district
39: city
40: metroarea
41: subregion
42: region
43: regionabbr
44: territory
45: zone
46: postal
47: postalext
48: country
49: langcode
50: distance
51: x
52: y
53: displayx
54: displayy
55: xmin
56: xmax
57: ymin
58: ymax
59: exinfo
60: arc_addres
61: arc_addr_1
62: arc_addr_2
63: arc_neighb
64: arc_city
65: arc_subreg
66: arc_region
67: arc_postal
68: arc_post_1
69: arc_countr
Yes, 69 fields! Most are empty in any data I receive and some seem to be duplicates of others. For instance what is the difference between arc_city and city?
3. Many of the fields have a width which seems almost to be a random number. And they are loooooong. Eg match_addr has a width of 500! The consequence of this is that I have to spend endless amounts of time scrolling to the right to see my own data which are the last handful appended to the list above.
4. The input I submit has, not surprisingly, a field named city. When I get the results the *#!@! service has renamed my field to be city_1. Why? Don't rename my fields. Rename yours.
5. If you use a feature class created by the WGS in joins you will get errors to the effect that a field name is a reserved word. So ESRI have selected a field name which is one of their own reserved words (I have made a post on this previously)
So: why is the documentation not correct? Why do you rename my fields? Why are there so many? Why can I not select only those fields I wish to see and save just those? Why are the field lengths so long?